0% found this document useful (0 votes)
26 views247 pages

Boissonnat, Jean-Daniel - Chazal, Frédéric - Yvinec, Mariette - Geometric and Topological Inference-Cambridge University Press (2018)

Livro sobre homologia persistente

Uploaded by

emaildopavan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views247 pages

Boissonnat, Jean-Daniel - Chazal, Frédéric - Yvinec, Mariette - Geometric and Topological Inference-Cambridge University Press (2018)

Livro sobre homologia persistente

Uploaded by

emaildopavan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 247

Geometric and Topological Inference

Geometric and topological inference deals with the retrieval of information about a
geometric object using only a finite set of possibly noisy sample points. It has
connections to manifold learning and provides the mathematical and algorithmic
foundations of the rapidly evolving field of topological data analysis. Building on a
rigorous treatment of simplicial complexes and distance functions, this self-contained
book covers key aspects of the field, from data representation and combinatorial
questions to manifold reconstruction and persistent homology. It can serve as a
textbook for graduate students or researchers in mathematics, computer science and
engineering interested in a geometric approach to data science.

j e a n - d a n i e l b o i s s o n n a t is a Research Director at INRIA, France. His research


interests are in Computational Geometry and Topology. He has published several
books and more than 180 research papers, and is on the editorial board of the Journal
of the ACM and of Discrete and Computational Geometry. He received the IBM award
in Computer Science in 1987, the EADS award in Information Sciences in 2006 and
was awarded an advanced grant from the European Research Council in 2014. He has
taught at several universities in Paris and at the Collège de France.

f r é d é r i c c h a z a l is a Research Director at INRIA, France, where he is heading


the DataShape team, a pioneering and world leading group in computational geometry
and topological data analysis. His current primary research is on topological data
analysis and its connections with statistics and machine learning, and he has authored
several reference papers in this domain. He is an associate editor of four international
journals and he teaches topological data analysis in various universities and
engineering schools in the Paris area.
m a r i e t t e y v i n e c was a researcher at INRIA, France. She is a specialist in the
field of shape reconstruction and meshing, and taught master’s courses on the subject
in various universities in Paris. She coauthored a reference book on computational
geometry with Jean-Daniel Boissonnat, and played an active role in the design and
development of the software library CGAL.
Cambridge Texts in Applied Mathematics
All titles listed below can be obtained from good booksellers or from Cambridge
University Press. For a complete series listing, visit www.cambridge.org/mathematics.

Nonlinear Dispersive Waves


MARK J. ABLOWITZ
Flow, Deformation and Fracture
G. I. BARENBLATT
Hydrodynamic Instabilities
FRANÇOIS CHARRU
The Mathematics of Signal Processing
STEVEN B. DAMELIN & WILLARD MILLER JR.
Introduction to Magnetohydrodynamics (2nd Edition)
P. A. DAVIDSON

An Introduction to Stochastic Dynamics


JINQIAO DUAN

Singularities: Formation, Structure and Propagation


J. EGGERS & M. A. FONTELOS

A Physical Introduction to Suspension Dynamics


ÉLISABETH GUAZZELLI & JEFFREY F. MORRIS

Discrete Systems and Integrability


J. HIETARINTA, N. JOSHI, & F. W. NIJHOFF

An Introduction to Polynomial and Semi-Algebraic Optimization


JEAN BERNARD LASSERRE
An Introduction to Computational Stochastic PDEs
GABRIEL J. LORD, CATHERINE E. POWELL, & TONY SHARDLOW
Numerical Linear Algebra
HOLGER WENDLAND
Geometric and Topological Inference
JEAN-DANIEL BOISSONNAT, FRÉDÉRIC CHAZAL, & MARIETTE YVINEC
Geometric and Topological Inference

JEAN-DANIEL BOISSONNAT
INRIA Sophia Antipolis

F R É D É R I C C H A Z A L
INRIA Saclay – Ile-de-France

MARIETTE YVINEC
INRIA Sophia Antipolis
University Printing House, Cambridge CB2 8BS, United Kingdom
One Liberty Plaza, 20th Floor, New York, NY 10006, USA
477 Williamstown Road, Port Melbourne, VIC 3207, Australia
314–321, 3rd Floor, Plot 3, Splendor Forum, Jasola District Centre, New Delhi – 110025, India
79 Anson Road, #06–04/06, Singapore 079906

Cambridge University Press is part of the University of Cambridge.


It furthers the University’s mission by disseminating knowledge in the pursuit of
education, learning, and research at the highest international levels of excellence.

www.cambridge.org
Information on this title: www.cambridge.org/9781108419390
DOI: 10.1017/9781108297806
© Jean-Daniel Boissonnat, Frédéric Chazal and Mariette Yvinec 2018
This publication is in copyright. Subject to statutory exception
and to the provisions of relevant collective licensing agreements,
no reproduction of any part may take place without the written
permission of Cambridge University Press.
First published 2018
Printed in the United States of America by Sheridan Books, Inc.
A catalogue record for this publication is available from the British Library.
Library of Congress Cataloging-in-Publication Data
Names: Boissonnat, J.-D. (Jean-Daniel), 1953– author. | Chazal, Frédéric, 1971– author. |
Yvinec, Mariette, 1953– author.
Title: Geometric and topological inference / Jean-Daniel Boissonnat, INRIA
Sophia Antipolis, Frédéric Chazal, Inria Saclay – Ile-de-France,
Mariette Yvinec, INRIA Sophia Antipolis.
Description: New York, NY, USA : Cambridge University Press, 2018. |
Includes bibliographical references and index.
Identifiers: LCCN 2018015875 | ISBN 9781108419390 (Hardback) |
ISBN 9781108410892 (Paperback)
Subjects: LCSH: Shapes–Mathematical models. | Geometric analysis. |
Pattern perception. | Topology.
Classification: LCC QA491 .B5995 2018 | DDC 514/.2–dc23
LC record available at https://lccn.loc.gov/2018015875
ISBN 978-1-108-41939-0 Hardback
ISBN 978-1-108-41089-2 Paperback
Cambridge University Press has no responsibility for the persistence or accuracy
of URLs for external or third-party internet websites referred to in this publication
and does not guarantee that any content on such websites is, or will remain,
accurate or appropriate.
Contents

Introduction page viii

PART I TOPOLOGICAL PRELIMINARIES 1


1 Topological Spaces 3
1.1 Topological Spaces 3
1.2 Comparing Topological Spaces 5
1.3 Exercises 8
1.4 Bibliographical Notes 9
2 Simplicial Complexes 10
2.1 Geometric Simplicial Complexes 10
2.2 Abstract Simplicial Complexes 11
2.3 Nerve 13
2.4 Filtrations of Simplicial Complexes 14
2.5 Vietoris-Rips and Čech Filtrations 15
2.6 Combinatorial Manifolds Triangulations 16
2.7 Representation of Simplicial Complexes 17
2.8 Exercises 19
2.9 Bibliographical Notes 20

PART II DELAUNAY COMPLEXES 21


3 Convex Polytopes 23
3.1 Definitions 23
3.2 Duality 26
3.3 Combinatorial Bounds 29
3.4 Convex Hull Algorithms 31

v
vi Contents

3.5 Exercises 41
3.6 Bibliographical Notes 43
4 Delaunay Complexes 44
4.1 Lower Envelopes and Minimization Diagrams 44
4.2 Voronoi Diagrams 45
4.3 Delaunay Complexes 47
4.4 Weighted Delaunay Complexes 52
4.5 Examples of Weighted Voronoi Diagrams 57
4.6 Exercises 64
4.7 Bibliographical Notes 68
5 Good Triangulations 69
5.1 Nets 70
5.2 Thick Simplices 77
5.3 Thick Triangulations via Weighting 82
5.4 Protection 92
5.5 Exercises 95
5.6 Bibliographical Notes 96
6 Delaunay Filtrations 98
6.1 Alpha Complexes 99
6.2 Witness Complexes 104
6.3 Exercises 111
6.4 Bibliographical Notes 112

PART III RECONSTRUCTION OF SMOOTH


SUBMANIFOLDS 113
7 Triangulation of Submanifolds 115
7.1 Reach and ε-nets on Submanifolds 115
7.2 Projection Maps 120
7.3 Triangulation of Submanifolds 126
7.4 Exercises 134
7.5 Bibliographical Notes 136
8 Reconstruction of Submanifolds 137
8.1 Homotopy Reconstruction Using alpha-shapes 138
8.2 Tangential Delaunay Complex 142
8.3 Submanifold Reconstruction 149
8.4 Exercises 157
8.5 Bibliographical Notes 158
Contents vii

PART IV DISTANCE-BASED INFERENCE 161


9 Stability of Distance Functions 163
9.1 Distance Function and Hausdorff Distance 164
9.2 Critical Points of Distance Functions 165
9.3 Topology of the Offsets 167
9.4 Stability of Critical Points 169
9.5 The Critical Function of a Compact Set 172
9.6 Sampling Conditions and μ-reach 175
9.7 Offset Reconstruction 176
9.8 Exercises 177
9.9 Bibliographical Notes 179
10 Distance to Probability Measures 180
10.1 Extending the Sampling Theory for Compact Sets 180
10.2 Measures and the Wasserstein Distance W2 184
10.3 Distance Function to a Probability Measure 187
10.4 Applications to Geometric Inference 192
10.5 Exercises 195
10.6 Bibliographical Notes 196
11 Homology Inference 197
11.1 Simplicial Homology and Betti Numbers 197
11.2 An Algorithm to Compute Betti Numbers 201
11.3 Singular Homology and Topological Invariance 203
11.4 Betti Numbers Inference 204
11.5 Persistent Homology 208
11.6 Exercises 222
11.7 Bibliographical Notes 223

Bibliography 224
Index 231
Introduction

Motivation and goals. In many practical situations, geometric objects are


only known through a finite set of possibly noisy sample points. A natural
question is then to recover the geometry and the topology of the unknown
object from this information. The most classical example is probably surface
reconstruction, where the points are measured on the surface of a real-
world object. A perhaps more surprising example is the study of the large-
scale structure formed by the galaxies, which cosmologists believe to be an
interconnected network of walls and filaments. In other applications, the shape
of interest may be a low-dimensional object embedded in a higher-dimensional
space, which is the basic assumption in manifold learning [102]. This is for
example the case in time series analysis, when the shape of study is the attractor
of a dynamical system sampled by a sequence of observations. When these
structures are highly nonlinear and have a nontrivial topology, as is often the
case, simple dimensionality reduction techniques do not suffice and must be
complemented with more geometric and topological techniques.
A lot of research was done in this direction, originating from several
sources. A few contributions came from the field of computational geometry,
where much effort was undertaken to elaborate provably correct surface
reconstruction algorithms, under a suitable sampling condition. We refer to
[65] for a thorough review of this approach. However, most of this research
focused on the case of sampled smooth surfaces in R3 , which is by now fairly
well covered. Extending these results to higher-dimensional submanifolds and
to nonsmooth objects is one of the objectives of this book. Such an extension
requires new data structures to walk around the curse of dimensionality.
Handling more general geometric shapes also requires concepts from topology
and has provoked an interest in the subject of computational topology.
Computational topology has recently gained a lot of momentum and has been
very successful at providing qualitative invariants and efficient algorithms to

viii
Introduction ix

compute them. Its application to data analysis led to the rapidly evolving field
of topological data analysis that provides a general framework to analyze the
shape of data and has been applied to various types of data across many fields.

This book. This book intends to cover various aspects of geometric and
topological inference, from data representation and combinatorial questions
to persistent homology, an adaptation of homology to point cloud data. The
aim of this book is not to provide a comprehensive treatment of topological
data analysis, but to describe the mathematical and algorithmic foundations of
the subject.
Two main concepts will play a central role in this book: simplicial com-
plexes and distance functions. Simplicial complexes generalize the notion of
triangulation of a surface and are constructed by gluing together simplices:
points, line segments, triangles, and their higher-dimensional counterparts.
Simplicial complexes can be considered, at the same time, as continuous
objects carrying topological and geometric information and as combinatorial
data structures that can be efficiently implemented. Simplicial complexes can
be used to produce fine meshes leading to faithful approximations well suited
to scientific computing purposes, or much coarser approximations, still useful
to infer important features of shapes such as their homology or some local
geometric properties.
Simplicial complexes have been known and studied for a long time in
mathematics but only used in low dimensions due to their high complexity.
In this book, we will address the complexity issues by focusing on the
inherent, usually unknown, structure in the data which we assume to be of
relative low intrinsic dimension. We will put emphasis on output-sensitive
algorithms, introduce new simplicial complexes with low complexity, and
describe approximation algorithms that scale well with the dimension.
Another central concept in this book is the notion of distance function. All
the simplicial complexes used in this book encode proximity relationships
between the data points. A prominent role is taken by Voronoi diagrams, their
dual Delaunay complexes and variants of those, but other simplicial complexes
based on distances like the Čech, the Vietoris-Rips, or the witness complexes
will also be considered.
This book is divided into four parts.
Part I contains two chapters that present background material on topological
spaces and simplicial complexes.
Part II introduces Delaunay complexes and their variants. Since Delaunay
complexes are closely related to polytopes, the main combinatorial and
algorithmic properties of polytopes are presented first in Chapter 3.
x Introduction

Delaunay complexes, to be introduced in Chapter 4, are defined from


Voronoi diagrams, which are natural space partitions induced by the distance
function to a sample. Delaunay complexes appear as the underlying basic data
structure for manifold reconstruction. The extensions of Voronoi diagrams
and Delaunay complexes to weighted distances are also presented together
with their relevant applications to kth-nearest neighbor search and Bregman
divergences, which are used in information theory, image processing, and
statistical analysis.
Although Delaunay triangulations have many beautiful properties, their size
depends exponentially on the dimension of the space in the worst case. It is
thus important to exhibit realistic assumptions under which the complexity
of the Delaunay triangulation does not undergo such a bad behavior. This
will be done through the notion of nets. Another issue comes from the fact
that, in dimensions greater than 2, Delaunay simplices may have an arbitrarily
small volume, even if their vertices are well distributed. Avoiding such bad
simplices is a major issue and the importance of thick triangulations has
been recognized since the early days of differential topology. They play a
central role in numerical simulations to ensure the convergence of numerical
methods solving partial differential equations. They also play a central role
in the triangulation of manifolds and, in particular, the reconstruction of
submanifolds of high-dimensional spaces as shown in Chapter 8. Chapter 5
defines thick triangulations and introduces a random perturbation technique to
construct thick Delaunay triangulations in Euclidean space.
Chapter 6 introduces two filtrations of simplicial complexes. Filtrations are
nested sequences of subcomplexes that allow to compute persistent homology
as described in Chapter 11. We first introduce alpha-complexes and show
that they provide natural filtrations of Delaunay and weighted Delaunay
complexes. We then introduce witness complexes and their filtrations. The
witness complex is a weak version of the Delaunay complex that can be
constructed in general metric spaces using only pairwise distances between
the points, without a need for coordinates. We will also introduce a filtration
of the witness complex.
Part III is devoted to the problem of reconstructing a submanifold M of
Rd from a finite point sample P ∈ M. The ultimate goal is to compute a
triangulation of M, i.e., a simplicial complex that is homeomorphic to M.
This is a demanding quest and, in this part, we will restrict our attention to the
case where M is a smooth submanifold of Rd .
In Chapter 7, we introduce the basic concepts and results, and state a
theorem that provides conditions for a simplicial complex M̂ with vertex set
P ⊂ M to be both a triangulation and a good geometric approximation of M.
Introduction xi

Chapter 8 is devoted to the problem of reconstructing submanifolds from


point samples. This problem is of primary importance when M is a surface
of R3 (it is then known as the surface reconstruction problem). It also finds
applications in higher dimensions in the context of data analysis where data
are considered as points in some Euclidean space, of possibly high dimension.
In this chapter, we first exhibit conditions under which the alpha-complex
of P ⊂ M has the same homotopy type as M, a weaker property than
being homeomorphic to M. We then consider the problem of reconstructing a
smooth submanifold M embedded in a space of possibly high dimension d. We
then cannot afford to triangulate the ambient space as is being routinely done
when working in low dimensions. A way to walk around this difficulty is to
assume, as is common practice in data analysis and machine learning, that the
intrinsic dimension k of M is small, even if the dimension of the ambient space
may be very large. Chapter 8 takes advantage of this assumption and presents
a reconstruction algorithm whose complexity is linear in d and exponential
only in k.
The assumptions made in Part III are very demanding: the geometric
structures of the data should be smooth submanifolds, the amount of noise
in the data should be small and the sampling density should be high. These
assumptions may not be satisfied in practical situations. Part IV aims at
weakening the assumptions. Chapter 9 studies the stability properties of the
sublevel sets of distance functions and provide sampling conditions to infer
the underlying geometry and topology of data.
Approximations in Chapter 9 are with respect to the Hausdorff distance.
This is a too strong limitation when the data contain outliers that are far away
from the underlying structure we want to infer. To overcome this problem,
Chapter 10 introduces a new framework where data are no longer considered
as points but as distributions of mass or, more precisely probability measures.
It is shown that the distance function approach can be extended to this more
general framework.
Although Chapters 9 and 10 provide strong results on the topology of the
sublevel sets of distance functions, computing and manipulating such sublevel
sets is limited in practice to low dimensions. To go beyond these limitations,
we restrict our quest to the inference of some topological invariants of the
level sets, namely their homology and the associated Betti numbers. Chapter 11
introduces persistent homology and provides tools to robustly infer the homol-
ogy of sampled shapes.
Efficient implementations of most of the algorithms described in this book
can be found in the CGAL library (www.cgal.org/) or in the GUDHI library
(http://gudhi.gforge.inria.fr/).
xii Introduction

Acknowledgments. This book results from long-standing joint research


with several colleagues and collaborators and would not exist without their
continuous support and unfailing friendship. We are especially indebted to
David Cohen-Steiner, Ramsay Dyer, Vin de Silva, Arijit Ghosh, Marc Glisse,
Leonidas Guibas, André Lieutier, Quentin Mérigot, Steve Oudot, and Mathijs
Wintraecken who influenced this book in essential ways. This book also
includes results obtained together with Clément Maria, Olivier Devillers,
Kunal Dutta, and Frank Nielsen. We have been very lucky interacting with
them. The book originates from a course that the authors gave at MPRI (Master
Parisien de Recherche en Informatique). Many students and colleagues com-
mented on parts of this book. We are particularly grateful to Ramsay Dyer,
Arijit Ghosh, and Mathijs Wintraecken for helping shaping Part II, and to
Claire Brécheteau for kindly reading Part III and suggesting improvements.
We also thank Clément Maria, Mael Rouxel-Labbé, and Mathijs Wintraecken
for some of the figures.
The research leading to this book has been partially supported by the
Agence Nationale de la Recherche under the project TopData and by the
European Research Council under the Advanced Grant GUDHI (Geometric
Understanding in Higher Dimensions).
P AR T I

TOPOLOGICAL PRELIMINARIES
1
Topological Spaces

Basic mathematical notions useful in the rest of this book are given in this
chapter. For conciseness, the definitions and results are not always given in full.
They are restricted to the simplest version necessary to follow and understand
the results and proofs in this book.

1.1 Topological Spaces


This section lists a few basic notions and definitions from general topology.
Most of the topological objects encountered in this book are metric spaces
whose definition is also recalled.
Definition 1.1 (Topological space) A topology on a set X is a family O of
subsets of X that satisfies the three following conditions:
1. the empty set ∅ and X are elements of O,
2. any union of elements of O is an element of O,
3. any finite intersection of elements of O is an element of O.
The set X together with the family O, whose elements are called open sets, is
a topological space. A subset C of X is closed if its complement is an open set.
If Y ⊂ X is a subset of X, then the family OY = {O ∩ Y : O ∈ O} is a topology
on Y, called the induced topology.
Definition 1.2 (Closure, interior and boundary) Let S be a subset of a
topological space X. The closure S̄ of S is the smallest closed set containing S.
The interior S̊ of S is the largest open set contained in S. The boundary ∂S of
S is the set difference ∂S = S̄ \ S̊.

3
4 Topological Spaces

Definition 1.3 (Metric space) A metric (or distance) on a set X is a map


d : X × X → [0, +∞) such that:
1. for any x, y ∈ X, d(x, y) = d(y, x),
2. for any x, y ∈ X, d(x, y) = 0 if and only if x = y,
3. for any x, y, z ∈ X, d(x, z) ≤ d(x, y) + d(y, z).
The set X together with d is a metric space. The smallest topology containing
all the open balls B(x, r) = {y ∈ X : d(x, y) < r} is called the metric topology
on X induced by d.
Definition 1.4 (Continuous map) A map f : X → X between two
topological spaces X and X is continuous if and only if the pre-image
f −1 (O ) = {x ∈ X : f (x) ∈ O } of any open set O ⊂ X is an open set of X.
Equivalently, f is continuous if and only if the pre-image of any closed set in
X is a closed set in X.
Definition 1.5 (Compact space) A topological space X is a compact space
if any open cover of X admits a finite subcover, i.e. for any family {Ui }i∈I of
open sets such that X = ∪i∈I Ui there exists a finite subset J ⊆ I of the index
set I such that X = ∪j∈J Uj .
For metric spaces, compacity is characterized using sequences: a metric
space X is compact if and only if any sequence in X has a convergent
subsequence.
Definition 1.6 (Connected spaces) A topological space X is connected if it
is not the union of two disjoint open sets: if O1 , O2 are two disjoint open sets
such that X = O1 ∪ O2 then O1 = ∅ or O2 = ∅.
A topological space X is path-connected if for any x, y ∈ X there exists a
continuous map γ : [0, 1] → X such that γ (0) = x and γ (1) = y.
A path-connected space is always connected, but the reverse is not true in
general. See Exercise 1.1.

Euclidean spaces. The space Rd , d ≥ 1 and its subsets are examples of


particular interest. Throughout the book, for x = (x1 , · · · , xd ) ∈ Rd


d
x = xi2
i=1

denotes the Euclidean norm on Rd . It induces the Euclidean metric on Rd :


d(x, y) = x − y . The standard topology on Rd is the one induced by the
Euclidean metric.
1.2 Comparing Topological Spaces 5

A subset K ⊂ Rd (endowed with the topology induced from the Euclidean


one) is compact if and only if it is closed and bounded (Heine–Borel theorem).

1.2 Comparing Topological Spaces


There are many ways of measuring how close two objects are. We distinguish
between topological and geometric criteria.

1.2.1 Homeomorphism, Isotopy and Homotopy Equivalence


In topology, two topological spaces are considered to be the same when they
are homeomorphic.
Definition 1.7 (Homeomorphism) Two topological spaces X and Y are
homeomorphic if there exists a continuous bijective map h : X → Y such that
its inverse h−1 is also continuous. The map h is called a homeomorphism.
As an example, a circle and a simple closed polygonal curve are home-
omorphic. By contrast, a circle and a segment are not homeomorphic. See
Exercise 1.6.
The continuity of the inverse map in the definition is automatic in some
cases. If U is an open subset of Rd and f : U → Rd is an injective continuous
map, then V = f (U) is open and f is a homeomorphism between U and
V by Brower’s invariance of domain.1 The domain invariance theorem may
be generalized to manifolds: If M and N are topological k-manifolds without
boundary and f : U → N is an injective continuous map from an open subset
of M to N, then f is open and is an homeomorphism between U and f (U).
If X is homeomorphic to the standard unit ball of Rd , X is called a
topological ball.
The notions of compacity and connexity are preserved by homeomorphism.
See Exercise 1.4.
Let h be a map between two topological spaces X and Y. If h is a
homeomorphism onto its image, it is called an embedding of X in Y.
When the spaces X and Y are subspaces of Rd , the notion of isotopy is
stronger than the notion of homeomorphism to distinguish between spaces.
Definition 1.8 (Ambient isotopy) An ambient isotopy between X ⊂ Rd and
Y ⊂ Rd is a map F : Rd × [0, 1] → Rd such that F(., 0) is the identity map on
Rd , F(X, 1) = Y and for any t ∈ [0, 1], F is a homeomorphism of Rd .
1
See T. Tao’s blog https://terrytao.wordpress.com/2011/06/13/brouwers-fixed-point-and-
invariance-of-domain-theorems-and-hilberts-fifth-problem/
6 Topological Spaces

Figure 1.1 Two surfaces embedded in R3 homeomorphic to a torus that are not
isotopic.

Intuitively, the previous definition means that X can be continuously


deformed into Y without creating any self-intersection or topological changes.
The notion of isotopy is stronger than the notion of homeomorphism in the
sense that if X and Y are isotopic, then they are obviously homeomorphic.
Conversely, two subspaces of Rd that are homeomorphic may not be isotopic.
This is the case for a knotted and an unknotted torus embedded in R3 as
the ones in Figure 1.1. Note that, although intuitively obvious, proving that
these two surfaces are not isotopic is a nonobvious exercise that requires some
background in algebraic topology.
In general, deciding whether two spaces are homeomorphic is a very difficult
task. It is sometimes more convenient to work with a weaker notion of
equivalence between spaces called homotopy equivalence.
Given two topological spaces X and Y, two maps f0 , f1 : X → Y are
homotopic if there exists a continuous map H : [0, 1] × X → Y such that
for all x ∈ X, H(0, x) = f0 (x) and H(1, x) = f1 (x). Homotopy equivalence is
defined in the following way.
Definition 1.9 (Homotopy equivalence) Two topological spaces X and Y
have the same homotopy type (or are homotopy equivalent) if there exist two
continuous maps f : X → Y and g : Y → X such that g ◦ f is homotopic to the
identity map in X and f ◦ g is homotopic to the identity map in Y.
As an example, the unit ball in a Euclidean space and a point are homotopy
equivalent but not homeomorphic. A circle and an annulus are also homotopy
equivalent: see Figure 1.2 and Exercise 1.8.
Definition 1.10 (Contractible space) A contractible space is a space that has
the same homotopy type as a single point.
For example, a segment or more generally any ball in a Euclidean space Rd
is contractible: see Exercise 1.7.
1.2 Comparing Topological Spaces 7

Figure 1.2 An example of two maps that are homotopic (left) and examples of
spaces that are homotopy equivalent, but not homeomorphic (right).

It is often difficult to prove homotopy equivalence directly from the


definition. When Y is a subset of X, the following criterion is useful to prove
homotopy equivalence between X and Y.
Proposition 1.11 If Y ⊂ X and if there exists a continuous map H : [0, 1] ×
X → X such that:
1. ∀x ∈ X, H(0, x) = x,
2. ∀x ∈ X, H(1, x) ∈ Y,
3. ∀y ∈ Y, ∀t ∈ [0, 1], H(t, y) ∈ Y,
then X and Y are homotopy equivalent.
Definition 1.12 (Deformation retract) If, in Proposition 1.11, the last
property of H is replaced by the following stronger one

∀y ∈ Y, ∀t ∈ [0, 1], H(t, y) = y,

then H is called a deformation retract of X to Y.


A classical way to characterize and quantify topological properties and
features of spaces is to consider their topological invariants. These are
mathematical objects (numbers, groups, polynomials, . . . ) associated to each
topological space that have the property of being the same for homeomorphic
spaces. The homotopy type is clearly a topological invariant: two homeomor-
phic spaces are homotopy equivalent. The converse is false: for example, a
point and a segment are homotopy equivalent but are not homeomorphic. See
Exercise 1.7. Moreover, most of the topological invariants considered in the
sequel are indeed homotopy invariants, i.e. they are the same for spaces that
are homotopy equivalent.
8 Topological Spaces

1.2.2 Hausdorff Distance


The set of compact subsets of a metric space can be endowed with a metric,
called the Hausdorff distance, that allows to measure how two compact subsets
are from each other. We give the definition for compact subspaces of Rd here
but this immediately adapts to the compact subsets of any metric space.
Definition 1.13 (Offset) Given a compact set X of Rd , the tubular neighbor-
hood or offset X ε of X of radius ε, i.e., the set of all points at distance at most
ε from X:
 

X = y ∈ R : inf x − y ≤ ε} =
ε d
B̄(x, ε)
x∈X
x∈X

where B̄(x, ε) denotes the closed ball {y ∈ Rd : x − y ≤ ε}.


Definition 1.14 The Hausdorff distance dH (X, Y) between two closed subsets
X and Y of Rd is the infimum of the ε ≥ 0 such that X ⊂ Y ε and Y ⊂ X ε .
Equivalently,
 
dH (X, Y) = max sup( inf x − y ), sup(inf x − y ) .
y∈Y x∈X x∈X y∈Y

The Hausdorff distance defines a distance on the space of compact subsets


of Rd . See Exercise 1.10.

1.3 Exercises
Exercise 1.1 Let X be a path connected space. Show that X is connected.
Let X ⊂ R2 be the union of the vertical closed segment {0} × [−1, 1] and the
curve {(t, sin( 1t )) ∈ R2 : t ∈ (0, 1]}. Show that X is compact and connected but
not path-connected.
Exercise 1.2 Let S be a subset of a metric space X. Show that:
1. x ∈ X ∈ S̄ if and only if for any r > 0, B(x, r) ∩ S = ∅.
2. x ∈ X ∈ S̊ if and only if there exists r > 0 such that B(x, r) ⊂ S.
Exercise 1.3 Let X be a metric space. Given x ∈ X and r > 0, show that the
set B̄(x, r) = {y ∈ X : d(x, y) ≤ r} is a closed set which is indeed the closure
of the open ball B(x, r) = {y ∈ X : d(x, y) < r}.
Exercise 1.4 Let X, Y two homeomorphic topological spaces. Prove the
following equivalences:
1.4 Bibliographical Notes 9

1. X is compact if and only if Y is compact.


2. X is connected (resp. path-connected) if and only if Y is connected (resp.
path-connected).
Exercise 1.5 Show that the Euclidean space is not compact (without using
the Heine–Borel theorem).
Exercise 1.6 A continuous polygonal curve P ⊂ R2 with consecutive edges
e1 = [p1 , p2 ], e2 = [p2 , p3 ], . . . , en = [pn , pn+1 ] is simple and closed if and
only if ei ∩ ej = ∅ whenever 2 ≤ |i − j| mod (n), ei ∩ ei+1 = pi+1 for
i = 1, . . . , n − 1 and en ∩ e1 = p1 . Show that P is homeomorphic to a circle.
Show that a circle and a segment are not homeomorphic.
Exercise 1.7 Let X be a segment (i.e., a space homeomorphic to [0, 1])
and let Y be a point. Prove that X and Y are homotopy equivalent but not
homeomorphic. More generally prove that any ball in Rd is contractible.
Exercise 1.8 Let X be the unit circle in R2 and let Y ⊂ R2 be the annulus of
inner radius 1 and outer radius 2. Prove that X and Y are homotopy equivalent.
Exercise 1.9 Let X and Y be two topological spaces that are homotopy
equivalent. Show that if X is path-connected, then Y is also path-connected.
Exercise 1.10 Show that the Hausdorff distance is a distance on the space
of compact subsets of Rd . Show that this is no longer true if we extend the
definition to noncompact sets (give an example of two different sets that are at
distance 0 from each other).

1.4 Bibliographical Notes


All the ideas introduced in this chapter are classical but fundamental, and
presented with many details in the classical mathematical literature. For more
details about basic topology, the reader may refer to any standard book on
general topology such as, e.g. [111]. The geometry of metric spaces is a wide
subject in mathematics. The reader interested in the topics may have a look at
[30]. More details and results about the notions of homotopy and homotopy
equivalence can be found in [86, pp. 171–172] or [110, p. 108].
2
Simplicial Complexes

Geometric shapes like curves, surfaces or their generalization in higher dimen-


sions are “continuous” mathematical objects that cannot be directly encoded as
a finite discrete structure usable by computers or computing devices. It is thus
necessary to find representations of these shapes that are rich enough to capture
their geometric structure and to comply with the constraints inherent to the dis-
crete and finite nature of implementable data structures. By contrast, when the
only available data are point clouds sampled around unknown shapes, it is nec-
essary to be able to build some continuous space on top of the data that faith-
fully encode the topology and the geometry of the underlying shape. Simplicial
complexes offer a classical and flexible solution to overcome these difficulties.

2.1 Geometric Simplicial Complexes


The points of a finite set P = {p0 , p1 , · · · , pk } in Rd are said to be affinely
independent if they are not contained in any affine subspace of dimension less
than k.
Definition 2.1 (Simplex) Given a set P = {p0 , . . . , pk } ⊂ Rd of k + 1
affinely independent points, the k-dimensional simplex σ , or k-simplex for
short, spanned by P is the set of convex combinations

k 
k
λi pi , with λi = 1 and λi ≥ 0.
i=0 i=0
The points p0 , . . . , pk are called the vertices of σ .
Notice that σ is the convex hull of the points P, i.e., the smallest convex
subset of Rd containing p0 , p1 , · · · , pk . A 0-simplex is a point, a 1-simplex is a
line segment, a 2-simplex is a triangle, and a 3-simplex is a tetrahedron.
10
2.2 Abstract Simplicial Complexes 11

Figure 2.1 Left: an example of a simplicial complex. Right: a union of simplices


that is not a simplicial complex

The faces of the simplex σ whose vertex set is P are the simplices spanned
by the subsets of P. Any face different from σ is called a proper face of σ .
For example, the faces of a triangle spanned by three independent points
{p0 , p1 , p2 } ∈ Rd are the simplices ∅, [p0 ], [p1 ], [p0 , p1 ], [p1 , p2 ], [p2 , p0 ], and
[p0 , p1 , p2 ]. Observe that, by convention, ∅ is usually added to the faces as the
simplex spanned by the empty subset of the vertices.
Definition 2.2 (Simplicial complex) A (finite) simplicial complex K in Rd
is a (finite) collection of simplices such that:
1. any face of a simplex of K is a simplex of K,
2. the intersection of any two simplices of K is either empty or a common face
of both (see Figure 2.1).
All the simplicial complexes considered in this book are finite. The simplices
of K are called the faces of K. The dimension of K is the highest dimension of
its simplices. A complex of dimension k is also called a k-complex. A subset of
the simplices of K, which is itself a simplicial complex, is called a subcomplex
of K. The j-skeleton Skj (K) of K is the subcomplex of K consisting of the
simplices of dimension at most j.
For a simplicial complex K in Rd , its underlying space |K| ⊂ Rd is the
union of the simplices of K. The topology of K is the topology induced on |K|
by the standard topology in Rd . When there is no risk of confusion, we do not
clearly make the distinction between a complex in Rd and its underlying space.

2.2 Abstract Simplicial Complexes


Notice that when its vertex set is known, a simplicial complex in Rd is fully
characterized by the list of its simplices. This leads to the following notion.
12 Simplicial Complexes

Definition 2.3 (Abstract simplicial complex) Let V = {v1 , · · · vn } be a finite


set. An abstract simplicial complex K̃ with vertex set V is a set of finite subsets
of V satisfying the two conditions:
1. The elements of V belong to K̃.
2. If τ ∈ K̃ and σ ⊆ τ , then σ ∈ K̃.
The elements of K̃ are called the simplices or the faces of K̃. If σ ∈ K̃
has precisely k + 1 elements, the dimension of σ is k and we say that σ is a
k-simplex. The dimension of K̃ is the maximal dimension of its simplices.
Any simplicial complex K in Rd naturally determines an abstract simplicial
complex K̃, called the vertex scheme of K: K and K̃ have the same set of
vertices and the simplices of K̃ are the sets of vertices of the simplices of K.
Conversely, if an abstract complex K̃ is the vertex scheme of a complex K in
Rd , then K is called a geometric realization of K̃. Notice that any finite abstract
simplicial complex K̃ has a geometric realization in a Euclidean space in the
following way. Let {v1 , v2 , · · · , vn } be the vertex set of K̃ where n is the number
of vertices of K̃, and let σ ⊂ Rn be the simplex spanned by {e1 , e2 , · · · , en }
where, for any i = 1, · · · , n, ei is the vector whose coordinates are all 0 except
the ith one that is equal to 1. Then K is the subcomplex of σ defined by:
[ei0 , · · · , eik ] is a k-simplex of K if and only if [vi0 , · · · , vik ] is a simplex of K.
It can also be proven that any finite abstract simplicial complex of dimension
d can be realized as a simplicial complex in R2d+1 (Exercice 2.3).
Definition 2.4 (Isomorphism of abstract simplicial complexes) Two
abstract simplicial complexes K̃, K̃ with vertex sets V and V are isomorphic
if there exists a bijection φ : V → V such that {v0 , · · · vk } ∈ K̃ if and only if
{φ(v0 ), · · · φ(vk )} ∈ K̃ .
The relation of isomorphism between two abstract simplicial complexes
induces homeomorphism between their geometric realizations.
Proposition 2.5 If two simplicial complexes K, K are the geometric real-
izations of two isomorphic abstract simplicial complexes K̃, K̃ , then |K|
and |K | are homeomorphic topological spaces. In particular, the underlying
spaces of any two geometric realizations of an abstract simplicial complex are
homeomorphic.
In this book, we will often encounter abstract simplicial complexes whose
vertices are points in Rd . Let K̃ be an abstract complex with vertex set V ⊂ Rd .
If the convex hull of each k-simplex σ = {v0 , · · · , vk } ∈ K̃ is a geometric
k-simplex in Rd and if the collection of these simplices defines a simplical
complex K, then we say that K̃ naturally embeds in Rd and that K is the natural
2.3 Nerve 13

embedding of K̃. When there is no ambiguity, the same notation is used for
K̃ and K.
An important remark about terminology: As the underlying spaces of all
geometric realizations of an abstract simplicial complex are homeomorphic to
each other, it is usual to relate the topological properties of these underlying
spaces to the complex itself. For example, when one claims that an abstract
simplicial complex K is homeomorphic or homotopy equivalent to a topologi-
cal space X, it is meant that the underlying space of any geometric realization
of K is homeomorphic or homotopy equivalent to X.

2.3 Nerve
As noticed in previous the section, simplicial complexes can be seen at the
same time as topological spaces and as purely combinatorial objects.
Definition 2.6 (Covers) An open cover of a topological space X is a
collection U = (Ui )i∈I of open subsets Ui ⊆ X, i ∈ I where I is a set, such that
X = ∪i∈I Ui . Similarly, a closed cover of X is a collection of closed sets whose
union is X.
Definition 2.7 (Nerve) Given a cover of a topological space X, U = (Ui )i∈I
we associate an abstract simplicial complex C(U ) whose vertex set is U and
such that
σ = [Ui0 , Ui1 , · · · , Uik ] ∈ C(U ) if and only if ∩kj=0 Uij = ∅.
Such a simplicial complex is called the nerve of the cover U .
When all the sets Ui are open and all their finite intersections are con-
tractible, i.e., are homotopy equivalent to a point, the Nerve Theorem relates
the topology of X and C(U ).
Theorem 2.8 (Nerve Theorem) Let U = (Ui )i∈I be a finite open cover of
a subset X of Rd such that any intersection of the Ui ’s is either empty or
contractible. Then X and C(U ) are homotopy equivalent.
The nerve theorem also holds for closed covers under a slightly more
restrictive assumption on X. The following version is general enough for our
purpose.
Theorem 2.9 (Nerve Theorem for convex covers) Let X ⊂ Rd be a finite
union of closed convex sets F = (Fi )i∈I in Rd . Then X and C(F) are homotopy
equivalent.
14 Simplicial Complexes

A cover satisfying the assumptions of the Nerve Theorem is sometimes


called a good cover. The Nerve Theorem is of fundamental importance in
computational topology and geometric inference: it provides a way to encode
the homotopy type of continuous topological space X by a simplical complex
describing the intersection pattern of a good cover. In particular, when X is a
(finite) union of (closed or open) balls in Rd , it is homotopy equivalent to the
nerve of this union of balls.

2.4 Filtrations of Simplicial Complexes


Simplicial complexes often come with a specific ordering of their simplices
that plays a fundamental role in geometry inference.
Definition 2.10 A filtration of a finite simplicial complex K is a nested
sequence of sub-complexes ∅ = K 0 ⊂ K 1 ⊂ · · · ⊂ K m = K such that

K i+1 = K i ∪ σ i+1 where σ i+1 is a simplex of K.


Equivalently, a filtration of K can be seen as an ordering of the simplices
such that for any i ≥ 0, the collection of the first i simplices is a simplicial
complex. To ensure this later condition, it is sufficient to know that every
simplex σ i appears in the filtration after all its faces.
As a filtration of K is just an ordering of the simplices, in some cases, it
might be more natural to index the simplices by an increasing sequence (αi )mi=1
of real numbers: ∅ = K α0 ⊂ K α1 ⊂ · · · ⊂ K αm = K. In this case, it is often
convenient to extend the filtration to the whole set of real numbers by defining
i
K α = K α for α ∈ [αi , αi+1 ), K α = ∅ for α < α0 and K α = K for α ≥ K αm .
For example, when a function is defined on the vertices of K, on can define
a sublevel set filtration in the following way.

Filtration associated to a function defined on the vertices of a complex.


Let K be a simplicial complex and let f be a real valued function defined on
the vertices of K. For any simplex σ = {v0 , · · · vk } one defines f (σ ) by

f (σ ) = max f (vi )
i=0···k

Ordering the simplices of K according to the values of each simplex defines


a filtration of K. Note that different simplices can have the same value. In
this case, they are ordered according to increasing dimension and simplices of
the same dimension with same value can be ordered arbitrarily. The filtration
induced by f is the filtration by the sublevel sets f −1 (] − ∞; t]) of f .
2.5 Vietoris-Rips and Čech Filtrations 15

2.5 Vietoris-Rips and Čech Filtrations


Filtrations are often built on top of finite sets of points to reveal the underlying
topological structure of data (see Chapter 11). Let P ⊂ Rd be a (finite) set of
points.
Definition 2.11 Given α > 0, the Čech complex with vertex set P and
parameter α is the nerve Čech(P, α) of the unions of balls centered on P
with radius α. The simplices of Čech(P, α) are characterized by the following
condition:

k
{x0 , x1 , . . . , xk } ∈ Čech(P, α) ⇔ B(xi , α) = ∅.
i=0

As α goes from 0 to +∞, the nested sequence of complexes Čech(P, α) defines


the Čech complex filtration (see Figure 2.2, left).
Given a k-dimensional face σ of the simplex of dimension |P| − 1, the
smallest α such that σ ∈ Čech(P, α) is the radius of the smallest ball enclosing
the vertices of σ . As a consequence, the k-dimensional skeleton of the Čech
filtration can be computed by computing the O(|P|k ) minimum enclosing balls
of all the subsets of at most k points of P. Although the computation of the
minimum ball enclosing a set of k points can be done in time O(k) (see the
Bibliographic Notes), the computation of the whole Čech filtration quickly
becomes intractable in practice. Given α > 0, the computation of the k-
skeleton of Čech(P, α) can be done by first computing all the cliques of at
most (k + 1) vertices of the 1-skeleton of Čech(P, α) which is a graph, and
second by selecting the cliques whose minimum enclosing ball has its radius
upper bounded by α.
A simplicial complex that is closely related to the Čech filtration is the
Vietoris-Rips filtration, Rips(P) (see Figure 2.2, right).

α α

Figure 2.2 The Čech (left) and Vietoris-Rips (right) complexes built on top of a
finite set of points in R2 . Note that they both contain a 3-simplex and are thus not
embedded in R2 .
16 Simplicial Complexes

Definition 2.12 Given α > 0, the Vietoris-Rips complex Rips(P, α) with


vertext set P and parameter α is defined by the following condition

{x0 , x1 , · · · , xk } ∈ Rips(P, α) ⇔ xi − xj ≤ α for all i, j ∈ {0, . . . , k}.

As α goes from 0 to +∞, the nested sequence of complexes Rips(P, α) defines


the Vietoris-Rips filtration.
The Vietoris-Rips complex is much simpler to compute than the Čech
filtration as it just involves distance comparisons. The Vietoris-Rips complex
is the largest simplicial complex that has the same 1-skeleton as the Čech
complex. It is thus completely characterized by its 1-skeleton. The whole
k-dimensional skeleton of the Vietoris-Rips filtration can be computed by
computing the diameter of all the subsets of at most k points of P.
The Čech and the Vietoris-Rips filtrations are related by the following
interleaving property that plays a fundamental role (see also Chapter 11).
Lemma 2.13 Let P be a finite set of points in Rd . for any α ≥ 0,

Rips(P, α) ⊆ Čech(P, α) ⊆ Rips(P, 2α)


Proof If σ = {x0 , x1 , · · · , xk } ∈ Rips(P, α) then x0 ∈ ki=0 B(xi , α). So,
σ ∈ Čech(P, α). This proves the first inclusion.
Now, if σ = {x0 , x1 , · · · , xk } ∈ Čech(P, α), there exists y ∈ Rd such that
y ∈ ∩ki=0 B(xi , α), i.e. xi − y ≤ α for any i = 0, · · · k. As a consequence, for
all i, j ∈ {0, . . . , k}, xi − xj ≤ 2α and σ ∈ Rips(P, 2α).
Remark that the Čech and Vietoris-Rips filtrations can be defined for a set of
points in any metric space and that the above interleaving property still holds.
When the points P are in Rd , the interleaving of Lemma 2.13 is not tight and
can be slightly improved (see Exercise 11.3).

2.6 Combinatorial Manifolds Triangulations


Definition 2.14 (Star and link) Let K be a simplicial complex with vertex
set P. The star of p ∈ P is the set of simplices of K that have p as a vertex.
We denote it star(p, K). The link of p is the set of simplices τ ⊂ σ such that
σ ∈ star(p, K) but τ ∈ star(p, K). We denote it by link(p, K).
Observe that the star of a simplex is not a complex, whereas the link is. We
will use the name closed star of p in K to denote the subcomplex of K that
consists of the simplices of star(p, K) and their subfaces.
2.7 Representation of Simplicial Complexes 17

Definition 2.15 (Pure complex) A simplicial k-complex K is pure if every


simplex in K is the face of a k-simplex.
Definition 2.16 (Boundary complex) Let K be a pure simplicial k-complex.
The boundary of K, denoted ∂K is the (k − 1)-subcomplex of K whose (k − 1)-
simplices are the (k − 1)-simplices of K that are incident to only one face of
dimension k.
Definition 2.17 (Combinatorial manifold) A simplicial complex K is a
combinatorial k-manifold if
1. K is pure k complex
2. the link of any vertex of K \ ∂K is a triangulated (k − 1)-sphere
3. the link of any vertex of ∂K is a triangulated (k − 1)-ball.
We define the adjacency graph of a combinatorial k-manifold K as the graph
whose nodes are the k-simplices of K and two nodes are joined by an edge in
the graph if the two simplices associated to the two nodes have a (k − 1)-
simplex in common.
An example of a combinatorial manifold is the boundary complex of a
polytope (see Section 3.1).
Definition 2.18 (Triangulation of a point set) A triangulation of a finite
point set P ∈ Rd is a geometric simplicial complex K whose vertex set is P
and whose underlying space is the convex hull of P.
The triangulation of a finite point set P ∈ Rd is a combinatorial manifold
whose boundary is the boundary complex of the convex hull of P (see
Exercise 3.9).
Definition 2.19 (Triangulation of a topological space) A triangulation
of a topological space X is a simplicial complex K and a homeomorphism
h : |K| → X.

2.7 Representation of Simplicial Complexes


To represent a simplicial complex K, we need a data structure that represents
the simplices of the complex and is able to provide efficient implementations
of elementary operations such as face and coface retrieval, and maintainance
of the data structure upon elementary modifications of the complex, insertion
or removal of a new simplex. In addition, we may want to attach a filtration to
each simplex and iterate over the simplices of a filtered complex by increasing
18 Simplicial Complexes

values of filtration. We present several data structures to represent simplicial


complexes.
We say that two simplices σ and τ of a simplicial complex are incident if one
is included in the other. We say that σ and τ are adjacent if they are incident
and if their dimensions differ by exactly 1. The Hasse diagram of a simplicial
complex K is a graph whose nodes represent the simplices (of all dimensions)
and two nodes are joined by an arc if the associated simplices are adjacent.
The Hasse diagram provides an explicit representation of all the simplices
of K. If the dimension of the complex is considered as a constant, it is
easy to see that all elementary operations on K can be performed efficiently.
However the size of the Hasse diagram may be problematic in practice when
considering big complexes. A more compact data structure that still provides
an explicit representation of all the simplices of K is the so-called simplex
tree which is a minimal spanning tree of the Hasse diagram. The simplex tree
is constructed as a prefix tree of the simplices considered as words on the
alphabet v1 , . . . , vn where v1 , . . . , vn are the labels of the vertices of K (see
Figure 2.3 and Exercise 2.1).
Both the Hasse diagram and the simplex tree are convenient to store and
retrieve information attached to a simplex, e.g., a filtration value. Nevertheless,
in some applications, we may content ourselves with less expressive but
more compact representations. Instead of representing all simplices, one can
represent only the maximal ones, i.e., the simplices that have no coface in
the complex. This may lead to a dramatic saving in memory size as can be


4
{1} {2} {3} {4} {5}

1 3 {1, 2} {1, 3} {2, 3} {2, 4} {2, 5} {3, 4} {3, 5} {4, 5}

5 {1, 2, 3} {2, 3, 4} {2, 3, 5} {2, 4, 5} {3, 4, 5}


2
{2, 3, 4, 5}

4 10 1 2 3 4 5 6 7 8 9 10
8
3 6 23 345 45 5 79 89
1
5 3 45 5 5 9
2 9 7
5
Figure 2.3 A Hasse diagram and a Simplex Tree with their associated simplicial
complexes.
2.8 Exercises 19

seen from the following simple example: the complex consisting of a unique
simplex has one maximal simplex but 2d simplices in total.
Representating only the maximal simplices is especially well suited for
combinatorial manifold. A combinatorial manifold K can be represented by
its maximal simplices, together with the adjacency graph of those maximal
simplices. We will simply call this graph the adjacency graph of the combina-
torial manifold. When K is of dimension d, the adjacency graph of the maximal
simplices is a connected graph of degree d+1 that be efficiently traversed. Such
a graph will be used in Section 3.4 when constructing convex hulls.

2.8 Exercises
Exercise 2.1 A simplicial complex C is said to be (path-)connected if for any
pair of points (x, y) ∈ C there exists a continuous path γ : [0, 1] → C such
that γ (0) = x and γ (1) = y. Prove that a simplicial complex C is connected if
and only if its 1-skeleton is connected.
Exercise 2.2 Give examples of simplicial complexes in R3 that are homeo-
morphic to a ball, a sphere, and a torus.
Exercise 2.3 Prove that any abstract simplicial complex K of dimension
d can be realized as a geometric simplicial complex in R2d+1 . (Hint : map
the vertices of K to points on the moment curve C = {(x, x2 , . . . , x2d+1 ) ∈
R2d+1 , x ∈ R}. Show that any subset of 2d + 2 points on C are affinely
independent and that the image of K is a realization of K in R2d+1 . See also
Exercise 3.12.)
Exercise 2.1 (Simplex Tree) Let K be a d-simplicial complex whose vertices
are labelled 1, . . . , n. Each simplex is represented by a word that is the sorted
list of its labels. We then store all simplices of K as a prefix tree called
the simplex tree of K. The simplex tree is characterized by the following
properties:
1. The nodes of the simplex tree are in bijection with the simplices (of all
dimensions) of the complex. The root is associated to the empty face.
2. Each node of the tree, except the root, stores the label of a vertex.
Specifically, a node associated to a simplex σ stores the last label of σ .
3. The vertices whose labels are encountered along a path from the root to a
node associated to a simplex σ are the vertices of σ . Along such a path, the
labels are sorted by increasing order and each label appears no more than
once.
20 Simplicial Complexes

Show that the simplex tree of K is a spanning tree of the Hasse diagram of K.
Let σ be a i-simplex. Show that we can be decide whether σ is in K or insert
σ in K (assuming all its subfaces are in K) in time O(i log n). Show also how
to locate the faces and the cofaces of σ in the simplex tree and how to remove
σ from K.
Exercise 2.2 Show how to compute the Vietoris-Rips filtration of a set of
points P in some metric space using the simplex tree.

2.9 Bibliographical Notes


Our presentation of simplicial complexes follows the one in Munkres [109].
The nerve theorem and its variants are classical results in algebraic topology.
A proof is given in Hatcher [96, Section 4G].
The computation of the Čech filtration of a finite set of points relies on
the computation of minimum enclosing balls. Welzl has proposed an elegant
randomized algorithm of linear complexity to compute the minimal ball
enclosing a set of n points. The algorithm can be adapted to compute the
minimal enclosing ellipsoid [129]. The Vietoris-Rips filtration can be obtained
by computing the cliques in the 1-skeleton of the Vietoris-Rips complex. This
is an NP-complete problem but efficient solutions exist for sparse graphs [78].
The Vietoris-Rips filtration can be constructed and stored using a simplex tree,
a data structure proposed by Boissonnat and Maria [20]. The simplex tree is
implemented in the gudhi library [103]. More compact data structures can be
found in [5, 11].
The problem of deciding if two abstract complexes are homeomorphic is
undecidable Markov 1958. Deciding if a d-simplicial complex is a homeomor-
phic to a d-sphere is undecidable for d ≥ 5 [Novikov]. It is trivial for d = 2
and decidable for d = 3. The question remains open d = 4.
P A R T II

DELAUNAY COMPLEXES
3
Convex Polytopes

Convex polytopes and convex polyhedra are fundamental structures that play
an essential role in computational geometry, linear programming, optimisation
and many other fields. In this book, they also play a central role because of their
close relationship with Voronoi diagrams and Delaunay complexes, introduced
in Chapter 4 and used throughout the book. This chapter presents here the
combinatorial and algorithmic aspects of convex polyhedra to be used in the
following chapters. For a more complete treatment of the rich theory of convex
polytopes, the reader is referred to classical textbooks (see the Bibliographic
Notes).

3.1 Definitions
3.1.1 Convex Polytopes
Definition 3.1 A convex polytope in Rd is the convex hull of a finite set of
points. In this book, we only consider convex polytopes and the word polytope
is used as a synonym for convex polytope.
Hence, a convex polytope is a closed bounded subset of Rd . The dimension
of a convex polytope is the dimension of the affine subspace spanned by the
polytope. Simplices (see Section 2) are particular cases of polytopes.

3.1.2 Facial Structure of Polytopes


A hyperplane h of Rd is a subset of Rd defined by a linear equation:
h = {x ∈ Rd : h(x) = a · x + b = 0},

23
24 Convex Polytopes

where a ∈ Rd , b ∈ R. A hyperplane h divides Rd in two half-spaces:

h+ = {x ∈ Rd : h(x) = a · x + b ≥ 0}
h− = {x ∈ Rd : h(x) = a · x + b ≤ 0}

Note the half-spaces h+ and h− are defined as closed subsets, so that h, h+ and
h− do not form a partition of Rd but h, h+ \ h and h− \ h do.
Definition 3.2 A hyperplane h of Rd is a supporting hyperplane of the
polytope P iff the intersection P ∩ h is non empty and P is included in one of
the two half-spaces defined by h.
The intersection of P with a supporting hyperplane h is called a face of P.
Lemma 3.3 A face of a polytope is a polytope.
Proof Let P = {p1 , . . . , pn } be a finite set of points in Rd and let
P = conv(P) be the polytope which is the convex hull of P. Any face f of P
is the intersection of P with a supporting hyperplane h. We prove that the face
f = P ∩ h is the convex hull conv(P ∩ h) of the subset of points of P included
in h. The inclusion conv(P ∩ h) ⊂ f comes from the convexity of f . Indeed, f is
convex because it is the intersection of two convex sets. Furthermore f contains
P∩h, so it contains the convex hull conv(P∩h). To prove the reverse inclusion,
we assume without loss of generality that P ⊂ h+ . Then we have h(pi ) ≥ 0 for
any pi ∈ P. Any point p included in P is a convex combination p = ni=1 λi pi
of points in P. If furthermore p belongs to f , h(pi ) = ni=1 λi h(pi ) vanishes
and this can happen only if λi = 0 for all points pi that are not in h. Thus, if p
belongs f , it belongs to conv(P ∩ h).
The proof of the previous lemma, shows that the faces of the polytope P are
the convex hulls of subsets of P. A polytope has therefore a finite number of
faces. The boundary of the polytope P is the union of its faces. The faces of
dimension 0 are called vertices. The faces of dimension 1 are called edges. If P
has dimension d, the faces of dimension d − 1 and d − 2 are called respectively
facets and ridges.
The vertices of the polytope P = conv(P) are points of P. The following
lemma, whose proof is left as an exercise (Exercise 3.1) is a well-known result
of the theory of polytopes.
Lemma 3.4 Any polytope is the convex hull of its vertices.
The facial structure of a simplex can be easily described. Indeed, if σ is a
simplex that is the convex hull of the set S = {p1 , . . . , pk } of k + 1 independent
points, any subset of S is a set of independent points whose convex hull is a
3.1 Definitions 25

simplex and, except in the case of S itself, this simplex is a face of σ . Therefore,
k+1
a k-simplex has k + 1-vertices, and faces of dimension j, for j = 0
j+1
to k − 1.
Another fundamental result of the theory of polytopes is the following
lemma, whose proof is also left as an exercise (see Exercises 3.4 and 3.5).
Lemma 3.5 Any polytope is the intersection of a finite number of half-spaces.
Reciprocally, any intersection of a finite number of half-spaces that is bounded,
is a polytope.
Therefore, any polytope can be described either as the convex hull of a
finite set of points or as the intersection of a finite number of half-spaces.
More precisely, the proof of Lemma 3.5 shows that the minimal set of half-
spaces whose intersection is identical to the polytope P is the set of half-spaces
bounded by the hyperplanes supporting P along its facets and containing P.

3.1.3 Convex Polyhedra


In the sequel, we extend the notion of polytopes to describe unbounded
intersections of half-spaces as well as polytopes.
Definition 3.6 A convex polyhedron is the intersection of a finite number of
half-spaces.
A convex polyhedron may be bounded or not. From Lemma 3.5, a convex
polytope is just a special case of convex polyhedron. The notion of supporting
hyperplanes and faces introduced earlier for convex polytopes extend naturally
to convex polyhedra. The faces of a convex polyhedron are themselves convex
polyhedra and may be unbounded if the convex polyhedron is unbounded.

3.1.4 Simplicial Polytopes and Simple Convex Polyhedra


A point set P in Rd is said to be in general position when any subset of P with
size at most d + 1 is a set of affinely independent points. When the points of P
are in general position, any hyperplane h includes at most d points of P and the
points in P ∩ h are affinely independent. Therefore all the faces of the polytope
P = conv(P) are simplices and the polytope P is called a simplicial polytope.
A set of n hyperplanes in Rd is said to be in general position if the
intersection of any subset of k of them is an affine subspace of dimension d −k.
A convex polyhedron defined as the intersection of n half-spaces bounded by
hyperplanes in general position is called simple.
26 Convex Polytopes

3.1.5 The Boundary Complex


Let P be a convex polyhedron. Any face of a face of P is a face of P and the
intersection of two faces of P is either empty or a common face of both faces.
Therefore, if P is simplicial polytope, its faces form a geometric simplicial
complex (see Chapter 2). This complex is called the boundary complex of P.
It can be shown (see Exercise 3.9) that the boundary complex of a simplicial
polytope is a combinatorial manifold (see Definition 2.17).
If P is not a simplicial polytope, its faces may not be simplices. Still, they
are convex polyhedra and they form a cell complex as defined now.
Definition 3.7 (Cell complex) A cell complex is a set C of convex polyhedra,
called the faces of C, that satisfies the two following properties
– Any face of a face of C is a face of C.
– The intersection of any two faces of C is either empty or a common face of
both faces.
The cell complex formed by the faces of a convex polyhedron P is
still called the boundary complex of P. We adapt to cell complexes and
therefore to convex polyhedra the notions of incidency and adjacency defined
in Section 2.7:

• Two faces of a convex polyhedron are said to be incident if one is included


in the other.
• Two facets of a convex polyhedron are said to be adjacent if they share a
(d − 2)-subface.

3.2 Duality
3.2.1 Point-Hyperplane Duality
We introduce a duality between points and hyperplanes that makes use of the
unit paraboloid of Rd and gives a special role to the last coordinate axis, called
the vertical axis. We denote by x(i), i = 1, . . . , d, the coordinates of a point
x ∈ Rd .
The unit paraboloid Q is defined as:
 

d−1
Q = x ∈ Rd : x(d) = x(i)2 .
i=1

d−1
In the rest of this section, we write for short for i=1 .
3.2 Duality 27

Let p be a point of the paraboloid Q. The duality associates to point p the


hyperplane p∗ tangent to Q at p:

p∗ = {x ∈ Rd : x(d) = 2 p(i)(x(i) − p(i)) + p(d)


= {x ∈ R : x(d) − 2
d
p(i)x(i) + p(d) = 0}.

More generally, duality associates to any point p of Rd the non vertical


hyperplane p∗ defined by:

p∗ = {x ∈ Rd : x(d) − 2 p(i)x(i) + p(d) = 0}.

Conversely, let h be a nonvertical hyperplane of Rd . The equation of h can


be written in normal form:

h = {x ∈ Rd : x(d) + h(i)x(i) + h(d) = 0},

and duality associates to h the point h∗ with coordinates


−h(1) −h(d − 1)
,..., , h(d) .
2 2

Because p∗∗ = p, duality is an involutive bijection between points of Rd


and non vertical hyperplanes of Rd . Duality preserves incidences of points and
hyperplanes: if p and q are two points in Rd with dual hyperplanes p∗ and q∗
respectively, we have

q ∈ p∗ ⇐⇒ q(d) − 2 p(d)q(d) + p(d) = 0 ⇐⇒ p ∈ q∗ .

Let h be a nonvertical hyperplane whose equation in normal form is


h(x) = 0. We say that point p is above h or that h is below p if h(p) > 0. We say
that point p is below h or that h is above p if h(p) < 0. For a nonvertical hyper-
plane h, we call upper half-space and denote by h+ the half-space bounded by
h that is above h. We call lower half-space and denote by h− the half-space
below h:

h+ = {x ∈ Rd : h(x) > 0}
h− = {x ∈ Rd : h(x) < 0}.

Duality reverses the above–below relations between points and hyperplanes:


if p and q are two points in Rd with dual hyperplanes p∗ and q∗ respectively,
we have:

q ∈ p∗+ ⇐⇒ q(d) − 2 p(d)q(d) + p(d) > 0 ⇐⇒ p ∈ q∗+


∗−
q∈p ⇐⇒ q(d) − 2 p(d)q(d) + p(d) < 0 ⇐⇒ p ∈ q∗− .
28 Convex Polytopes

3.2.2 Lower Hulls and Upper Envelope


Let P = {p1 , . . . , pn } be a set of n points in Rd . The lower hull of P, denoted
by lowerhull(P), is a subcomplex of the boundary complex of the polytope
P = conv(P). Let H(P) be the set of hyperplanes supporting the polytope
P. We distinguish the subset H+ (P) of lower supporting hyperplanes where
a hyperplane h of H(P) is a lower supporting hyperplane if h is a nonvertical
hyperplane and P is included in the upper half-space h+ . The lower hull of
P is then defined as the subcomplex of the convex hull boundary, formed by
faces of P included in lower supporting hyperplanes:

lowerhull(P) = {P ∩ h : h ∈ H+ (P)}

Consider now a set H = {h1 , . . . , hn } of nonvertical hyperplanes in Rd , and


let H+ be the convex polyhedron, which is the intersection of the upper half-
spaces bounded by the hyperplanes of H:

H+ = h+ + +
1 ∩ h2 . . . ∩ hn .

The boundary complex of the convex polyhedron H+ is called the upper


envelope of the set of hyperplanes H.
Two complexes K and K ∗ (simplicial or cellular complexes) of dimension
d are said to be dual complexes if there is a bijective correspondence between
the faces of K and the faces of K ∗ such that

• the k-faces of K correspond to the (d − k)-faces of K
• the correspondence preserves incidences and reverses inclusion relations,
meaning that if if f ⊂ g are incident faces of K, the corresponding faces
f ∗ and g∗ of K ∗ are incident and such that g∗ ⊂ f ∗ .
Observe that the lower envelope of a set of points in Rd , and the upper
envelope of a set of hyperplanes are both (d − 1)-complexes. The duality
between points and hyperplanes of Rd introduced in Section 3.2.1 yields a
duality between the lower hull of a set of points and the upper envelope of the
set of dual hyperplanes.
Lemma 3.8 (Lower hull—upper enveloppe duality) Let P be a set of points
in Rd and let P∗ be the set of dual hyperplanes. The lower hull of P and the
upper envelope of P∗ are dual (d − 1)-complexes.
Proof We assume here for simplicity that the points of P are in general
position and leave the proof for the general case as an exercise (Exercise 3.10).
Let P = conv(P) be the convex hull of P and by P ∗+ be the convex
polyhedron which is the intersection of the upper half-spaces bounded by the
dual hyperplanes:
3.3 Combinatorial Bounds 29

P ∗+ = p∗+ ∗+ ∗+
1 ∩ p2 . . . ∩ pn .

Let f be a k-face of lowerhull(P). Face f is a k-face of the polytope P and, since


general position is assumed, f includes (k + 1)-vertices of P which are points
of P. Let us assume, without loss of generality, that {p1 , . . . , pk+1 } are included
in f . We consider a lower supporting hyperplane h that intersects P along f .
Hyperplane h includes {p1 , . . . , pk+1 } and, because it is a lower supporting
hyperplane, the other points of P are included in the upper half-space h+ . Let
h∗ be the point dual to h. Then, from the properties of the point hyperplane
duality introduced earlier, we get:

pi ∈ h+ ⇐⇒ h∗ ∈ p∗+
i , ∀i = 1, . . . , n (3.1)

pi ∈ h ⇐⇒ h∗ ∈ p∗i , ∀i = 1, . . . , k + 1 (3.2)

pi ∈ h ⇐⇒ h∗ ∈ p∗i , ∀i = k + 2, . . . , n (3.3)

Equations 3.1, 3.2 and 3.3 show that the point h∗ belongs to the (d −
1 − k)-face f ∗ of P ∗+ , which is the intersection of P ∗+ with the k + 1
hyperplanes {p∗i , i = 1, . . . k + 1}. Therefore, duality maps the k-face f =
conv({p1 , . . . , pk+1 }) of lowerhull(P) to the (d − 1 − k)-face f ∗ = p∗1 ∩ p∗2
∩ . . . ∩ p∗k+1 ∩ P ∗+ of P ∗+ .
In the other way, any (d − 1 − k)-face of P ∗+ is the intersection of
P ∗+ with k + 1 hyperplanes in P∗ (see Exercise 3.6). Let us consider a
(d − 1 − k)-face f ∗ of P ∗+ and say that f ∗ is the intersection of P ∗+ with
the k hyperplanes {p∗i , i = 1, . . . k + 1}. Equations 3.1, 3.2 and 3.3 show that
any point h∗ in f ∗ is the dual of a hyperplane h which supports P along the
face f = conv({p1 , . . . , pk+1 }). Moreover, h is a lower supporting hyperplane.
Therefore, duality maps back f ∗ to f and the correspondence is bijective.

3.3 Combinatorial Bounds


The following theorem bounds the total number of faces of a convex polyhe-
dron in Rd , which is known to have either n facets or n vertices. The theorem
is known as the upper bound theorem, although the bound is tight in the
worst case.
Theorem 3.9 (Upper Bound Theorem) The total number of faces of a
convex polyhedron in Rd , defined asthe intersection of n half-spaces or as
d
2
the convex hull of n points, is n .
30 Convex Polytopes

Proof We prove here the upper bound. The lower bound is the topic of
Exercise 3.12.
Let P be a convex polyhedron defined as the intersection of n half-spaces
of Rd . To prove the upper bound on the number of faces of P, we may
assume that the hyperplanes bounding the half-spaces defining P are in general
position. Indeed, otherwise, we can slightly perturb those hyperplanes to bring
then in general position. During this process, the number of faces of P can
only increase (see Exercise 3.11). Hence, any upper bound that is valid for
hyperplanes in general position holds for any set of hyperplanes. We also
assume that the polyhedron has at least one vertex. Indeed, otherwise the
number of bounding hyperplanes is at most d − 1 and the total number of
faces is at most 2d−1 . In addition, we may assume, without loss of generality,
that two vertices of P do not have the same xd coordinate.
We first bound the number of vertices of P and then extend this bound to
faces of any dimension. Let p be one of the vertices of P. Because general
position is assumed, p, as any other vertex of P, is included in exactly d of
the bounding hyperplanes. Therefore p is incident to exactly d facets and d
edges of P. Thus at least  d2  edges incident to p are included in either in the
half-space h+ : xd ≥ xd (p) or in the half-space h− : xd ≤ xd (p). Because
the bounding hyperplanes are in general position, P is simple and the affine
hull of any subset of k < d edges incident to a vertex of P contains a k-face
of P (Exercice 3.7). Therefore, each vertex p of P is a vertex with extremal
xd -coordinate for at least one face of dimension  d2 . Because any face has
at most one vertex of maximal xd coordinate and one vertex of minimal
xd -coordinate, the number of vertices of P is at most twice the number of
 d2 -faces of P.
From the general position assumption, a k-face of P is the intersection of
d − k of the bounding hyperplanes (see Exercise 3.6). We deduce that the
n d
number of k-faces is at most = O(nd−k ), which is O(n 2  ) for
d−k
k =  d2 . From this discussion, we conclude that the number of vertices of P
d
is O(n 2  ).
Let us bound now the number of k-faces for k > 0. The number of k-faces
d
incident to any vertex of P is , which is a constant for fixed d. Hence
d−k
d
the upper bound O(n 2  ) holds also for the number of faces of any dimension.
The duality introduced in Section 3.2 immediately implies that the same
upper bound holds for the lower hull of a set of n points and finally (by
symmetry) to the number of faces of a polytope defined as the convex hull
of n points.
3.4 Convex Hull Algorithms 31

3.4 Convex Hull Algorithms


We present here two algorithms to build the convex hull of a set of points
P. Both algorithms are incremental, meaning that they insert the points of
P one by one, while maintaining the convex hull of the currently subset of
inserted points. Convex hulls are represented by the Hasse diagram of their
boundary complexes (see Section 2.7). Incremental algorithms make also use
of the adjacency graph of convex hull facets which, as noticed in Section 2.7),
is encoded in the Hasse diagram. Both algorithms also work while maintaining
only the adjacency graph of the facets of the convex hull. To make the
description of the algorithms simple and to focus on the main ideas, we assume
here that the input set of points P is in general position. However this is not a
limitation of the presented convex hull algorithms.

3.4.1 An Incremental Algorithm


Assuming that points in P are added in the order p1 , p2 , . . . , pn , we denote by
Pi the subset of the first i-points. Before presenting the whole algorithm and its
analysis, we explain how the convex hull is updated when inserting point pi+1 .

From conv(Pi ) to conv(Pi+1 )


When point pi+1 is considered, the faces of conv(Pi ) may be classified in the
following way (see Figure 3.1):

• A facet f of conv(Pi ) is red if the hyperplane hf supporting conv(Pi ) along


f separates pi+1 from conv(Pi ) meaning that pi belongs to the open half-
space h+ f that does not intersect conv(Pi ). Otherwise, as general position
is assumed, pi is included in the half-space h− f whose closure contains
conv(Pi ), and the facet f is said to be blue.
• A k-face with k < d is said to be red if all its incident facets are red, blue
if all its incident facets are blue, and purple if it is incident to both red and
blue facets.
The incremental algorithm and its analysis relies on the three following
facts, all related to the transformation of conv(Pi ) into conv(Pi+1 ) when adding
point pi+1 .
1. The set of red facets induces a connected subgraph of the adjacency graph
of conv(Pi ).
2. The set of faces of conv(Pi+1 ) includes the blue and purple faces of
conv(Pi ) together with additional new faces which are all incident to pi+1 .
32 Convex Polytopes

pi+1

pi+1

Figure 3.1 Incremental convex hull algorithm. Top: d = 2. Bottom: d = 3.

pi+1

Figure 3.2 When adding point pi+1 , the set of purple facets of conv(Pi ) is
isomorphic to a (d − 1)-polytope with at most i vertices.

Each new face is formed by the convex hull conv(g ∪ pi+1 ) where g is a
purple face of conv(Pi ). See Figure 3.1.
3. The set of purple faces of conv(Pi ) with their incidence relation is isomor-
phic to the set of new faces of conv(Pi+1 ). Both sets are isomorphic to the
set of faces of a (d − 1)-polytope with at most i vertices.
Fact 1 and Fact 2 are illustrated in Figure 3.1. Fact 3 is illustrated in
Figure 3.2 showing that the purple faces of conv(Pi ) and the set of faces
of conv(Pi+1 ) incident to pi+1 are both isomorphic to the set of faces
3.4 Convex Hull Algorithms 33

of a (d − 1)-polytope obtained as the intersection of conv(Pi+1 ) with any


hyperplane h that separates conv(Pi ) from pi+1 .
In summary, updating conv(Pi ) to conv(Pi+1 ) requires to identify the red and
purple faces of conv(Pi ). The Hasse diagram of conv(Pi+1 ) is then obtained
form the Hasse diagram of conv(Pi ) by removing red faces of conv(Pi ) and
creating a new face conv(g∪pi+1 ) for each purple face g of conv(Pi ). Incidence
relations among new faces are deduced from incidence relations among purple
faces in conv(Pi ).

The Algorithm
The incremental convex hull algorithm is summarized in the pseudo-code of
Algorithm 1.

Algorithm 1: Incremental convex hull algorithm


Input: A set P of n points in Rd
Sort the points of P by lexicographic order of coordinates
Let p1 , p2 . . . pn be the points of P in lexicographic order
Let Pi be the subset of first i points
Build the Hasse diagram of conv(Pd+1 )
for i = d + 1 to i = n − 1 do
Find a red facet of conv(Pi ) {with respect to pi+1 }
Find all red and purple faces of conv(Pi )
Update the Hasse of conv(Pi ) into the Hasse diagram of conv(Pi+1 ).
Output: The Hasse diagram of the convex hull of P

The incremental algorithm sorts the points in P by lexicographic order of


their coordinates and insert them in that order. Let p1 , p2 , . . . pn be the sorted
sequence of points in P and let Pi be the subset of first i points.
The lexicographic ordering ensures that when point pi+1 is inserted, at least
one of the facet of conv(Pi ) incident to pi is red. Indeed, point pi+1 is separated
from conv(Pi ) by a hyperplane h through pi . Let h+ be the half-space bounded
by h that does not contain conv(Pi ). Let, in addition, H denote the set of hyper-
planes that are the affine hulls of the facets of conv(Pi ) incident to pi . Write
H + for the union of the half-spaces not containing conv(Pi ) that are bounded
by the hyperplanes in H. Since h+ is included in H + , pi+1 is separated from
conv(Pi ) by at least one of the hyperplanes of H. Thus to find a first red facet,
the algorithm walks in the adjacency graph of the facets of conv(Pi ), visiting
only facets of conv(Pi ) that are incident to pi , until a red facet is encountered.
Then to find all red and purple faces, the algorithm traverses the adjacency
graph visiting all red facets of conv(Pi ) and, from each read facet, it traverses
34 Convex Polytopes

the Hasse diagram to identify all red and purple faces of conv(Pi ). The Hasse
diagram is then updated as explained in the previous paragraph.

Complexity Analysis
Theorem 3.10 The incremental convex hull  algorithm computes the convex
 d+1 
hull of n points in R in
d n log n + n 2
time.

Proof First notice that the only numerical predicates involved in Algorithm
1 are the orientation predicates called to decide if a facet of conv(Pi ) is red or
blue when inserting point pi+1 . The orientation predicate amounts to evaluate
the sign of a (d + 1) × (d + 1) determinant (see Exercise 3.16).
To find the first red facet, the algorithm visits only facets of conv(Pi ) incident
to the last inserted point pi . Therefore, each facet will be visited only once for
this purpose during the whole algorithm.
Identifying red and purple faces is also clearly proportional to the number of
these faces. As a red face disappears from the convex hull, each face is visited
only once as a red face, and the cost of visiting a purple face g can be charged
on the new face conv(g ∪ pi+1 ).
Updating the Hasse diagram has a complexity proportional to the number
of new and removed faces that are, respectively, the number of purple and red
faces of conv(Pi ).
In summary, the cost of step i+1 where point pi+1 is inserted is proportional
to the number of new and removed faces. Because a face is created only once
and removed at most once, the total cost of the incremental algorithm, except
for the initial sorting of the points, is proportional to the total number of created
faces.
From Fact 3 and the upper bound theorem (Theorem 3.9), the number of
 d−1  
faces created when inserting pi+1 is O i 2 and the total cost of updating
the Hasse diagram is:

   

n−1 d−1 d+1
O i 2
=O n 2
.
i=d+1

Taking into account the initial sorting of the points according to the lexico-
graphic order, the complexity of the incremental algorithm is:
 
d+1
O n log n + n 2
= O(n log n) if d = 2
 d+1  
=O n 2 if d > 2
3.4 Convex Hull Algorithms 35
 
d+1
Furthermore, the complexity bound O n log n + n 2
is tight for any
incremental convex hull algorithm. See Exercise 3.14 for examples of points
 d+1  
where the incremental convex hull requires n 2 times.
 
d
2
The upper bound theorem gives a lower bound of n for computing
the convex hull of n points inRd .
Moreover, (n log n) is also a lower bound of complexity for computing
the convex hull of n points because it is known that sorting n number
reduces in linear time to the computation of the convex hull of n points (See
Exercise 3.15).
We deduce that computing the convex
 hull of n points in Rd has a complexity
 d 
which is at least n log n + n 2 . The incremental algorithm is therefore
worst-case optimal in even dimensions. However, it is not optimal in odd
dimensions.

3.4.2 A Randomized Algorithm


The Algorithm
The randomized incremental algorithm is quite similar to the above incre-
mental algorithm: points are inserted one by one in the convex hull. At each
insertion the set of red and purple faces of the current hull are identified and
the convex hull is updated accordingly. The main difference with respect to
the incremental algorithm of Section 3.4.1 is that the points are no longer
introduced in lexicographic order but in random order. We will show that the
expected complexity of the random algorithm matches the lower complexity
bound for convex hull computation. Expectation here concerns only the
random insertion order and assumes that, for an input set of n points, all the n!
possible insertion sequences occur with the same probability.
In the following, points in P are assumed to be indexed according to their
insertion order. We denote by Pi = {p1 , . . . , pi } the subset formed by the i
first inserted points. As in the deterministic algorithm presented before, the
randomized algorithm has to find a first red facet. However, we cannot rely
now on the lexicographic order of the input points and restrict our attention to
the faces incident to the lastly inserted point. To walk around this issue, we
will use an additional data structure called the conflict graph.
A facet f of the current convex hull conv(Pi ) is said to be in conflict with
the not yet inserted point pj with j > i iff the hyperplane hf supporting
36 Convex Polytopes

conv(Pi ) along f separates pj from conv(Pi ). The conflict graph maintained


by the algorithm is a bipartite graph including for each not yet inserted point
pj an edge between this point and a facet of the current hull in conflict with
pj . Note that when a new point pi+1 is inserted, the current hull is conv(Pi )
and the facets of conv(Pi ) in conflict with pi+1 are precisely the red facets
of conv(Pi ). Therefore, when inserting point pi+1 , the conflict edge incident
to pi+1 gives in constant time access to a red facet of conv(Pi ). Then the
algorithm finds all the red and purple faces of conv(Pi ) and updates the Hasse
diagram of the convex hull exactly as in the deterministic algorithm. The only
difference is that now, after each insertion, the algorithm needs, in addition, to
update the conflict graph. Before explaining how this is done, we summarize
the randomized algorithm as Algorithm 2.

Algorithm 2: Randomized convex hull algorithm


Input: A set P of n points in Rd
Choose randomly a subset Pd+1 of d + 1 points in P
Build the Hasse diagram of conv(Pd+1 )
Initialize the conflict graph
for i = d + 1 to i = n − 1 do
Choose randomly pi+1 ∈ P \ Pi
Pi+1 = Pi ∪ {pi+1 }
Follow the conflict edge of pi+1 to find a first red facet
Find all red and purple faces of conv(Pi )
Update the Hasse and compute the Hasse diagram of conv(Pi+1 ).
Update the conflict graph
Output: The Hasse diagram of the convex hull of P

Updating the Conflict Graph


The algorithm needs to restore conflict edges between the facets of conv(Pi+1 )
and the points of P \ Pi+1 . Nothing needs to be done for the points of P \ Pi+1
that were previously in conflict with a blue facet of conv(Pi ) because such
a facet is still a facet of conv(Pi+1 ). Let pj be a point of P \ Pi+1 that was
previously in conflict with a red facet fj of conv(Pi ). We need to find a facet of
conv(Pi+1 ) in conflict with pj . Let R denote the set of red facets of conv(Pi )
and let Rj denote the set of facets of conv(Pi ) in conflict with pj . As noted
previously, the set R induces a connected subgraph of the adjacency graph of
conv(Pi ). The same is true for Rj and for the subset Fj = R ∩ Rj of red facets
in conflict with pj . Note that the boundary of Fj includes red ridges which are
3.4 Convex Hull Algorithms 37

pi+1 pi+1

pj

o o

pi+1 pi+1

pj
o o

pj
Figure 3.3 Randomized construction of the convex hull: updating the conflicting
graph. The up left picture show the set of red facets when inserting pi+1 , the three
other pictures show, in three different cases, the set of facets of conv(Pi ) in conflict
with pi+1 and pj . In upper right picture, pj is internal to conv(Pi+1 ), in lower left
picture, case 1 and case 2 both occur, in lower right picture only case 2 occurs.

on the boundary of Rj but not on the boundary of R and purple ridges which
are on the boundary of R. See Figure 3.3 for an illustration in R2 .
To find a facet of conv(Pi+1 ) in conflict with pj , the algorithm starts at fj ,
the facet that was in conflict with pj before the insertion of pi+1 , and walk on
the adjacency graph of conv(Pi ), visiting the facets of Fj . At each purple ridge
h encountered on the boundary of Fj , the algorithm checks if one of the two
following cases occurs:

Case 1: the blue facet g of conv(Pi ) incident on h is in conflict with pi+1 ,


Case 2: the new facet f = conv(h, pi+1 ) of conv(Pi+1 ), is in conflict with
pi+1 .
38 Convex Polytopes

In both cases, a facet of conv(Pi+1 ) in conflict with pi+1 has been found and
the walk stops. If the walk traverses all facets of Fj without encountering one
of the above two cases, pj lies inside conv(Pi+1 ) and can be discarded. See
Figure 3.3.

Analysis of the Randomized Algorithm


We insist that the randomized algorithm presented here always computes the
actual convex hull of the set of input points. The random choices performed
by the algorithm concern only the order in which the points are inserted and
the performances of the algorithm. The analysis here will bound the expected
complexity of the algorithm assuming that all insertion sequences occur with
the same probability.
Theorem 3.11 The randomized incremental algorithm  computes the convex
 d 
hull of n points in R in expected time O n log n + n
d 2
.

Before we give the proof of the theorem, we recall an important result of


Clarkson and Shor [59], known as the random sampling theorem.
The random sampling theorem. We call configuration a subset of d inde-
pendent points in Rd . A configuration σ is said to be defined on a set of points
P if the points in σ belong to P. Let us choose as the origin a point o in conv(P).
A configuration is said to be in conflict with a point p if the hyperplane which
is the affine hull of σ separates o from p. A configuration is said to have j
conflicts on P if it is in conflict with j points of P. We denote by C(P) the
set of configurations defined on P and by Cj (P) (resp. C≤k (P)), the set of
configurations defined on P and with j conflicts (resp. at most k conflicts) on P.
In the following, we consider random samples S of P and we denote by
0 (s, P) the expected number of configurations defined on S and without
conflict on S, where S is a random sample of size s of P.
Theorem 3.12 (The random
 sampling theorem) Let P be a set of n points.
The number C≤k (P) of configurations defined on P and with at most k-
conflicts on P is bounded as follows:
    
C≤k (P) ≤ 4(d + 1)d kd 0 n , P . (3.4)
k
In our context, a configuration that is defined on P and without conflict
on P, is just the vertex set of a facet of conv(P) so that there is a bijection
between C0 (P) and the facets of conv(P). We then deduce from the upper
bound theorem (Theorem 3.9) that the number of configurations defined and
 d 
without conflict on a sample of size s of P is at most O s 2 . Therefore:
3.4 Convex Hull Algorithms 39
 d 
0 (s, P) = O s
2
. (3.5)

Plugging Equation 3.5 into Equation 3.4, we get that for any set P of n points
the number of configurations defined and with at most k conflicts over P is
at most:
    d  d 
C≤k (P) = O k 2 n 2 . (3.6)

Proof of Theorem 3.11. We can now analyze the cost of updating the Hasse
diagram of the convex hull and the cost of maintaining the conflict graph.

Cost of updating the Hasse diagram. As in the case of the incremental


algorithm, the cost of updating the Hasse diagram is proportional to the total
number of convex hull facets that are created by the algorithm.
Let us bound the expected number n(i + 1) of facets that are created at Step
i + 1 when point pi+1 is inserted. Because the algorithm inserts the points of P
in random order, Pi+1 is a random subset of P of size i + 1. Notice that a facet
created at step i + 1 corresponds to a configuration of C0 (Pi+1 ). Given Pi+1 ,
a configuration σ of C0 (Pi+1 ) corresponds to a facet created at step i + 1 iff
one of the points in this configuration is the point pi+1 inserted at step i, which
d
happens with probability i+1 . Thus, we have
 d
n(i + 1) = proba (σ ∈ C0 (Pi+1 )) ×
i+1
σ ∈C(P)
d
= 0 (i + 1, P)
i+1
  
d
2 −1
= O (i + 1) .

By summing over all steps i and using linearity of expectation, we bound


the expected total number of facets created by the algorithm and therefore the
expected cost of updating the Hasse diagram by:
 

n d
n(i) = O n 2
. (3.7)
i

Cost of updating the conflict graph. We now bound the cost of updating
the conflict graph. As explained earlier, when inserting pi+1 at step i + 1, the
algorithm has to restore a conflict edge for each point pj with j > i + 1. This
is done by traversing the incidence graph of conv(Pi ), visiting the facets in
conflict with both pi+1 and pj . The cost of this procedure is proportional to the
number of visited facets, which we analyze now.
40 Convex Polytopes

For any pj ∈ P \ Pi+1 , the subset S = Pi+1 ∪ {pj } is a random sample of


P of size i + 2. The facets visited to restore the conflict for pj at step i + 1
correspond to configurations in C2 (S). Assume that a subset S of P of size i + 2
is given and that S = Pi+1 ∪ {pj }. Then, any configuration σ in C2 (S) is a facet
of conv(Pi ) in conflict with pi+1 and pj iff pi+1 and pj are the two elements of
2
S in conflict with σ , which happens with probability (i+1)(i+2) . Given S, the
expected number n(i + 1, j, S) of facets visited to restore the conflict for pj at
step i + 1 is

 2
n(i + 1, j, S) = proba (σ ∈ C2 (S)) ×
(i + 1)(i + 2)
σ ∈C(P)
2  
≤ C≤2 (S) .
(i + 1)(i + 2)

Then, using Equation 3.6,

  
d
−2
n(i + 1, j, S) ≤ O (i + 1) 2
.

Because this is true for any subset S of P of size i + 2, we get that the expected
number n(i + 1, j) of facets visited to restore a conflict edge for pj at step i + 1
 
 d
−2
is also O (i + 1) 2 . Then, the expected total cost for updating the conflict
graph is

    

n 
n 
n d
−2 d
n(i, j) = (n − i)O i 2
= O n log n + n 2
. (3.8)
i=1 j=i+1 i=1

At each insertion, finding a first red facet takes constant time using the con-
flict graph. Finding all the red and purple faces then takes a time proportional
to the number of red and purple faces and the total cost of this operation
is thus also given by Equation 3.7. In summary, the expected combinatorial
complexity of the randomized incremental construction of the convex hull is
given by Equations 3.7 and 3.8, which achieves the proof of Theorem 3.11. 
The randomized version of the incremental construction of a convex hull
has therefore an expected complexity which is better than the complexity of
the deterministic incremental construction. Because this expected complexity
matches the complexity of the convex hull, the randomized incremental
construction of a convex hull is optimal.
3.5 Exercises 41

3.5 Exercises
Exercise 3.1 Show that a convex polytope P is the convex hull ot its vertices.
Hint: One of the inclusion is trivial. To prove the other one, consider the
minimal subset P ⊆ P such that P = conv(P) = conv(P ) and prove that
each point in P is a vertex of P.
Exercise 3.2 Show that the intersection of any finite set of faces of a polytope
is also a face of the polytope.
Exercise 3.3 Show that any face of a convex polytope P is the intersection
of facets of P.
Show that a (d − 2)-face of a polytope P is the intersection of two facets of P.
Exercise 3.4 Let P be a convex polytope and let H be the set of hyperplanes
that support P along its facets. To each hyperplane h ∈ H, we associate the
half-space h+ bounded by h that contains P. Show that P = ∩h∈H h+ .
Exercise 3.5 (Polytopes and intersection of half-spaces) Show that, if it is
bounded, the intersection of a finite set of half-spaces is a polytope.
Exercise 3.6 (Faces of a convex polyhedron) Let H be a set of n hyperplanes
h1 , . . . , hn and P be the polyhedron defined as the intersection of the n half-
spaces h+ + +
1 , . . . , hn where hi is the half-space bounded by hi that contains a
given point o. Let I be any subset of the indices 1, . . . , n and Fl = ∩i∈I hi .
Show that, if it is nonempty, the intersection and P ∩ Fl is a face of P and
that all the faces of P can be obtained this way, i.e., as the intersection with P
of the hyperplanes of a subset of H. Show, in addition, that, if H is in general
position, P ∩ Fl is a face of dimension d − k if |I| = k.
Exercise 3.7 (Faces of a simple convex polyhedron) Prove that if P is a
simple convex polyhedron and p is a vertex of P, the affine hull of any subset
of k < d edges incident to p contains a face of P of dimension d − k. Hint: Use
Exercise 3.2 and duality.
Exercise 3.8 (General position and duality) Show that n hyperplanes are in
general position iff their dual points are in general position.
Exercise 3.9 Show that the boundary complex of a polytope is a combinato-
rial manifold.
Hint: Let p be a vertex of the d-polytope P. We show that the link of p in the
boundary complex of P is a (d−2)-topological sphere. Indeed, any hyperplane
h that separates p from the other vertices of P (see Figure 3.2) intersects P
42 Convex Polytopes

along a polytope of dimension (d − 1) whose boundary complex is isomorphic


to the link of p in the boundary complex of P.
Exercise 3.10 Prove Lemma 3.8 in the general case.
Hint: Proves that if k points in Rd span an affine hull of dimension k < k ,
their dual hyperplanes intersect along a (k − d)-dimensional affine space.
Exercise 3.11 Let P be a convex polyhedron. Prove that perturbing the
hyperplanes bounding the half-spaces that define P can only increase the
number of faces of P.
Exercise 3.12 (Cyclic polytopes) A cyclic polytope is a polytope in Rd that
is the convex hull of points lying on the moment curve Md defined by the
parametric representation
Md = {x(t, t2 , . . . td ), t ∈ R}
n
Show that a cyclic polytope of Rd with n vertices has (k − 1)-faces for
k
any k such that 0 ≤ k ≤ d/2.
Exercise 3.13 (Polarity) Polarity has been introduced with the paraboloid
Q. A sphere could have been used instead as shown in this exercise. Let o be a
point of Rd . Polarity associates to any point p of Rd distinct of o the hyperplane
p∗ = {x : (x − o) · (p − o) = 1}. Show that polarity is a bijection between
points of Rd distinct de o and hyperplanes not passing through o. Let P be a
set of point of Rd whose convex hull includes o. Show that polarity induces
a duality between the boundary complex of the polytope (P) = conv(P) and
the boundary complex of the polytope (P∗+ ) = p∈P p∗+ where p∗+ is the
half-space bounded by p∗ not containing o.
Exercise 3.14 (Lower bound for incremental convex hull computation)
Show that any incremental
 algorithm that constructs the convex hull of n points
d+1
of Rd takes (n 2
) time in the worst-case.
Hint: Take the points on the moment curve Md (see Exercise 3.12) and insert
them by increasing values of their first coordinate.
Exercise 3.15 (Lower bound for convex hull computation) Show that
sorting n number reduces in linear time to the computation of the convex hull
of n points in R2 .
Hint: Take n real numbers x1 , . . . , xn . We associate to each xi the point pi =
(xi , xi2 ) on the unit parabola. If we know the convex hull of the pi , we can
deduce in linear time the list of the xi sorted by increasing values.
3.6 Bibliographical Notes 43

Exercise 3.16 (Orientation predicate) Show that the numerical operation


required to decide if a facet f = {pi1 , . . . , pid } of conv(Pi ) is red or blue when
inserting point pi+1 amounts to evaluate the sign of a (d + 1) × (d + 1)-
determinant
 
 1 ··· 1 1 

 pi · · · pi pi+1  .
1 d

Exercise 3.17 (Vertical projection of a lower hull) Let P be a set of point


in general position in Rd . We call vertical projection the projection onto
the hyperplane of equation x(d) = 0. Show that the restriction of the vertical
projection to the lower hull of P is 1 to 1. Show that the vertical projection
naturally embeds the lower hull of P as a triangulation of (P ), where P is
the vertex set of the lower hull of P.
Exercise 3.18 (Minkowski formula) Show that if P is a convex polytope
and fj , j ∈ J, are its facets, we have j∈J vol(fj ) nj = 0, where nj is the unit
normal vector to fj oriented toward the outside of P).
Hint : Let x ∈ P. Compute the volume of P by summing the volumes of the
pyramids (x, fj ). The results follows by observing that the volume of P does
not depend on x.

3.6 Bibliographical Notes


A modern introduction to the theory of polytopes can be found in Ziegler’s
book [132]. The original proof of the upper bound theorem has been estab-
lished by McMullen in 1970. The simple asymptotic version given in Theorem
3.9 is due to Seidel [121].
The incremental convex hull algorithm is due to Seidel [127]. A complete
description of this algorithm handling degenerated cases is given in Edels-
brunner’s book [67]. The random sampling theorem is due to Clarkson and
Shor [59]. The same paper proposes the first randomized algorithm to build
convex hulls. This algorithm solves in fact the dual problem of computing
the intersection of half-spaces. Chazelle [52] has proposed a deterministic
algorithm to compute the convex hull of a finite point set that is worst
case optimal in any dimension. Obtained through derandomization of the
randomized algorithm this algorithm is, however, mostly of theoretical interest
and no implementation is known.
The theory of randomized algorithms is well developed and finds appli-
cations in many areas of computer science. See the book by Motwani and
Raghavan for a broad perspective [107], and the books of Boissonnat and
Yvinec [25] and of Mulmuley [108] for a geometric viewpoint.
4
Delaunay Complexes

Delaunay complexes are fundamental data structures that have been exten-
sively studied in computational geometry and used in many application areas.
The Delaunay complex of a finite set of points P ∈ Rd is defined as the
nerve of the Voronoi diagram of P, which we define first. We prove Delaunay’s
theorem that states that, when the points of P are in general position, the
Delaunay complex of P has a natural embedding in Rd called the Delaunay
triangulation of P.
The proof relies on the so-called lifting map that associates to each point
of Rd a point in Rd+1 . We show that the Delaunay triangulation of P is
the projection onto Rd of the lower hull of the lifted points. Using then the
results of Chapter 3, we will bound the combinatorial complexity of Delaunay
complexes and Voronoi diagrams, and obtain optimal algorithms for their
construction.
Voronoi diagrams and Delaunay complexes are a special case of more
general structures called weighted Voronoi diagrams and Delaunay complexes.
The class of weighted Voronoi diagrams includes the class of Voronoi diagrams
and, as we will see, most of the properties of Voronoi diagrams still hold for
weighted diagrams. Weighted Voronoi diagrams can be found under various
disguises in various applications and the dual weighted Delaunay complexes
will play an important role in Chapters 5 and 8.

4.1 Lower Envelopes and Minimization Diagrams


Let F = { f1 , . . . , fn } be a set of d-variate continuous functions defined over Rd .
The lower envelope of F is defined as
F − = min fi .
1≤i≤n

44
4.2 Voronoi Diagrams 45
1 2 3 4

1 2 1 3 4

Figure 4.1 The lower envelope of a set of univariate functions. The minimization
diagram is drawn on the horizontal line with the corresponding indices. The face
of index {1} consists of two components.

From F and F − , we define a partition of Rd called the minimization diagram


of F. For a point x ∈ Rd , we define the index set I(x) of x as the set of all
indices i such that F − (x) = fi (x). An equivalence relation noted ≡ can then
be defined on the points of Rd : two points are equivalent if they have the same
index set:
x ≡ y ⇔ I(x) = I(y).

The equivalence classes are relatively open sets that cover Rd . Their closures
are called the faces of the minimization diagram of F and the collection of all
those faces constitutes the minimization diagram of F (see Figure 4.1). The
index set of a face is defined as the largest subset of indices common to all the
points of the face. Conversely, the face of index set I is the set of all points x
such that I ⊂ I(x).
Upper envelopes and maximization diagrams can be defined analogously.
Upper envelopes have been defined in a geometric way in Section 3.2.2 for
sets of nonvertical hyperplanes. The two notions are in fact closely related. Let
H = {h1 , . . . , hn } be a set of nonvertical hyperplanes in Rd+1 . Each hyperplane
hi in H has an equation which in normal form reads x(d + 1) = fi (x) where
x(d + 1) is the last coordinate of a point in Rd+1 and fi (x) is an affine function
of the d first coordinates. Therefore hi can be regarded as the graph of the
affine function fi (x). Let F be the set of affine functions { f1 , . . . , fn }. The
upper envelope defined in Section 3.2.2 for the set H is the graph of the upper
envelope of the set F, F + = max1≤i≤n fi .

4.2 Voronoi Diagrams


Let P = { p1 , . . . , pn } be a set of points of Rd . To each pi , we associate its
Voronoi cell V(pi , P), or simply V(pi ) when there is no ambiguity on the set P :
46 Delaunay Complexes

V(pi , P) = {x ∈ Rd : x − pi ≤ x − pj , ∀pj ∈ P}.


The cell V(pi ) is the intersection of the n − 1 half-spaces bounded by the
bisecting hyperplanes of pi and each of the other points of P. V(pi ) is therefore
a convex polyhedron, possibly unbounded, that contains pi . The Voronoi cells
of P have disjoint interiors and, because any point of Rd belongs to at least
one Voronoi cell, they cover the entire space Rd . The collection of the Voronoi
cells and their faces constitute a cell complex called the Voronoi diagram of P
and denoted by Vor(P).
The Voronoi diagram of P is the minimization diagram of the set of distance
functions {δi , . . . , δn }, where
δi (x) = x − pi .
An example of the Voronoi diagram of a set of 9 points is given in Figure 4.2.
Because minimizing x − pi over i is the same as minimizing (x − pi )2 ,
the Voronoi diagram of P can alternatively be defined as the minimization
diagram of the smooth functions (x − pi )2 . The graphs of those functions are
translated copies of the vertical paraboloid of revolution of Rd+1 of equation
x(d + 1) = x2 .
Observing further that, for any x, arg mini (x − pi )2 = arg maxi (2pi · x − p2i ),
we obtain that the Voronoi diagram of P is the maximization diagram of a set
of affine functions, namely, the functions
fi (x) = 2pi · x − p2i .

Figure 4.2 The Voronoi diagram of a set of 9 points.


4.3 Delaunay Complexes 47

Figure 4.3 V (P), with one of its faces projected onto Rd .

We can rewrite this construction in more geometric terms and establish a link
with convex polyhedra. For i = 1, . . . , n, let hi be the hyperplane of Rd+1 that
is the graph of the affine function fi (x) :

hi = {(x, x(d + 1)) ∈ Rd × R, x(d + 1) = 2pi · x − p2i }.

Let H = {h1 , . . . , hn } and denote by V(P) the upper envelope of hyperplanes


in H. By definition (see Section 3.2.2), the upper envelope V(P) is the
boundary complex of the convex polyhedra h+ + +
1 ∩ h2 · · · ∩ hn which is the
intersection of the upper half-spaces bounded by the hyperplanes in H. Since
the Voronoi diagram Vor(P) is the maximization diagram of the set of functions
{ f1 , . . . , fn }, it is the projection onto the space Rd = {x, x(d + 1) = 0} of the
upper envelope V(P), see Figure 4.3.
We deduce that the combinatorial complexity of the Voronoi diagram of n
points of Rd is at most the combinatorial complexity of a polyhedron defined
  d 
as the intersection of n half-spaces of R , which is O n 2 as shown in
d+1

Section 3.3. This bound is tight (Exercise 4.3). Moreover, we can construct
Vor(P) by constructing V(P) ⊂ Rd+1 and then projecting its faces onto Rd .
Thanks to Theorem 3.11, we conclude that Vor(P) can be constructed in time
  
d
n log n + n 2 .

4.3 Delaunay Complexes


Let P be a finite set of points in Rd and write as before Vor(P) for its Voronoi
diagram. The collection of all Voronoi cells of Vor(P) form a cover of Rd by
48 Delaunay Complexes

Figure 4.4 The Delaunay triangulation of a point set (in bold) and its dual Voronoi
diagram (thin lines).

closed convex sets, and the nerve of this cover is an abstract simplicial complex
called the Delaunay complex of P. Specifically, let f be a face of dimension k
of Vor(P) and let int f be the set of points of f that do not belong to any proper
subface of f . All the points of int f have the same subset σ of closest points in
P and f is the intersection of the Voronoi cells of the points in σ . Accordingly,
σ is a simplex in the Delaunay complex. See Figure 4.4. We denote by Del(P)
the Delaunay complex of the set P.
This definition can be rephrased in terms of empty balls. A ball B ∈ Rd is
said to be empty of points of P if the interior of B includes no points of P. We
say that a d-ball circumscribes a finite subset of points if the sphere bounding B
passes through all the points of the subset. The following lemma is just another
view of the definition of the Delaunay complex.
Lemma 4.1 (The empty ball property) Any subset σ ⊂ P is a simplex of the
Delaunay complex of P iff it has a circumscribing (open) ball empty of points
of P. Such a ball is called a Delaunay ball (see Figure 4.5).
The Delaunay complex cannot always be embedded in Rd . Consider,
for example, the case of a set P consisting of m > d + 1 points lying on
a same hypersphere. The center of the hypersphere belongs to the Voronoi
cells of all the m points, which implies that the Delaunay complex contains the
4.3 Delaunay Complexes 49

Figure 4.5 The empty ball property.

(m − 1)-simplex whose vertex set is P. This simplex cannot be embedded in


Rd since its dimension m − 1 is greater than d.
However, as shown here, the Delaunay complex can be embedded in Rd
when the points of P are in general position wrt spheres.
Definition 4.2 (General position wrt spheres) We say that a finite set of
points P is in general position wrt spheres if no subset of d + 2 points of P lie
on a same hypersphere.
We can now state Delaunay’s fundamental result.
Theorem 4.3 (Delaunay triangulation) If a finite set of points P ∈ Rd is in
general position wrt spheres, then the Delaunay complex Del(P) has a natural
embedding1 in Rd . This embedding is a triangulation of P called the Delaunay
triangulation of P.

Proof We identify Rd with the hyperplane of Rd+1 of equation x(d + 1) = 0


and introduce a lifting map φ that maps points and balls of Rd to points
of Rd+1 . We then consider the lower hull of the set of lifted points φ(P)
and show that the projection onto Rd embeds this lower hull as a geometric
simplicial complex of Rd . We will see that this complex is identical to the
natural embedding of the Delaunay complex Del(P). Further, we will prove
that it is a triangulation of P.
Let b = b(c, r) be a d-ball of Rd with center c and radius r. The lifting map
φ associates to b the point φ(b) = (c, c2 − r2 ) of Rd+1 . A point x of Rd can be

1
Defined in Section 2.2.
50 Delaunay Complexes
P

h(σ)

Figure 4.6 The polar hyperplane of a ball.

considered as a ball with null radius and is mapped to the point φ(x) = (x, x2 )
of Rd+1 . Observe that the lift of a point lies on the paraboloid of revolution
Q = {x ∈ Rd+1 : x(d + 1) = x2 }. We then use in Rd+1 the point hyperplane
duality defined in Section 3.2.1 and denote by φ(b)∗ the hyperplane of Rd+1
that is the dual of φ(b):
φ(b)∗ = {x ∈ Rd+1 : x(d + 1) − 2cx + c2 − r2 = 0}.
The sphere ∂b bounding b(c, r) is the projection onto Rd of the intersection of
Q with the hyperplan φ(b)∗ (see Figure 4.6). Furthermore, the point x belongs
to the (open) ball b iff φ(x) belongs to the halfspace φ(b)∗− below φ(b)∗ .
Therefore, we have:
x ∈ ∂b ⇐⇒ φ(x) ∈ φ(b)∗ (4.1)
∗−
x ∈ b ⇐⇒ φ(x) ∈ φ(b) . (4.2)
Consider now a set P of n points in general position wrt spheres and let σ be
a subset of d + 1 points of P. We write b for the ball that circumscribes σ .
According to Lemma 4.1, σ is a Delaunay simplex iff the ball b is empty of
points of P. Then, from Equations 4.1 and 4.2, the hyperplane φ(b)∗ contains
φ(σ ) and the halfspace φ(b)∗− does not contain any point of φ(P). We
conclude that σ is a Delaunay simplex iff the convex hull of φ(σ ) is a facet of
the lower hull D(P) of the lifted points φ(P).
Because P is in general position wrt spheres, φ(P) is in general position
wrt hyperplanes (i.e., in the usual sense). It follows that D(P) is a simplicial
4.3 Delaunay Complexes 51

complex embedded in Rd+1 . Consider now the projection onto Rd , called


the vertical projection. The restriction of the vertical projection to D(P) is
1-1 (see Exercise 3.17), and therefore the vertical projection of D(P) is a
simplicial complex embedded in Rd . From the previous paragraph, the facets
of D(P) are in bijective correspondence with the Delaunay simplices of
Del(P). Furthermore, for each simplex σ of Del(P), the corresponding facet
of D(P) is the convex hull of the lift φ(σ ) of σ so that its vertical projection
is the convex hull of σ . It follows that the projection of the lower hull D(P) is
the natural embedding of the Delaunay complex Del(P).
Let us further show that the natural embedding of Del(P) is a triangulation
of P. By definition, the set of vertices of Del(P) is P. Furthermore, since D(P)
is the lower hull of φ(P), its vertical projection coincides with the vertical
projection of the convex hull of φ(P), which is just the convex hull of P.
It follows that the natural embedding of Del(P) is a triangulation of P. This
concludes the proof of Delaunay triangulation theorem.
Since the Delaunay complex Del(P) is defined as the nerve of the cell
complex Vor(P), there is a dual correspondence between the faces of these
two complexes, i.e., a bijective correspondence between their faces that
preserves incidences and reverses inclusions. The duality between lower
hulls and upper envelopes introduced in Section 3.2 yields another dual
correspondence between Vor(P) and Del(P). Indeed, notice that the set of
hyperplanes {h1 , h2 , . . . hn } defining the upper envelope V(P) are the duals
{φ(p1 )∗ , φ(p2 )∗ , . . . φ(pn )∗ } of the lifted points φ(P). Therefore, by the results
of Section 3.2, the upper envelope V(P) and the lower hull D(P) are dual
complexes. Because the vertical projection induces a bijection between the
cellular complexes V(P) and Vor(P), and because the lifting map induces
another bijection between the complexes D(P) and Del(P), we get a dual
correspondence between Vor(P) and Del(P) through the duality between V(P)
and D(P). In fact, the proof of the Delaunay triangulation theorem shows
that the two correspondences between Vor(P) and Del(P) coincide, so that
the following diagram commutes:
duality
V(P) −→ D(P)
↑ ↓
nerve
Voronoi Diagram Vor(P) −→ Delaunay Complex Del(P)

It follows that the combinatorial complexity of the Delaunay complex of n


points is the same as the combinatorial complexity of its dual Voronoi diagram.
Moreover, the Delaunay complex of n points of Rd can be deduced from the
dual Voronoi diagram and vice versa in time proportional to their size. We
52 Delaunay Complexes

also deduce from what precedes that computing the Delaunay complex of n
points of Rd reduces to constructing the convex hull of n points of Rd+1 . The
following theorem is then a direct consequence of Theorems 3.9 and 3.11.
Theorem 4.4 The combinatorial complexity of the Voronoi diagram of a set
  d 
of n points of R and of its Delaunay complex is
d n 2 . Both structures can
  
d
be computed in optimal time n log n + n 2 .

The bounds in this theorem are tight in the worst case. In particular, the
Voronoi diagram of n points of R3 may be quadratic (see Exercise 4.3).
However, under some assumptions on the point distribution, better bounds can
be obtained (see Section 5.1).
If the points of P are not in general position wrt spheres, the Delaunay
complex may be of dimension greater than the dimension d of the embedding
space and therefore cannot be embedded in Rd . Accordingly, the hyperplane
set φ(P)∗ and the point set φ(P) are not in general position. Hence, V(P) is
not simple and D(P) is not simplicial. The diagram won’t commute.
Nevertheless, the projection of D(P) will still be a cell complex. Let f be a
j-face of D(P) that is not a simplex. Its projection is no longer a simplex but is
still a convex j-polytope we denote by f . Moreover, f is still the convex hull
of the vertices of a k-simplex σ of the nerve of Vor(P) with k > j. We say
that f is the shadow of σ . An embedded triangulation can then be obtained by
triangulating the shadows that are not simplices (see Exercise 4.6). Any such
triangulation is called a Delaunay triangulation. Since there are several ways of
triangulating the faces of a polytope, P admits several Delaunay triangulations.

4.4 Weighted Delaunay Complexes


4.4.1 Weighted Points and Weighted Distance
A weighted point p̂ = (p, w) is an element of Rd × R where the point p ∈ Rd is
called the center of p̂ and w ∈ R is called its weight. A point is identified with
a weighted point of weight 0. When w is non-negative, p̂ can be considered as

the ball b(p, w) centered at p and of squared radius w. Because considering
negative weights will cause no problem in our developments, we favor the
name of weighted point.
We define the weighted distance between two weighted points p̂1 = (p1 , w1 )
and p̂2 = (p2 , w2 ) as

D(p̂1 , p̂2 ) = (p1 − p2 )2 − w1 − w2 .


4.4 Weighted Delaunay Complexes 53

Figure 4.7 The weighted distance: two weighted points with a negative (left), null
(middle) and positive (right) weighted distance respectively.

Note that the weighted distance is not a distance in the usual sense since it is not
positive and does not satisfy the triangular inequality. Two weighted points are
said to be orthogonal if their distance is zero. The term orthogonal comes from
the observation that, when the weights are non-negative, two weighted points
are orthogonal iff the spheres bounding the associated balls are orthogonal
spheres (see Figure 4.7). The weighted distance D(x, p̂) from an unweighted
point x to a weighted point p̂ = (p, w) whose weight w is non-negative is
also called the power of point x with respect to the sphere bounding the ball

b(p, w).

4.4.2 Weighted Voronoi Diagrams


Let P̂ = { p̂1 , . . . , p̂n } be a set of weighted points of Rd × R. To each p̂i =
(pi , wi ), we associate the cell V(p̂i ) ⊂ Rd consisting of the points x of Rd
whose weighted distance to p̂i is not larger than its weighted distance to any
other weighted points of P̂ :

V(p̂i ) = {x ∈ Rd : D(x, p̂i ) ≤ D(x, p̂j ), ∀p̂j ∈ P̂}.

The set of points of Rd that are at equal distance from two weighted points
p̂i and p̂j is a hyperplane called the bisecting hyperplane of p̂i and p̂j . This
hyperplane is orthogonal to the line joining the centers of p̂i and p̂j .The cell
V(p̂i ) is the intersection of the n − 1 half-spaces bounded by the bisecting
hyperplanes of p̂i and each of the other weighted points of P̂. If this intersection
is not empty, it is a convex polyhedron, possibly unbounded. We call weighted
Voronoi cells the non empty cells V(p̂i ), i ∈ [1 : n].
We define the weighted Voronoi diagram of P̂, noted Vor(P̂), as the cell
complex whose faces are the weighted Voronoi cells and their faces. Note that
the set of weighted Voronoi diagrams includes Voronoi diagrams. Indeed, when
all weighted points have the same weight, their weighted Voronoi diagram is
identical to the Voronoi diagram of their centers.
Equivalently, the weighted Voronoi diagram of P̂ can be defined as the min-
imization diagram of the set of functions {D(x, p̂i ), . . . , D(x, p̂n )}. Observing
54 Delaunay Complexes

Figure 4.8 A weighted Voronoi diagram.

that, for any x, arg mini D(x, p̂i ) = arg maxi (2pi · x − p2i + wi ), we obtain that
the weighted Voronoi diagram of P̂ is the maximization diagram of the set of
affine functions F = {f1 , . . . , fn }, where
fi (x) = 2pi · x − p2i + wi .
The graph of fi (x) is a nonvertical hyperplane of Rd+1 that we denote by hi :
hi = {(x, x(d + 1)) ∈ Rd × R, x(d + 1) = 2pi · x − p2i + wi }.
Let H = {h1 , . . . , hn } and let us denote by V(P̂) the upper envelope of the
hyperplanes of H. The maximization diagram of F is obtained by projecting
vertically the faces of the upper envelope V(P̂).
Hence, the faces of the weighted Voronoi diagram Vor(P̂) are the vertical
projections of the faces of V(P̂).
Weighted Voronoi diagrams are very similar to Voronoi diagrams: the main
difference is that some weighted point p̂i in P̂ may have an empty Voronoi
cell in Vor(P̂) (see the small circle in the upper left corner of Figure 4.8).
Equivalently, the corresponding hyperplane hi does not contribute to a face of
the upper envelope V(P̂). Notice, however, that if the weights are non-negative
and small enough so that the weighted points in P̂ correspond to disjoint balls,
then all the weighted points have a nonempty Voronoi cell, (Exercise 4.13).

4.4.3 Weighted Delaunay Complexes


Let P̂ be a finite set of weighted points of Rd and write as before Vor(P̂)
for its Voronoi diagram. The nerve of the collection of all cells of Vor(P̂)
is an abstract simplicial complex denoted by Del(P̂) and called the weighted
4.4 Weighted Delaunay Complexes 55

Delaunay complex of P̂. Specifically, let f be a face of dimension k of Vor(P̂)


and let int f be the set of points of f that do not belong to any proper subface
of f . All the points of int f have the same subset σ̂ of closest weighted points in
P̂ (for the weighted distance), and f is the intersection of the weighted Voronoi
cells of the weighted points in σ̂ . Accordingly, σ̂ is a simplex in the weighted
Delaunay complex.
Recall that two weighted points are said to be orthogonal if their weighted
distance is zero. A weighted point x̂ is said to be orthogonal to a finite set σ̂ of
weighted points if x̂ is orthogonal to all the weighted points of σ̂ .
We say that the set P̂ of weighted points is in general position when no
weighted point of Rd × R is at equal weighted distance from more than d + 1
weighted points of P̂. In the following, we assume that the set P̂ of weighted
points is in general position.
Then, if σ̂ = {pˆ0 , . . . , p̂d } is a subset of d + 1 weighted points in P̂, there
exists a unique weighted point ĉ in Rd × R orthogonal to σ̂ . The center c(σ )
of ĉ is called the weighted center of σ̂ , and the square root of the weight of ĉ,
denoted by r(σ̂ ), is called the weighted radius of σ̂ . Observe that the weighted
radius may be imaginary which causes no problem.
A weighted point x̂ is said to be free of weighted points of P̂ if no point
of P̂ has a negative weighted distance to x̂. Observe that the notion of free
weighted points generalizes the notion of empty balls (see Lemma 4.1). Indeed,
when the weights of points in P̂ are 0 and the weight of x̂ is positive, the ball
corresponding to x̂ is an empty ball for P.
Let v be a vertex of Vor(P̂). The weighted Delaunay simplex σ̂ associated
to v is a d-simplex. The vertex v is at equal weighted distance w from all the
weighted points of σ̂ , and this distance is smaller than the weighted distance
from v to all other weighted points in P̂\ σ̂ . Therefore the weighted point (v, w)
is orthogonal to σ̂ and free of points of P̂. This property generalizes to faces of
Vor(P̂) of any dimension and the following lemma is just another view of the
definition of the weighted Delaunay complex.
Lemma 4.5 (The free weighted point property) Any subset σ̂ ⊂ P̂ is a
simplex of the weighted Delaunay complex Del(P̂) iff there is a weighted point
orthogonal to σ̂ and free of weighted points of P̂.
We proceed now as in Section 4.3 and prove the weighted version of
Delaunay’s triangulation theorem. With a slight abuse of language, we call
natural embedding of Del(P̂) in Rd , a geometric realization of Del(P̂) in which
each simplex σ̂ of Del(P̂) is embedded as the convex hull of the set σ of the
centers of the weighted points in σ̂ .
56 Delaunay Complexes

Figure 4.9 The weighted delaunay triangulation associated to the weighted


Voronoi diagram of Figure 4.8.

Theorem 4.6 (Weighted Delaunay triangulation) If a finite set of weighted


points P̂ ∈ Rd × R is in general position, then the weighted Delaunay complex
Del(P̂) has a natural embedding in Rd which is a triangulation of a subset P
of P. P is the set of centers of the weighted points in P̂ that have a non empty
cell in Vor(P̂) (see Figure 4.9).

Proof We first define the lifting map for weighted points as follows: to a
weighted point p̂ = (p, w) of Rd , we associate the point φ(p̂) = (p, p2 − w)
of Rd+1 . Then we consider the lower hull of points of φ(P̂), denoted by D(P̂).
Arguing as in Section 4.3, we get that the lower hull D(P̂) is a geometric
simplicial complex embedded in Rd+1 whose vertical projection onto Rd is the
natural embedding of Del(P̂). Let P̂ be the subset of weighted points in P̂ that
have non empty cells in Vor(P̂). The vertex set of D(P̂) is the set φ(P̂ ) ⊆ φ(P̂)
and the vertical projection of D(P̂) is a triangulation of P , the set of centers of
the weighted points of P̂ .
Observe that the hyperplanes hi , i = 1, . . . , n defined in Section 4.4.2
are the hyperplanes dual to the points in φ(P̂). Therefore, by the results of
Section 3.2, the upper envelope V(P̂) and the lower hull D(P̂) are dual
complexes. Arguing once more as in Section 4.3, we get the following diagram
which commutes when the weighted points are in general position :
duality
V(P̂) −→ D(P̂)
↑ ↓
nerve
Vor(P̂) −→ Del(P̂)

If the weighted points are not in general position, we can triangulate the non
simplicial faces D(P̂) as described in Section 4.3. The vertical projection of
D(P̂) will then be a triangulation of P .
4.5 Examples of Weighted Voronoi Diagrams 57

4.4.4 Complexity of weighted Delaunay complexes


The following theorem states that computing the weighted Voronoi diagram
of n weighted points of Rd × R (or equivalently its dual weighted Delaunay
triangulation) has the same asymptotic complexity as computing the Euclidean
Voronoi diagram or the Delaunay triangulation of n points of Rd . The theorem
is a direct consequence of Section 4.4.3 and of results on convex hulls
(Theorems 3.9 and 3.11).
Theorem 4.7 The combinatorial complexity of the weighted Voronoi
diagram of n weighted points of Rd × R and of its dual weighted Delaunay
  d 
triangulation are n 2 . Both structures can be computed in optimal time
  
d 
n log n + n 2 .

4.5 Examples of Weighted Voronoi Diagrams


We have seen that the weighted Voronoi diagram of n weighted points is the
maximization diagram of n affine functions. The converse is also true (see
Exercise 4.14). We give in this section two examples of weighted Voronoi
diagrams that are of interest in the context of data analysis.

4.5.1 k-order Voronoi Diagrams


Let P be a set of n points of Rd and let Pk be the set of all subsets of k points of
P for some fixed k ∈ [1 : n − 1]. We define the Voronoi cell of a subset K ∈ Pk
as the set of points of Rd that are closer to all the sites in K than to any other
site in P \ K:

Vk (K) = {x ∈ Rd : ∀pi ∈ K, ∀pj ∈ P \ K, x − pi ≤ x − pj }.

Let us consider the subsets of Pk whose Voronoi cells are not empty. These
cells are convex polyhedra and form a cell complex whose domain is Rd called
the k-order diagram of P (see Figure 4.10). For k = 1, we obtain the usual
Voronoi diagram.
Theorem 4.8 The k-order diagram of P is the weighted Voronoi diagram of
 n 
a set of weighted points of Rd .
k
58 Delaunay Complexes

Figure 4.10 The 2-order Voronoi diagram of a set of points (in bold line) and the
corresponding 1-order Voronoi diagram (in thin line).

 n 
Proof Let K1 , . . . , Ks be the s = subsets of k points of P. For any
k
point x ∈ Rd , we have

1  1 
x ∈ Vk (Ki ) ⇐⇒ (x − p)2 ≤ (x − q)2 ∀j, 1 ≤ j ≤ s
k k
p∈Ki q∈Kj
⎛ ⎞
1 ⎠ 1 2
⇐⇒ x2 − 2 ⎝ p ·x+ p
k k
p∈Ki p∈Ki
⎛ ⎞
1  1 2
≤ x2 − 2 ⎝ q⎠ · x + q
k k
q∈Kj q∈Kj
⇐⇒ D(x, p̂i ) ≤ D(x, p̂j )

where p̂i = (ci , wi ) is the weighted point centered at the center of mass ci =
p∈Ki p of Ki of weight wi = ci − ρi with ρi = k
1 2 2 2 1 2
k p∈Kik p . Hence,
x ∈ Vk (Ki ) iff x lies in the weighted Voronoi cell of p̂i .
It follows that the k-order Voronoi diagram of a finite set of points P of Rd
is a cell complex of Rd whose nerve is a triangulation of Rd under a general
position assumption.
4.5 Examples of Weighted Voronoi Diagrams 59

The k-order Voronoi diagram of P can be used as a data structure to compute


in sublinear time the k points of P that are closest to a query point x. The query
can be answered by identifying the cell of the k-order Voronoi diagram that
contains x and reading the associated k-nearest points of P.

4.5.2 Bregman Diagrams


Let be a convex domain of Rd and F a strictly convex and differentiable
function F (called the generator function of the divergence) defined over .
For any two points p = (p(1), . . . , p(d)) and q = (q(1), . . . , q(d)) of , the
Bregman divergence DF (p||q) : × → R associated to F is defined as

DF (p||q) = F(p) − F(q) − ∇F(q) · (p − q) (4.3)


 ∂F ∂F T

where ∇F = ∂x 1
. . . ∂x d
denotes the gradient operator.
Informally speaking, Bregman divergence DF is the tail of the Taylor
expansion of F. Geometrically, the Bregman divergence DF (p||q) is measured
as the vertical distance (i.e., along the (d + 1)-axis) between p̂ = (p, F(p))
and the hyperplane Hq tangent to the graph F of F at point q̂: DF (p||q) =
F(p) − Hq (p). See Figure 4.11.
We now give some basic properties of Bregman divergences. First, observe
that, for most functions F, the associated Bregman divergence is not symmet-
ric, i.e., DF (p||q) = DF (q||p) (the symbol || is put to emphasize this point).
Hence, it is not a distance. Nevertheless, the strict convexity of the generator


DF (x, y)

Hy
X
y x
Figure 4.11 The Bregman divergence.
60 Delaunay Complexes

function F implies that, for any p and q in , DF (p||q) ≥ 0, with DF (p||q) = 0


if and only if p = q.

Examples of Bregman Divergences


Examples of Bregman divergences are the squared Euclidean distance,
obtained with F(x) = x2 , and the quadratic distance function DF (x||y) =
2 (x − y) Q(x − y) (also known as the squared Mahalanobis distance
1 T

extensively used in Computer Vision and Data Mining), obtained with


F(x) = 12 xT Qx where Q is a symmetric positive definite matrix. See Exercise
4.16 for other examples.
The notion of Bregman divergence encapsulates various information mea-
sures based on entropic functions such as the Kullback-Leibler divergence
based on the Shannon entropy, which is widely used in information the-
ory, image processing and various fields. Let p be a discrete probability
d
distribution so that i=1 p(i) = 1. The Shannon entropy is defined as
F(p) = i p(i) log2 p(i). F is a convex function and the associated Bregman
divergence between two probability distributions p and q is easily shown to be

d 
d
DF (p||q) = p(i) log2 p(i) − q(i) log2 q(i) − (p − q) · ∇F(q)
i=1 i=1
 

d
p(i) 
d 
d
= p(i) log2 since p(i) = q(i) = 1
q(i)
i=1 i=1 i=1
def
= KL(p||q).
KL(p||q) is called the Kullback-Leibler divergence or the relative entropy of
the two probability distributions p and q.

Bregman Diagrams
Let P = {p1 , . . . , pn } be a finite point set of ⊂ Rd . We associate to each site
pi the distance function, Di (x) = DF (x||pi ). The minimization diagram of the
Di , i = 1, . . . , n, is called the Bregman Voronoi diagram of P, which we denote
by VorF (P). The d-dimensional cells of this diagram are in 1-1 correspondence
with the sites pi and the d-dimensional cell of pi is defined as
def
VF (pi ) = {x ∈ | DF (x||pi ) ≤ DF (x||pj ) ∀pj ∈ P}.
It is easy to see that the minimization diagram of the n functions DF (x||pi )
i = 1, . . . , n, is the maximization of the n affine functions
hi (x) = (x − pi ) · ∇F(pi ) + F(pi ), i = 1, . . . , n.
4.5 Examples of Weighted Voronoi Diagrams 61

Hence, Bregman diagrams are weighted Voronoi diagrams. More precisely,


we have
Theorem 4.9 The Bregman Voronoi diagram of n sites is identical to the
restriction to of the weighted Voronoi diagram of the n weighted points
(pi , wi ), i = 1, . . . , n, where pi = ∇F(pi ) and wi = pi2 + 2(F(pi ) − pi · pi ).
Proof DF (x||pi ) ≤ DF (x||pj ) iff

−F(pi ) − (x − pi ) · pi ≤ −F(pj ) − (x − pj ) · pj .

Multiplying the two sides of the inequality by 2 and adding x2 to both sides
yields

x2 − 2x · pi − 2F(pi ) + 2pi · pi ≤ x2 − 2x · pj − 2F(pj ) + 2pj · pj


⇐⇒ (x − pi ) · (x − pi ) − wi ≤ (x − pj ) · (x − pj ) − wj ,

where wi = pi2 + 2(F(pi ) − pi · pi ) and wj = pj2 + 2(F(pj ) − pj · pj ). The last


inequality means that the weighted distance of x to the weighted point (pi , wi )
is no more than its weighted distance to the weighted point (pj , wj ).
It is to be observed that not all weighted Voronoi diagrams are Bregman
Voronoi diagrams. Indeed, in weighted Voronoi diagrams, some weighted
points may have empty cells while each site has necessarily a nonempty cell in
a Bregman Voronoi diagram.

Bregman Complexes
We define the Bregman complex of P as the nerve of the Bregman diagram of
P, VorF (P). We denote it by DelF (P). An analogue of Delaunay’s triangulation
theorem also exists in this context.
Let P̂ be the lifted image of P on the graph F of F, i.e., P̂ = {(p, F(p)),
p ∈ P} ∈ Rd+1 . Write T for the lower hull of P̂. We assume in this section
that P is in general position, meaning that there is no point x ∈ whose
divergences to d +2 points of P are equal. Equivalently, P is in general position
if P̂ contains no subset of d + 2 points on a same hyperplane.
Assume that P is in general position. Then, for the same reasons as for
Delaunay triangulations (see Section 4.3), T is a simplicial complex and the
vertical projection of T onto Rd is a triangulation that is equal to DelF (P)
by the lifting map argument given in the beginning of Section 4.5.2 (see
Figurefig:bregman-lift). In other words, DelF (P) naturally embeds in ⊆ Rd .
We call DelF (P) the Bregman triangulation of P. When F(x) = x2 and
= Rd , DelF (P) is the Delaunay triangulation of P.
62 Delaunay Complexes

We now show that the empty ball property of Delaunay triangulations


(Lemma 4.1) naturally extends to Bregman triangulations. We define the
Bregman ball centered at c and of radius r as

bF (c, r) = {x ∈ | DF (x||c) < r}.

It is easy to see that any Bregman ball bF is obtained as the vertical projection
of the intersection of F with a halfspace below a nonvertical hyperplane (see
Figure 4.6 for the case where F = x2 ).
A Bregman ball is said to be empty if it does not contain any point of P. Let
σ = [p0 , . . . , pd ] be a (geometric) d-simplex of BregF (P). The affine hull of
the lifted points p̂0 , . . . , p̂d is a hyperplane hσ of Rd+1 whose intersection with
F projects vertically onto the boundary of the (unique) Bregman ball bσ that
circumscribes σ . Because, by construction, conv(p̂0 , . . . , p̂d ) ∈ hσ is a facet of
the lower hull of P̂, bσ must be empty.
It also follows from the discussion that, under the general position assump-
tion, Bregman complexes naturally embeds in Rd . This is another extension of
Delaunay’s triangulation theorem.

Bregman Diagrams and Complexes of the Second Type


We have defined Bregman diagrams as the minimization diagram of the
functions DF (x||pi ). A symmetric definition can be given when exchanging the
variable x and the site pi and considering DF (pi ||x). The bisectors are no longer
hyperplanes and the diagram is no longer a weighted Voronoi diagram. Still,
Legendre duality, an essential notion in convex analysis, allows to transform a
diagram of the second type into a diagram of the first type as explained next
(Lemma 4.11).

Legendre Duality
Let F be a strictly convex and differentiable real-valued function on .
The gradient of F, ∇F, is well defined as well as its inverse ∇ −1 F, and
∇F ◦ ∇ −1 F = ∇ −1 F ◦ ∇F are identity maps. We write x for ∇F(x) and
for the gradient space {∇F(x)|x ∈ }.
The Legendre transformation associates to F a convex conjugate function
F∗ : → R given by [119]:

F ∗ (x ) = x · x − F(x). (4.4)

Taking the derivative of Equation 4.4, we get

∇F ∗ (x ) · dx = x · dx + x · dx − ∇F(x) · dx = x · dx = ∇ −1 F(x ) · dx ,

from which we deduce that ∇F ∗ = ∇ −1 F.


4.5 Examples of Weighted Voronoi Diagrams 63

Figure 4.12 The z-intercept (0, −F ∗ (x )) of the tangent hyperplane hx of F at x̂


defines the value of the Legendre transform F ∗ for the dual coordinate x .

Figure 4.12 gives a geometric interpretation of the Legendre transformation.


Consider the hyperplane hx tangent to the graph F of F at x̂. This hyperplane
intersects the (d + 1)-axis at the point (0, −F ∗ (x )). Indeed, the equation of hx
is y(d + 1) = x · (y − x) + F(x) = x · y − F ∗ (x ). Hence, the (d + 1)-axis
intercept of hx is equal to −F ∗ (x ). Any hyperplane passing through another
point of F and parallel to hx necessarily intersects the z-axis above −F ∗ (x ).
To ensure that DF∗ is a Bregman divergence, we need to be convex. This
is trivial if has no boundary and, in particular, when = Rd . Otherwise,
we will further require that F is a function of Legendre type, i.e., that the norm
of the gradient of F goes to infinity whenever we approach the boundary of
(see [119]). Under the additional assumption that F is of Legendre type, we
can associate to the conjugate function F ∗ a Bregman divergence DF∗ . We have
the following remarkable result:
Lemma 4.10 DF (p||q) = F(p) + F ∗ (q ) − p · q = DF∗ (q ||p )
Proof By Equation 4.3, DF (p||q) = F(p)−F(q)−(p−q)·q , and, according
to Equation 4.4, we have F(p) = p · p − F ∗ (p ) and F(q) = q · q − F ∗ (q ).
Hence,

DF (p||q) = F(p) − F(q) − (p − q) · q


= p · p − F ∗ (p ) − p · q + F ∗ (q )
= F ∗ (q ) − F ∗ (p ) − p · (q − p )
= DF∗ (q ||p )

where the last equality holds since p = ∇F −1 ∇F(p) = ∇F ∗ (p ).


Observe that, when DF is symmetric, DF∗ is also symmetric.
64 Delaunay Complexes

The Legendre transform of the quadratic form F(x) = 12 xT Qx, where Q is a


symmetric invertible matrix, is F ∗ (x ) = 12 x T Q−1 x . We say that F is self dual.
Observe that the corresponding divergences DF and DF∗ are both generalized
quadratic distances.
To compute F ∗ , we can use the fact that ∇F ∗ = ∇F −1 (see above). However,
integrating functions symbolically may be difficult or even not possible, and, in
some cases, it will be required to approximate numerically the inverse gradient
∇ −1 F(x).
We can now define Bregman diagrams of the second type where the cell of
pi is defined as
def
Ṽ F (pi ) = {x ∈ | DF (pi ||x)) ≤ DF (pj ||x) ∀pj ∈ P}.

In contrast with the diagram of the first-type VorF (P), the diagram of the

second type Vor(P) has, in general, curved faces. From the Legendre duality
between divergences, we deduce correspondences between the diagrams of the
first and the second types. As usual, F ∗ denotes the convex conjugate of F.
Lemma 4.11 We have

F (P) = ∇ −1 F(VorF∗ (P )) and VorF (P) = ∇ −1 F(Vor


Vor F∗ (P )).

Proof By Lemma 4.10, we have DF (x||y) = DF∗ (y ||x ), which gives


VF (pi ) = {x ∈ | DF∗ (pi ||x ) ≤ DF∗ (pj ||x ) ∀pj ∈ P } = ∇ −1 F(Ṽ F∗ (pi )).
This proves the second part of the lemma. The proof of the first part follows
the same path.
F (P), the (curved) Bregman diagram of the second-
Hence, constructing Vor
type, reduces to constructing an affine diagram in the gradient space (and
−1
mapping the cells by ∇ F). The nerve of the Bregman diagram of the
second-type is a simplicial complex called the Bregman triangulation of
the second type. It follows from Lemma 4.11 that the Bregman triangulation
of the second type of P can be realized as the (curved) image by ∇ −1 F of the
Bregman Delaunay triangulation of the first type of P .

4.6 Exercises
Exercise 4.1 (Space of spheres) Let b be a d-ball of Rd of center c and radius
r and let s = c2 − r2 . We associate to b the point of Rd+1 φ(σ ) = (c, s). Show
that the image by φ of a point, considered as a ball of radius 0, is a point of the
paraboloid Q of equation xd+1 = x2 .
4.6 Exercises 65

Show that the image by φ of the balls whose bounding spheres pass through
a given point p of Rd is the hyperplane hp of Rd+1 of equation xd+1 = 2p · x −
p2 , which is tangent to Q at φ(p) = (p, p2 ).
What are the preimages by φ of the points of Rd+1 that lie above Q, on
a line? The same question can be asked about the image of the balls that
contain p.
Exercise 4.2 (Farthest point diagram) Consider the diagram obtained
by projecting the faces of h− −
p1 ∩ · · · ∩ hpn vertically, where the hpi are defined
as in Exercise 4.1. Characterize the points that belong to a face of this
diagram.
Dually, project vertically the faces of the upper convex hull of the φ(pi ) =
(pi , p2i ), i = 1, . . . , n. Show that we obtain a triangulation of the vertices of
conv(P) such that each ball circumscribing a simplex contains all the points
of P.
Exercise 4.3 (Upper bound) Consider first the case of a set of points P lying
on two non coplanar lines of R3 . Let n1 +1 and n2 +1 be the numbers of points
on each of the lines. Show that the Delaunay complex of P has n1 n2 tetrahedra
(or, equivalently, that their Voronoi diagram has n1 n2 vertices).
Show that the moment curve Md ⊂ Rd (defined in Exercise 3.12) can
be drawn on the paraboloid Q of equation xd+1 = x2 . Deduce then from
Exercise 3.12 that the bound in Theorem 4.4 is tight.
Exercise 4.4 (Triangulation of linear size) Prove that any set of n points of
Rd in general position admits a triangulation of size O(n).
Exercise 4.5 (in ball predicate) Let B be a ball of Rd whose bounding sphere
S passes through d + 1 points p0 , . . . , pd . Show that a point pd+1 of Rd lies
on S, in the interior of B or outside B, depending whether the determinant of
the (d + 2) × (d + 2) matrix
 
 1 ··· 1 
 
in sphere(p0 , . . . , pd+1 ) =  p0 ··· pd+1 

 p2 ··· p2d+1 
0

is 0, negative or positive. Show that this predicate is the only numerical


operation that is required to check if a triangulation is a Delaunay triangulation.
Show that the only numerical operation that is required to check if a
triangulation is the weighted Delaunay triangulation of a set of weighted points
p̂1 , . . . , p̂n is the evaluation of signs of determinants of (d+2)×(d+2) matrices
of the form
66 Delaunay Complexes
 
 ··· 
 1 1 
 
power test(p̂i1 , . . . , p̂id+2 ) =  pi ··· pid+2 
 2 1 
 pi0 − wi0 · · · p2id+1 − wid+1 

where pi and wi are, respectively, the center and the weight of p̂i . (Hint : use
the lifting map and Exercise 3.16.)
Exercise 4.6 (Triangulation of a convex polytope) Describe an algorithm
to triangulate a convex polytope (Hint: Proceed by faces of increasing
dimensions.)
Exercise 4.7 (Minimal spanning tree) Let P be a finite set of points
of Rd . A spanning tree of P is a tree whose vertices are the points of P.
A spanning tree is called a minimum spanning tree (MST) if the sum of
the lengths of its edges is minimal among all spanning trees. Show that
MST(P) ⊂ Del(P).
Exercise 4.8 (Delaunay complexes contain a triangulation) Let P be any
finite set of points of Rd . Show that there exists a subcomplex K ⊆ Del(P) that
is a triangulation of P.
Exercise 4.9 (Natural coordinates) Let P = {p1 , . . . , pn } be a finite set of
points of Rd . As usual, Vor(P) denotes the Voronoi diagram of P and V(pi ) the
cell of pi in or(P). Given a point x ∈ conv(P), we write P+ = P∪{x}, V + (x) for
the Voronoi cell of x in Vor(P+ ), V + (x, pi ) = V + (x) ∩ V + (pi ) and W(x, pi ) =
V + (x) ∩ V(pi ) = V(pi ) \ V + (pi ). Now we define vi (x) = vol(V + (x, pi )),
v̄i (x) = vi (x)/ x − pi and v̄(x) = ni=1 v̄i (x). In addition, we define wi (x) =
vol(W(x, pi )) and w(x) = ni=1 wi (x).
We call Laplace coordinates the n functions λ1 , . . . , λn defined by λi (x) =
v̄i (x)/v̄(x) for x ∈ P, and λi (pj ) = δij otherwise, where δij is the Kronecker
delta. We call Sibson’s coordinates the n functions ςi (x) = wi (x)/w(x),
i = 1, . . . , n. Show that the set of λi is a partition of unity, i.e. x = i λi (x) pi .
Same question for the set of ςi .
(Hint: For Laplace coordinates, apply Exercise 3.18 to V + (x). For Sibson’s
coordinates, apply Exercise 3.18 to the polytope of Rd+1 whose boundary is
V(P+ ) \ V(P), where V(P) is defined in Section 4.3).
Exercise 4.10 (Conservation law) Let p̂i = (pi , wi ), i = 1, . . . , n, be
weighted points. Prove the following conservation law for flows entering a
weighted Voronoi cell V(p̂i ) normally to the facets of the cell: if fij , j ∈ J, are
p −p
the facets of V(p̂i ), we have j∈J vol(fij ) pjj −pii = 0. This property makes
Voronoi and weighted Voronoi diagrams useful when applying finite volume
methods in fluid dynamics. (Hint: Use Exercise 3.18).
4.6 Exercises 67

Exercise 4.11 (Section of a Voronoi diagram) Let H be a k-dimensional


affine space of Rd . Show that the intersection LH of H with the weighted
Voronoi diagram of n weighted points Rd is the weighted Voronoi diagram
of n weighted points of H.
Exercise 4.12 (Union of balls) Show that the combinatorial complexity of
the union of n balls of Rd is the same as the combinatorial complexity of their
weighted Voronoi diagram. Design a worst-case optimal algorithm to compute
such a union of balls. (Hint: Bound first the number of vertices.)
Exercise 4.13 (Centered triangulation) Let P̂ be a finite set of weighted
points with non-negative weights. Let P be the set of their centers and let
l = minp,q∈P p − q be the minimal distance between two centers. Prove
that, if the weights are less than 4l , all weighted points of P̂ have a non empty
weighted Voronoi cell and each center belongs to the cell of its own weighted
point.
Exercise 4.14 (Maximization diagrams) Show that the maximization dia-
gram of n affine functions defined over Rd is the weighted Voronoi diagram of
n weighted points of Rd .
Exercise 4.15 (Complexity of k-order Voronoi diagrams) Use Theorems
3.12 and 3.9 to show that the combinatorial
 complexity of all ≤ k-order
d+1 d+1
2 2
Voronoi diagrams is (k n ). Propose an efficient algorithm to
compute all these diagrams.
Exercise 4.16 (Examples of divergences) The Itakura-Saito (or Burg)
divergence is defined as
 xi xi
DF (x||y) = − log − 1 .
yi yi
i
The Itakura-Saito divergence is classical tool in speech recognition. Show
that the Itakura-Saito divergence is the Bregman divergence associated to the
convex function F(x) = − log x (Burg entropy). Show that the gradient and
inverse gradient of F are identical, so that it is self-dual, i.e., F = F ∗ .
Show that, for the exponential function F(x) = exp x, we have F ∗ (y) =
y log y − y (the unnormalized Shannon entropy) and, for the dual bit entropy
F(x) = log(1+exp x), we have F ∗ (y) = y log 1−y y
+log(1−y), the bit entropy.
Exercise 4.17 We define the Bregman ball of the second type centered at c
and of radius r as
b̃F = {x ∈ |DF (c||x) < r}.
Show that if, F is of Legendre type, b̃F is contractible.
68 Delaunay Complexes

Exercise 4.18 Define the α-Bregman complex as the restriction of the


Bregman complex to the union of the Bregman balls of radius α. Consider
the two types associated to the two types of balls. Show that, in both cases, the
α-Bregman complex has the same homotopy type as the union of the Bregman
balls.

4.7 Bibliographical Notes


Voronoi diagrams are very natural constructions that have been discovered
several times and appear in the literature under various names like Dirichlet
tesselations or Thiessen diagrams. The observation that Voronoi diagrams
of Rd are projections of convex polyhedra of Rd+1 goes back to Voronoi
himself. Delaunay has defined the triangulations that bear his name and proved
Theorem 4.3 in his seminal paper [64].
Voronoi diagrams and Delaunay triangulations are fundamental geometric
structures that have received a lot a attention. Main results can be found in
most textbooks on discrete and computational geometry [61, 25, 87] and more
comprehensive treatments can be found in the books by Okabe et al. [113] and
Aurenhammer et al. [7].
The space of spheres we referred to in Exercise 4.1 is fully developed in the
books by Pedoe [115] and Berger [8].
Weighted Voronoi diagrams appear also in the literature under the names of
Laguerre diagrams or power diagrams. Weighted Delaunay triangulations are
also named regular triangulations. They were first studied in a systematic way
by Aurenhammer [6] who proved Theorem 4.8. The solution to Exercise 4.15
is due to Clarkson and Shor [59]. Bregman Voronoi diagrams were introduced
by Boissonnat, Nielsen, and Nock [21]. The fact that the α-Bregman complex
has the same homotopy type as the union of the Bregman balls (Exercise 4.18)
has been first observed by Edelsbrunner and Wagner [77]. A recent survey on
affine and curved Voronoi diagrams can be found in [23].
Natural coordinates (Exercise 4.9) have been introduced by Sibson
[124, 123].
The CGAL library [12] (www.cgal.org) offers fully reliable and efficient
implementations of algorithms to construct Delaunay and weighted Delaunay
triangulations in arbitrary dimensions.
5
Good Triangulations

In this chapter, we are interested in constructing simplicial complexes with a


guaranteed quality. On the one hand, we would like to control the density of
their vertices and, on the other hand, we would like to control the shape of the
simplices and avoid simplices that are too flat.
In Section 5.1, we introduce ε-nets in order to capture a notion of good
sample of a bounded subset ⊂ Rd . We will see that, for fixed d, the
complexity of Voronoi diagrams and Delaunay complexes of an ε-net of
d
of size n is linear in n. This is to be compared with the bound (n 2  ) given
in Chapter 4 which is tight in the worst case.
Although Delaunay triangulations have many beautiful properties, their
simplices, in dimension greater than 2, may have an arbitrarily small volume
even if their vertices are well distributed. Avoiding such bad simplices is a
major issue and the importance of thick triangulations, to be introduced in
Section 5.2, has been recognized since the early days of differential topology.
Thick triangulations play a central role in many works on the triangulation
of manifolds (see Part III) and appear to be crucial in scientific computing to
ensure the convergence of numerical methods.
In order to improve the quality of the simplices of a Delaunay complex,
one can perturb the position of the vertices or the metric of the space. We
introduce in Section 5.3 a perturbation scheme that associates to each point a
weight and replaces the Delaunay complex by its weighted version. We show
that the weight assigned to each point can be computed so that the resulting
weighted Delaunay complex has some guaranteed thickness. The method is
an algorithmic application of the Lovász local lemma, which is recalled in
Section 5.3.4.

69
70 Good Triangulations

5.1 Nets
5.1.1 Nets in Euclidean Space
We consider a bounded subset of Rd and denote by P a finite set of points
in . The Hausdorff distance dH (P, ) is called the sampling radius of P and
denoted by ε. We also say that P is an ε-dense sample of . We further call
η = minp,q∈P p − q the separation of P and η̄ = η/ε the separation ratio
of P.
Any finite point set P of whose sampling radius is ε and whose separation
ratio is η̄ is called an (ε, η̄)-net of . Note that for any finite set of distinct
points P ⊂ , there is some positive ε and η̄ such that P is an (ε, η̄)-net for .
Thus ε and η̄ are simply parameters that describe properties of P in .
In the sequel, we will often consider the subset of (ε, η̄)-samples of where
η̄ is lower bounded by a positive constant. Such point sets will be called ε-nets
for short.
Lemma 5.1 Let P be an (ε, η̄)-net of . If the radius of the smallest ball
enclosing any connected component of is greater than ε, then for any point
p ∈ P, the distance L(p) from p to its nearest neighbor in P \ {p} is at most 2ε.
Therefore we must have η̄ ≤ 2.
Proof Because P is ε-dense in , the union of the balls B(p, ε), p ∈ P, covers
. Now let r > ε and assume for a contradiction that there exists a point
p ∈ P such that B(p, 2r) does not contain any point of P other than p. Then
intersects the spherical shell B(p, r)\B(p, ε) and this intersection is not covered
by any ball B(q, ε), q ∈ P, violating the hypothesis that P is ε-dense in .
The next lemma shows that nets exist.
Lemma 5.2 (Existence of ε-nets) Let be a bounded subset of Rd and ε be
any positive real. Then admits an (ε, 1)-net.
Proof We apply the following procedure: while there exists a point p ∈ at
distance at least ε from P, insert p in P. Because the domain is compact and
the algorithm inserts no point at distance less than ε from a previously inserted
point, the algorithm terminates. Upon termination, any point of is at distance
less than ε from P.
Lemma 5.3 (Size of an ε-net) Let be a bounded domain of Rd . The number
of points of an (ε, η̄)-net n(ε, η̄) satisfies
η
vold ( ) vold ( 2 )
≤ n(ε, η̄) ≤
vold (B(ε)) vold (B( η2 ))
5.1 Nets 71

where B(r) denotes a d-ball of radius r, η = η̄ε, and

η
 η
2 = x ∈ Rd , d(x, ) ≤ .
2
1
If vold ( ) > 0, then n(ε, η̄) = εd
where the constant in the depends on
the geometry of and on η̄d .
Proof The ball B(p, ε) of radius ε that are centered at the points p ∈ P
cover . This yields the left inequality. The balls B(p, η2 ) of radius η2 that are
η
centered at the points p ∈ P are disjoint and they are all contained in 2 . This
leads to the right inequality.

5.1.2 Delaunay Complex of a Net


Let be a subset of Rd of positive d-volume and let P a finite set of points
in . The nerve of the covering of by the Voronoi cells of P is called the
restriction of Del(P) to and denoted by Del| (P). Equivalently, Del| (P) is
the subcomplex of Del(P) whose dual Voronoi faces intersect .
We consider now the case in which P is an (ε, η̄)-net of . We already
observed that every simplex σ of Del| (P) must have a circumradius not
greater than ε.
Observe also that all Delaunay simplices with a vertex at distance greater
than 2ε from the boundary of belong to Del| (P) (see Exercise 5.1).
Lemma 5.4 (Delaunay complex of a net) Let be a bounded subset of
Rd , P an (ε, η̄)-net of , and assume that d and η̄ are positive constants. The
2
restriction of the Delaunay complex of P to has size 2O(d ) |P| (i.e., the size
is linear for fixed d).
Proof Let p be a point of P. We first bound the number of neighbors of p,
i.e., the vertices of the link of p in Del| (P). Let σ be a simplex of Del| (P)
in the star of p. As observed above, the diameter of σ is at most 2ε. Moreover,
all the open balls B(q, η̄ε
2 ), q ∈ P, are disjoint by definition of the separation.
Hence, the number of neighbors of p is at most
 
vold B(2ε + η̄ε2 ) 4 d
np =   = 1+
vold B( η̄ε η̄
2 )

where B(r) denotes a ball of radius r.


72 Good Triangulations

Assuming without real loss of generality that np ≥ d + 1, we deduce that


the number of simplices in the star of p is at most

d+1
np 2
= 2O(d ) .
i
i=1

We will show now that the randomized incremental construction (see


Theorems 4.4 and 3.11) constructs the Delaunay complex of any net P in time
O(n log n) time where n = |P|. Remarkably, we don’t need to modify the
algorithm whose behaviour will automatically adapt to the fact that the input
point set is a net. To analyze the complexity of the algorithm in this context,
it is sufficient to show that the expected complexity of the Delaunay complex
of a random sample S of P has linear size O(|S|). Indeed, the expected number
of simplices that appear in the Delaunay complex of a point set P ∈ Rd during
the randomized incremental construction, is
 n 
d
O 0 (i, P) ,
i
i=1
where 0 (i, P) is the expected size of the Delaunay complex of a random
sample of size i, drawn from the point set P. It will then immediately follow
from the analysis of the complexity of the randomized algorithm that the
complexity of the algorithm is O(n log n) when P is a net.
Lemma 5.5 A random subsample S of an (ε, η̄)-net P has a Delaunay
2
complex of expected size 2O(d ) |S| (i.e. the expected size is linear for fixed d).
Proof We first give the proof in the case in which S is a Bernoulli sample,
i.e. it is obtained from P by picking every point p ∈ P with probability  .
Without real loss of generality, we will take η̄ = 1 and, for convenience, we
will write  = (ε/δ)d .
Let us fix a point p ∈ P; we shall upper bound the size of star(p, Del(S)),
i.e. the set of simplices of Del(S) with vertex p. Let Ik = [2k−1 δ, 2k δ), k ∈ N.
Consider a d-tuple τ of points of P such that the d-simplex formed by the
points in σ = τ ∪ {p}, has circumcentre cσ and circumradius rσ . Then, given
that p ∈ S, the event E(τ ) = (σ ∈ Del(S)) could occur only if the following
two events occur:
(σ )
(i) E1 = (∀p ∈ σ , p ∈ S)
(σ )
(ii) E2 = (B(cσ , rσ ) ∩ S = ∅), where B(x, r) is the open ball centered at x
with radius r.
5.1 Nets 73

Given that p ∈ S, the probability that σ ∈ Del(S) can be therefore upper-


bounded as follows. We write nσ = P ∩ B(p, rσ ) ≥ (rσ /ε)d (by a packing
argument).
(σ ) (σ )
proba[E(τ ) ] = proba[E1 ∧ E2 ]
(σ )
=  d proba[E2 ]
≤  d (1 −  )nσ (5.1)
d − nσ
≤ e
 ε d2
e−(ε/δ) (rσ /ε)
d d

δ
 ε d2
e−(rσ /δ)
d

δ
If σ has circumradius rσ ∈ Ik , we get

proba[E(τ ) ] ≤ (ε/δ)d e−2


2 (k−1)d

By the triangle inequality, if σ ∈ Del(S) has a circumradius rσ , then all the


points in σ must lie in the ball B(p, 2rσ ). Therefore, the number of potential
d-tuples which can contribute to star(p, Del(S)) is at most ((4rσ /ε)d )d =
2 2
(4rσ /ε)d ≤ (2k+2 δ/ε)d . Let

|{σ ∈ Del(S) : p ∈ σ , rσ ∈ [2k−1 δ, 2k δ)}|, p ∈ S,
Zp (k) :=
0, otherwise,
denote the number of Delaunay simplices that contain p ∈ S and have circum-
radius rσ ∈ Ik . Then we get

E[Zp (k)] ≤ proba[E(τ ) ]
τ ∈(P∩B(p,2r))d

≤ (2k+2 δ/ε)d (ε/δ)d e−2


2 2 (k−1)d

= 4d 2kd e−2
2 2 (k−1)d


Define Yp := k=1 Zp (k) to be the number of Delaunay simplices in
star(p, Del(S)). Summing k over all allowed ranges of r, Summing over all
allowed ranges of r, we get


4d e−2
2 (k−1)d 2
E[Yp ] ≤ · 2kd
k=1


e−k · k d · 2d
2 2
= 4d (with k = 2(k−1)d )
k =1
74 Good Triangulations


e−k · k d
2
= 8d
k =1

d2
e−x · xd dx = 8d
2
≤8 (d + 1)
x=0
O(d2 )
=2 .
!∞
where (t) := 0 e−x xt−1 dx denotes the Gamma function. Therefore, the
expected size of Del(S) is given by
 2 2
E[|Del(S)|] ≤ proba[p ∈ S] E[Yp ] ≤ n · 2O(d ) = E[|S|] · 2O(d ) .
p∈P

The previous result does not apply directly to the randomized construction
of the Delaunay complex of P. When the points are inserted in a random order,
the i-th point to be inserted is a random point in a uniform sample of size i of P.
We thus consider now the case of a random subset S ⊆ P of size s. Given that
p ∈ S, choosing the rest of the random subsample S is equivalent to choosing
a random sample of s − 1 elements from P \ {p}. Now from Equation 5.1 and
Exercise 5.2, we get:
(rσ /ε)d
s−1 d s−1
proba[E(τ ) ] ≤ 1−
n−1 n−1
 s d  s (rσ /ε)d
≈ 1−
n n
d
=  d (1 −  )(rσ /ε) ,

where  = s/n is the probability for a point of P to belong to S. The rest of


the computations follows as previously leading to the same asymptotic bound
on E[|Del(S)|].
We conclude from this discussion and Lemma 5.5:
Theorem 5.6 Let P be an ε-net in Rd . The randomized incremental construc-
2
tion of a Delaunay complex of P requires on expectation 2O(d ) |P| memory
2
space and 2O(d ) |P| log |P| time.

5.1.3 Nets in Discrete Metric Spaces


So far, we have considered nets in subsets of Euclidean spaces. However nets
can be defined in more general metric spaces. In this section, we consider
the case where is a finite set of points that we rename W to emphasize
5.1 Nets 75

the distinction. We do not assume that W is embedded in Euclidean space


and the points are not given a location. Instead, we only assume to know
the distance matrix of W, i.e., the |W| × |W| matrix M whose element mi,j is
the distance between the points wi and wj . W together with M defines a discrete
metric space. Nets can be defined in discrete metric spaces in very much the
same way they have been defined in Euclidean space.
Extracting from W a coarser sample that is a net of W will allow to benefit
from the nice properties of nets. It will also allow to represent data at various
resolutions, to cluster data and to construct witness complexes, a weak variant
of Delaunay complexes that can be defined and constructed in any discrete
metric space (Section 6.2).
We first prove the existence of nets in the context of discrete metric spaces
(see Lemma 5.2 for its analog in the Euclidean case).
Lemma 5.7 (Existence of nets) Let W be a finite set of points such that the
distance of any point q ∈ W to W \ {q} is at most ε and let λ ≥ ε. One can
extract from W a subsample L that is a (λ, 1)-net of W.
In preparation for Section 6.2, we will often refer to the points of L as
landmarks and to the points of W as witnesses.
Proof We construct the sample L by inserting points of W one by one.
Initially L := ∅ and W := W. At each step, we pick a point of W , say p, insert
it in L, and remove p from W as well as all the points of W whose distance to p
is less than λ. We stop when W is empty. The algorithm necessarily terminates
since W is finite. Upon termination, all the points of W are at distance at most
λ from a point of L (since otherwise it would be inserted in L) and two points
of L are at distance at least λ (since we never insert a point at distance less than
λ from the current set L). It follows that L is a (λ, 1)-net of W.
We can improve the algorithm described in the proof of Lemma 5.7 by
inserting, at each step, a point p ∈ W that is farthest from the current set of
landmarks L (see Algorithm 3 (Case 1)).
We maintain for each point w of W its closest point L(w) in L and, at each
step, we select the point w ∈ W which is most distant from its closest landmark
L(w). The algorithm requires O(|W|) storage and its time complexity is easily
seen to be O(|L| × |W|).
The next lemma shows that this strategy implies that the separation ratio
remains constant over the refinement.
For any i > 0, let Li and λi denote, respectively, L and λ∗ = maxw∈W w −
L(w) at the end of the i-th iteration of the main loop of the algorithm. If
we label the points by their insertion order, we have Li = { p1 , . . . , pi } and
76 Good Triangulations

Algorithm 3: Farthest point insertion


Input: The distance matrix of a finite point set W and either a positive
constant λ (Case 1) or an integer k (Case 2)
L := ∅
W := W
L(w) := p∞ for all w ∈ W {p∞ is a fake point at infinite distance from W}
λ∗ := maxw∈W w − L(w)
w∗ := a point p ∈ W such that p − L(p) = λ∗
while either λ∗ > λ (Case 1) or |L| < k (Case 2) do
add w∗ to L and remove w∗ from W
for each point w of W such that w − w∗ < w − L(w) do
L(w) := w∗
update λ∗ and w∗
Output: L ⊆ W, a (λ, 1)-net of W (Case 1), an approximate solution to the
k-centers problem (Case 2)

λi = d(pi , Li−1 ). Because Li grows with i, λi is a decreasing function of i.


Moreover:
Lemma 5.8 At each iteration i > 0, Li is a (λi , 1)-net of W.
Proof The fact that Li is λi -dense in W follows directly from the definition
of λi . Let us show that Li is λi separated. Consider a closest pair of points pa pb
of Li and assume that pb has been inserted after pa . Then pa − pb = λb ≥ λi .
This implies that Li is λi -separated.
In some applications, we are interested in selecting a given number k of
points. We are then interested in the following k-centers problem : select from
W a subset L of k points that are as far apart from each other as possible. More
precisely, we want to choose a subset L of k points of W in such a way as to
maximize the separation of L, i.e., the minimum pairwise distance between the
points of L. We can use Algorithm 3 (Case 2) for that purpose. Interestingly,
this simple greedy algorithm provides a 2-approximation to the problem.
Lemma 5.9 (Approximation of the k-centers problem) Algorithm 3
(Case 2) provides an approximation ratio of 2 for the k-centers problem.
Proof Let Lk = l1 , . . . , lk be the set of the k first selected points by the
algorithm, labelled according to the order they have been selected. Let λk
denote the distance of the k-th point from all previously selected points li ,
i = 1, . . . , k − 1. Consider the set of balls B(li , λk ), i, . . . , k − 1. Their union
5.2 Thick Simplices 77

contains all the points of W and therefore all the points of any optimal solution
Lopt to the k-centers problem. Since |Lopt | = k and there are k − 1 balls, there
must be two points of Lopt that fall in the same ball B(li , λk ) for some i ≤ k − 1.
It follows that there exists a pair of points in Lopt that is at distance at most 2λk
by the triangular inequality.
On the other hand, the distance between any two points of Lk is at least λk
by Lemma 5.8. It follows that Algorithm 3 (Case 2) provides an approximation
ratio of 2 for the k-centers problem.

5.2 Thick Simplices


For a given set of points P ∈ R2 , Del(P) maximizes, over all possible
triangulations of P, the smallest angle of the triangles (Exercise 5.6) and it
can be easily shown that, if P is a net, then the angles of the triangles are lower
bounded by some positive constant (Exercise 5.5). However, the property does
not hold for higher dimensional Delaunay triangulations and one cannot bound
the dihedral angles of higher dimensional simplices as shown in Figure 5.1.

Figure 5.1 The four vertices of a squared face f of a uniform grid are cocircular
and can be circumscribed by a sphere centered at the center of the face. This
sphere does not enclose any other vertex of the grid. We can then slightly perturb
the vertices of f so that the convex hull of the vertices of f is now a tetrahedron of
positive volume whose circumscribing sphere does not include any other vertex of
the grid. Hence, it is a tetrahedron in the Delaunay triangulation of the (perturbed)
vertices of the grid.
78 Good Triangulations

For any vertex p of a simplex σ , the face opposite p, denoted by σp , is the


convex hull of the other vertices of σ . The altitude of p in σ is the distance
D(p, σ ) = d(p, aff(σp )) from p to the affine space aff(σp ) spanned by σp .
The altitude D(σ ) of σ is the minimum over all vertices p of σ of D(p, σ ).
A poorly-shaped simplex can be characterized by the existence of a relatively
small altitude. The thickness of a j-simplex σ is the dimensionless quantity

1 if j = 0
(σ ) = D(σ )
j(σ ) otherwise,

where (σ ) denotes the diameter of σ , i.e. the length of its longest edge.

5.2.1 Thickness and Singular Value


We will show in the next lemma that the thickness of a simplex is related to
the singular values of a matrix. Before stating the lemma, we recall some well
known results on matrices and their singular values and refer the reader to
the book of Trefethen and Bau [127] for an excellent introduction to singular
values. If A is a d × j matrix with j ≤ d, we assume that the singular values
of A are ordered according to decreasing absolute values and we denote the
ith singular value by si (A). We have s1 (A) = A = sup x =1 Ax and
sj (A) = inf x =1 Ax . We will employ the following standard observation:
Lemma 5.10 If μ > 0 is an upper bound on the norms of the columns of A,

then s1 (A) = A ≤ jμ.
From the given definitions, one can verify that if A is an invertible d × d
matrix, then s1 (A−1 ) = sd (A)−1 , but it is convenient to also accommodate
non-square matrices, corresponding to simplices that are not full dimensional.
If A is a d × j matrix of rank j ≤ d, then the pseudo-inverse A† = (AT A)−1 AT
is the unique left inverse of A whose kernel is the orthogonal complement of
the column space of A. We have the following general observation [127]:
Lemma 5.11 Let A be a d × j matrix of rank j ≤ d and let A† be its pseudo
inverse = (AT A)−1 AT . We have

si (A† ) = sj−i+1 (A)−1 , for i = 1, . . . , j.

In particular, sj (A) = s1 (A† )−1 .


The columns of A form a basis for the column space of A. The pseudo-
inverse can also be described in terms of the dual basis. If we denote the
5.2 Thick Simplices 79

wi

pi

σpi

p0
Figure 5.2 Choosing p0 as the origin, the edges emanating from p0 in σ =
[p0 , . . . , pj ] form a basis for aff(σ ). The proof of Lemma 5.12 demonstrates that
the dual basis {wi } consists of vectors that are orthogonal to the facets, and with
magnitude equal to the inverse of the corresponding altitude.

columns of A by {ai }, then the ith dual vector, wi , is the unique vector in the
column space of A such that wTi ai = 1 and wTi aj = 0 if i = j. Then A† is the
j × d matrix whose ith row is wTi .
By exploiting a close connection between the altitudes of a simplex and the
vectors dual to a basis defined by the simplex, we obtain the following key
lemma that relates the thickness of a simplex to the smallest singular value of
an associated matrix (see Figure 5.2):
Lemma 5.12 (Thickness and singular value) Let σ = conv( p0 , . . . , pj ) be
a non-degenerate j-simplex in Rd , with j > 0, and let P be the d × j matrix
whose ith column is pi − p0 . Then
" "
sj (P) ≥ D(σ )/ j = j (σ )(σ ).
Proof We first show that the ith row of P† is given by wTi , where wi is
orthogonal to aff(σpi ), and

wi = D(pi , σ )−1 .

Indeed, by the definition of P† , it follows that wi belongs to the column space


of P, and it is orthogonal to all (pi − p0 ) for i = i. Let ui = wi / wi . By
the definition of wi , we have wTi (pi − p0 ) = 1 = wi uTi (pi − p0 ). By the
definition of the altitude of a vertex, we have uTi (pi − p0 ) = D(pi , σ ). Thus
wi = D(pi , σ )−1 . Since
−1
max D(pi , σ )−1 = min D(pi , σ ) = (j (σ )(σ ))−1 ,
1≤i≤j 1≤i≤j
80 Good Triangulations

Lemma 5.10, yields


"
s1 (P† ) ≤ ( j (σ )(σ ))−1 .

The stated bound on sj (P) follows from Lemma 5.11.


The proof of Lemma 5.12 shows that the pseudoinverse of P has a natural
geometric interpretation in terms of the altitudes of σ , and thus the altitudes

provide a convenient lower bound on sj (P). By Lemma 5.10, s1 (P) ≤ j(σ ),
s (P)
and thus (σ ) ≤ s1j (P) . In other words, (σ )−1 provides a convenient upper
bound on the condition number of P. Roughly speaking, thickness imparts a
kind of stability on the geometric properties of a simplex. This is exactly what
is required when we want to show that a small change in a simplex will not
yield a large change in some geometric quantity of interest.

5.2.2 Whitney’s Angle Bound


The following lemma is due to Whitney. It shows that, if the vertices of a
simplex σ are at small relative distance from an affine space H, and if the
thickness of the simplex is bounded away from 0, then the angle between the
affine hull of σ and H is small. Before stating the lemma, we define angles
between vector spaces.
Definition 5.13 (Angles between subspaces) If U and V are vector sub-
spaces of Rd , with dim U ≤ dim V, the angle between them is defined by

sin  (U, V) = sup u − πV u , (5.2)


u∈U
u =1

where πV is the orthogonal projection onto V.


Alternatively, the angle between vector subspaces U and V can be defined as:

 (U, V) = max{min  (u, v)} (5.3)


u∈U v∈V

The angle between affine subspaces K and H is defined as the angle between
the corresponding parallel vector subspaces.
Lemma 5.14 (Whitney’s angle bound) Suppose σ is a j-simplex of Rd , j <
d, whose vertices all lie within a distance δ from a k-dimensional affine space
h ⊂ Rd with k ≥ j. Then
2j δ 2δ
sin  (aff(σ ), h) ≤ = .
D(σ ) (σ )(σ )
5.2 Thick Simplices 81

Proof Suppose σ = conv( p0 , . . . , pj ). Choose p0 as the origin of Rd and let


h : R → h be the orthogonal projection onto h. Let u be any unit vector in
d

aff(σ ). Since the vectors vi = ( pi − p0 ), i ∈ {1, . . . , j} form a basis for aff(σ ),


we may write u = Pa, where P is the d × j matrix whose ith column is vi , and
a ∈ Rj is the vector of coefficients. Then, defining X = P − h P, we get

u− hu = Xa ≤ X a .

Since d(pi , h) ≤ h for all 0 ≤ i ≤ j, vi − h vi ≤ 2δ. It follows then from


Lemma 5.10 that
"
X ≤ 2 jδ.

Observing that 1 = u = Pa ≥ a inf x =1 Px = a sj (P), we find


1
a ≤ ,
sj (P)
and the result follows from Lemma 5.12.
Whitney’s angle bound will be especially useful in Chapter 8. There, h will
be the tangent space Tp at a point p of a smooth manifold M, and σ will
be a thick simplex whose vertices are close (relatively to the diameter of the
simplex) to Tp . Whitney’s lemma asserts that the affine hull of σ makes a small
angle with Tp . Thickness plays a crucial role here as the following example
shows. The Schwarz lantern is a polyhedral surface inscribed in a cylinder
as shown in Figure 5.3. By increasing the number of vertices of the lantern,

Figure 5.3 The Schwarz lantern.


82 Good Triangulations

we can make the Hausdorff distance between the lantern and the cylinder
arbitrarily small but increasing the sampling density does not guarantee that
the planes of the facets of the lantern provide a good approximation of the
tangent planes of the cylinder. In fact, the angle between the normal to a facet
and the normal to the cylinder at any of the vertices of the facet can be made
arbitrarily close to π/2. Such a situation cannot happen if the facets have a
bounded thickness as stated by Whitney’s lemma.

5.3 Thick Triangulations via Weighting


The notion of thickness introduced in Section 5.2 is an important measure of
the shape of a simplex. A simplicial complex is thick when all its simplices
are thick. We have seen (Figure 5.1) that Delaunay triangulations are not
necessarily thick even if the vertices form an (ε, η̄)-net. The goal of this section
is to show that a thick simplicial complex can nevertheless be obtained from
an (ε, η̄)-net by assigning (relatively small) weights to the points of the net
and considering the weighted Delaunay triangulation of the resulting set of
weighted points.
To keep the exposition simple, we depart from the rest of this book and
will work in this section in the flat torus Td = Rd /Zd instead of Rd . As
a consequence, if P is a finite set of points in Td , the Delaunay complex
and weighted Delaunay complexes of P have no boundary. Boundary issues
obscure the central properties we want to develop. It is not difficult to extend
the results to the case of a bounded domain of Rd , provided that we only look
sufficiently far away from the boundary of the domain.

5.3.1 Weighting Schemes


We consider a set of points P that is an (ε, η̄)-net in Td . A weighting scheme
on P is a function w from P to R, which assigns to each point p ∈ P a
weight w(p) ∈ R. We denote by P̂ the resulting set of weighted points, i. e.
P̂ = {(p, w(p) : p ∈ P}, and by Del(P̂) the corresponding weighted Delaunay
triangulation.
We restrict the weighting scheme to non-negative weights. The relative
amplitude w̃ of the weighting scheme w is defined as
w(p)
w̃ = max ,
p∈P L2 (p)
where L(p) is the distance from p to its nearest neighbor in P \ p. We also wish
that each point of P appears as a vertex of Del(P̂). As shown in Section 4.4.3,
5.3 Thick Triangulations via Weighting 83
2
this condition is ensured if, for each p ∈ P, w(p) < L 4(p) . From now on, we
will only consider weighting schemes that have a relative amplitude smaller
than 14 , that is w̃ ≤ w̃0 where w̃0 is a constant smaller than 14 .
The main result of this section is that, for any (ε, η̄)-net P of Td , given a
small enough constant 0 , there are weighting schemes with relative amplitude
smaller than w̃0 < 14 and such that the weighted Delaunay triangulation Del(P̂)
j
has no j-simplex with thickness less than 0 , for j = 1, . . . , d. Moreover, as we
will see in Section 5.3, such weighting schemes can be computed by a simple
randomized algorithm.
In the rest of this section, we use the same notation σ for a geometric simplex
with vertices in P and for its abstract counterpart, which is just the subset of P
formed by the vertices of σ . Given a weighting scheme w defined on P, each
simplex σ ⊂ P corresponds to a subset σ̂ of P̂: σ̂ = {( p, w(p) : p ∈ σ }. Two
weighted points are said to be orthogonal if their weighted distance is zero.
A weighted point orthogonal to all the weighted points of σ̂ is said to
be orthogonal to σ̂ . If σ is a simplex of dimension j, the weighted points
orthogonal to σ̂ are centered on an affine subspace of dimension d − j
orthogonal to the affine subspace aff(σ ). The intersection point of these two
subspaces is denoted by c(σ̂ ). Let (c(σ̂ ), R2 (σ̂ )) be the weighted point centered
on c(σ̂ ) and orthogonal to σ̂ . The weighted point (c(σ̂ ), R2 (σ̂ )) is the weighted
point with minimal weight among all the weighted points orthogonal to σ̂ . The
point c(σ̂ ) is called the weighted center of the simplex σ and R(σ̂ ) is called
the weighted radius of σ .
Note that weighted center c(σ̂ ) and the weighted radius R(σ̂ ) depend on the
weights assigned to the vertices of σ and are different from the center c(σ ) and
circumradius R(σ ) of σ . We will make use of the following lemma that bounds
the weighted radii and the diameters of the simplexes in Del(P̂).
Lemma 5.15 (Weighted radii and diameters of simplices in Del(P̂)) Let
P be an (ε, η̄)-net of Td and assume that a non-negative weighting scheme
with relative amplitude smaller than w̃0 < 14 has been defined on P. Then,
any simplex σ of Del(P̂) has a √weighted radius R(σ̂ ) that is at most  and a
diameter (τ ) that is at most 2 2ε.
Proof Let σ be a simplex of Del(P̂). The simplex σ being included in some
d-simplex τ of Del(P̂), the weighted radius R(σ̂ ) of σ is at most the weighted
radius R(τ̂ ) of τ . We now prove that R(τ̂ ) is at most . Indeed otherwise,
since P is ε-dense, the ball B(c(τ̂ ), R(τ̂ )) associated to the weighted center
(c(τ̂ ), R2 (τ̂ )) of τ would include a point q of P. Then the weighted distance
from q to (c(τ̂ ), R2 (τ̂ )) is negative, and this contradicts the fact that σ belongs
to Del(P̂).
84 Good Triangulations

Let us consider now the Euclidean distance d(c(σ̂ ), p) from the weighted
circumcenter c(σ̂ ) to any vertex p of σ . We have:

d(c(σ̂ ), p)2 = R(σ̂ )2 + w(p)


≤ ε2 + w̃0 L(p)2 .

where L(p) is the distance from p to its nearest neighbor in P \ {p}. From


Lemma 5.1, we have Ł(p) ≤ 2ε and thus d(c(σ̂ ), p) ≤ ε 1 + 4w̃0 ≤ 2ε.
Since this bound holds√for any vertex p of σ , we conclude that the diameter
(σ ) of σ is at most 2 2ε.

5.3.2 0 -thickness and Flakes


A simplex that is not thick has a relatively small altitude. We focus here on a
special class of nonthick simplices, called flakes in which all the altitudes are
relatively small. Let 0 be a constant smaller than 1.
j
Definition 5.16 (0 -flakes) A j-simplex σ is 0 -thick if (σ ) ≥ 0. A 0-
flake is a simplex that is not 0 -thick but whose proper faces are all 0 -thick.

Observe that a flake must have dimension at least 2, as (σ ) = 1 for any


simplex σ with dimension j < 2.
A simplicial complex whose simplices are all 0 -thick is said to be
0 -thick. Observe that a simplicial complex is 0 -thick iff it includes no
0 -flake. Indeed, if σ is not 0 -thick, then either it is a 0 -flake or it has
a proper j-face σj ⊂ σ that is not 0 -thick. By considering such a face with
minimal dimension, we arrive at the following observation:
Lemma 5.17 A simplex is not 0 -thick if and only if it has a face that is a
0 -flake.

In Lemma 5.19, we show an upper bound on the altitudes of a 0 -flake.


First, we provide a general relationship between the altitudes of a simplex:
Lemma 5.18 Let σ be a j-simplex with j ≥ 2. If p and q are two vertices
of σ , we note σp the subface σ \ {p} of σ and σq the subface σ \ {q}. The
altitudes D(p, σ ) and D(p, σq ) of p within, respectively, σ and σq and the
altitudes D(q, σ ) and D(q, σp ) of q within, respectively, σ and σp satisfy the
following relation:
D(p, σ ) D(q, σ )
= .
D(p, σq ) D(q, σp )
5.3 Thick Triangulations via Weighting 85

Proof The proof follows from a volume computation. Let volj (σ ), volj−1 (σp )
and volj−2 (σpq ) be the volumes of the simplices σ , σp and σpq = σ \ {p, q}
respectively. We have
1 1
volj (σ ) = D(p, σ )volj−1 (σp ) = D(p, σ )D(q, σp )volj−2 (σpq ).
j j(j − 1)
The similar relation, obtained replacing p by q, obviously holds and both
relations together prove the lemma.
We arrive at the following important observation about flake simplices:
Lemma 5.19 (Flakes have small altitudes) If a k-simplex σ is a 0 -flake,
then for every vertex p ∈ σ , the altitude D(p, σ ) satisfies the bound
k 2 (σ ) 0 2 (σ ) 0
D(p, σ ) < <2 ,
k − 1 L(σ ) L(σ )
where (σ ) and L(σ ) are the lengths of the longest and shortest edges of σ .
Proof Recalling Lemma 5.18, we have
D(q, σ )D(p, σq )
D(p, σ ) = , (5.4)
D(q, σp )
and taking q to be a vertex with minimal altitude in σ , we have
D(q, σ ) = k (σ )(σ ) < k k
0 (σ ). (5.5)
Moreover, since σp is 0 -thick, we have:
k−1
D(q, σp ) ≥ (k − 1) (σp )(σp ) ≥ (k − 1) 0 L(σ ). (5.6)
Furthermore:
D(p, σq ) ≤ (σq ) ≤ (σ ). (5.7)
Plugging Equations 5.5, 5.6 and 5.7 into Equation 5.4 yields the claimed
bound.

5.3.3 The Weight Range of a Flake with Small Radius


Let σ be a 0 flake of dimension j. If we assign weights to the vertices of σ ,
the weighted radius R(σ̂ ) of σ depends on the weights of its vertices. We show
here that to keep the weighted radius R(σ̂ ) smaller than a given ε we have to
choose the weight of each vertex of σ within a small interval whose measure
is linear in 0 .
86 Good Triangulations

R(σ̂) w(p)
p
c(σ̂)

D(p, σ)
c(σ̂p) R(σ̂p) aff(σp)

N (σ̂p)
Figure 5.4 For the proof of Lemma 5.20.

Lemma 5.20 Let σ be a 0 -flake and assume that we are given a weighting
scheme with non-negative weights on the vertices of σ . If the weighted radius
R(σ̂ ) of σ is smaller than ε, the weight w(p) of any vertex p of σ belongs to an
interval I(σ , p) whose measure |I(σ , p)| satisfies:
(σ )2
|I(σ , p)| ≤ 8 0 ε.
L(σ )
If furthermore the vertices of σ belongs to an (ε, η̄)-net, and the weighting
scheme has a relative amplitude smaller than w̃0 < 14 , the measure of I(σ , p)
satisfies:
def 2
|I(σ , p)| ≤ |I| = 64 0 .
η̄
Proof Let c(σ̂ ) and R(σ̂ ) be, respectively, the weighted center and weighted
radius of σ . Likewise, we use c(σ̂p ) and R(σ̂p ) for, respectively, the weighted
center and the weighted radius of σp , where σp is the subface σ \ p of σ .
Referring to Figure 5.4, we get:
R2 (σ̂ ) = d2 (c(σ̂ ), c(σ̂p )) + R2 (σ̂p ), (5.8)
The set of points of Rd with equal weighted distances to the vertices of σp
is an affine subspace we denote by N(σ̂p ). Writing d(p, N(σ̂p )) for the distance
from p to N(σ̂p ), we have:
5.3 Thick Triangulations via Weighting 87
 2
R2 (σ̂ ) + w(p) = d2 (p, c(σ̂ )) = d2 (p, N(σ̂p )) + D(p, σ ) − H(p, σ̂ ) (5.9)
where D(p, σ ) is the altitude of p in σ and H(p, σ̂ ) = d(c(σ̂ ), c(σ̂p )) if p and
c(σ̂ ) are on the same side of aff(σp ) and H(p, σ̂ ) = −d(c(σ̂ ), c(σ̂p )) otherwise.
Using Equations 5.8 and 5.9 together, we get:
 2
w(p) = d2 (p, N(σ̂p )) + D(p, σ ) − H(p, σ̂ ) − R2 (σ̂ )
= d2 (p, N(σ̂p )) + D2 (p, σ ) − R2 (σ̂p ) − 2D(p, σ )H(p, σ̂ ).
Writing F(p, σ̂ ) = d2 (p, N(σ̂p )) + D2 (p, σ ) − R2 (σ̂p ), we get:
w(p) = F(p, σ̂ ) − 2D(p, σ )H(p, σ̂ ).
Hence,
|w(p) − F(p, σ̂ )| = 2D(p, σ ) d(c(σ̂ ), c(σ̂p )). (5.10)
Observe that F(p, σ̂ ) depends on the locations of the vertices of σ and on the
weights of the vertices of σp but does not depend on the weight w(p) of p.
2
From Lemma 5.19, D(p, σ ) ≤ 2 0 (σ )
L(σ ) , and, from Equation 5.8, we get
that d(c(σ̂ ), c(σ̂p )) is at most R(σ̂ ). Therefore, if R(σ̂ ) ≤ ε, the weight w(p) of
p belongs to the interval I(σ , p), centered at F(p, σ̂ ), of measure
(σ )2
|I(σ , p)| ≤ 8 0 ε. (5.11)
L(σ )
In the case where σ belongs
√ to an (ε, η̄)-net, we have L(σ ) ≥ η̄ε and, from
Lemma 5.15, (σ ) ≤ 2 2ε. The weight range |I(σ , p)| then satisfies
2
|I(σ , p)| ≤ 64 0 .
η̄

5.3.4 Lovász Local Lemma


We will see in Section 5.3 how to to compute, for a given input set of points P,
a weighting scheme yielding to a thick weighted Delaunay triangulation. This
construction relies on the constructive proof of the Lovász local lemma due
to Moser and Tardos. In this section, we recall without proof these important
results.
Lovász local lemma [1] is a powerful tool to prove the existence of
combinatorial objects. Let A be a finite collection of “bad” events in some
probability space. The lemma shows that the probability that none of these
events occur is positive provided that the individual events occur with a
sufficiently small probability and there is limited dependence among them.
Here is the lemma in a simple form that will be sufficient for our purposes.
88 Good Triangulations

Theorem 5.21 (Lovász local lemma) Let A = {A1 , . . . , AN } be a finite set of


events in some probability space. Suppose that each event Ai is independent of
all but at most of the other events and that Pr [Ai ] ≤  for all 1 ≤ i ≤ N. If
1
 ≤ (5.12)
e( + 1)
where e denotes the base of the natural logarithm, then the probability that
none of the events in A occurs is strictly positive.
Assume that the events are determined by a set of independent random
variables. Each event is determined by a subset of those random variables. Two
events are independent if the subsets of random variables determining each of
them do not overlap. In such a case, Moser and Tardos gave a constructive
proof of the Lovász lemma [106, 125]. The proof leads to a simple and
natural algorithm that repeatedly checks whether some event in A occurs. In
the affirmative, the algorithm picks an arbitrary occurring event, say A, and
resamples A, where we call resampling of an event A the operation that consists
in choosing new random values for the variables determining A.
Moser and Tardos proved that this simple algorithm quickly terminates,
providing an assignment of the random variables that avoids all of the events
in A. It is important to note that the selection mechanism for picking an
occurring event in the while loop is arbitrary and does not affect the correctness
of the algorithm.

Algorithm 4: Moser Tardos algorithm


Input: A finite set A of events determined by a finite set P of independent
random variables
for all P ∈ P do
vP ← a random evaluation of P
while some event of A occurs do
pick any such event A ∈ A
resample A
return {vP , P ∈ P}

Theorem 5.22 (Moser Tardos) Assume that the same conditions as in


Theorem 5.21 hold. Assume, in addition, that the events are determined by a
set P of n independent random variables. Moser Tardos randomized algorithm
computes an assignment of values for the variables in P such that no event in
A occurs. The algorithm resamples each event at most 1 expected times and
the expected total number of resampling steps is at most O(n).
5.3 Thick Triangulations via Weighting 89

5.3.5 Applying the Lovász Local Lemma to Remove Flakes


Let P be an (ε, η̄)-net of Rd and w̃0 a constant less than 1/4. Now we take for
the weights of the points in P independent random variables and we pick the
weight of each point p uniformly at random in the interval [0, w̃0 L2 (p)]. An
event occurs when there exists a 0 -flake σ ⊂ P that has a weighted radius
R(σ̂ ) not greater than ε. Because we know from Lemma 5.15, that all simplices
in Del(P̂) have a weighted radius R(σ̂ ) not greater than ε, removing all events
will lead to a 0 -thick complex. For convenience, we will often identify an
event and the associated flake.
Lemma 5.23 The probability that an event occurs is  ≤ 64 w̃ 0
3 .
0 η̄

Proof Let σ be a 0 -flake included in P and assume that the weights of all
the vertices of σ except one, say p, have already been assigned. We know from
Lemma 5.20 that if the weighted radius R(σ̂ ) is not greater than ε, the weight
2
w(p) belongs to an interval of measure less than |I| = 64 0 η̄ . It follows that
the probability that an event occurs is at most

|I| 0
≤ 64 ,
w̃0 L2 (p) w̃0 η̄3

which implies the same bound on the probability of the event σ .


Lemma 5.24 Each event overlaps at most other events, where
d(d+1)
13
+1≤ .
η̄
Proof Let σ be a 0 -flake with weighted center c(σ̂ ) and weighted radius
R(σ̂ ) ≤ ε. An event that overlaps σ is a 0 -flake σ with a weighted radius at
most ε that shares a vertex p with σ . Let q be a vertex of σ . We have:

d(c(σ̂ ), q) ≤ d(c(σ̂ ), p) + d(p, q)


#
≤ R(σ̂ )2 + w(p) + (σ )

Since R(σ̂ ) ≤ ε, w(p) ≤ w̃0 L(p)2 ≤ 4w̃0 ε2 by Lemma 5.1, and (σ ) ≤ 2 2ε
by Lemma 5.15, we get:

d(c(σ̂ ), q) ≤ 3 2ε.

Therefore, any vertex


√ of an event that overlap σ lies in the ball B(c(σ̂ ), r) of
radius r = r̄ε = 3 2ε. Because P is η-separated, this ball contains at most
J(r) points of P, with
90 Good Triangulations
 √ d
(r + η2 )d 2r̄ d 6 2
J(r) = = 1+ ≤ 1+
( η2 )d η̄ η̄
d
11
≤ .
η̄

where the last inequality uses the fact that η̄ ≤ 2.


Because the 0 -flake σ also has its vertices within the ball B(c(σ̂ ), r),
we can bound + 1 by the number of simplices with vertices within
B(c(σ̂ ), r), i.e.,
 d+1
d
d+1 J(r) 11
+1≤ i=2 ≤ (1 + J(r)) d+1
≤ 1+ .
i η̄

Using η̄ ≤ 2 and the fact that, for all a ∈ R+ and b ∈ R+ , ad + bd ≤ (a + b)d ,


we get:

d(d+1)
13
+1≤ .
η̄

We are now ready to apply the Lovász local lemma. We will assume that

d(d+1)
13 0 1
64 ≤ . (5.13)
η̄ w̃0 η̄3 e

In view of Lemmas 5.23 and 5.24, this condition ensures that we have  ≤
1
e( +1) , and therefore there exists a weight assignment on P with relative
amplitude less than w̃0 , such that P includes no 0 -flakes with a weighted
radius less than ε. Because any simplex in the weighted Delaunay triangulation
Del(P̂) has a weighted radius less than ε (Lemma 5.15), we conclude that such
an assignment yields a weighted Delaunay triangulation Del(P̂) that has no
0 -flakes.

Theorem 5.25 Let P be an (ε, η̄)-net of Td and w̃0 ≤ 14 . If Equation 5.13 is


satisfied, there is a weight assignment on P with relative amplitude less than
w̃0 such that the weighted Delaunay triangulation Del(P̂) is 0 -thick.
Observe that the thickness 0 that we can guarantee is bounded by
Equation 5.13 that constrains 0 to be small enough with respect to η̄ and
w̃0 . Note that the bound is very small and depends as 2−d on d. Still it does
2

not depend on the sampling density ε.


5.3 Thick Triangulations via Weighting 91

5.3.6 Algorithm
Based on the results of the previous subsections, we will apply Moser Tardos
algorithm to our context so as to obtain a weighted Delaunay triangulation that
is 0 -thick. Algorithm 5 takes as input an (ε, η̄)-net P of Td , a constant w̃0 <
1/4 and a constant 0 small enough to satisfy Equation 5.13. As proved below,
the algorithm outputs a weighting scheme on P whose relative amplitude is
smaller than w̃0 and such that the weighted Delaunay triangulation Del(P̂)
is 0 -thick. The algorithm maintains the weighted Delaunay triangulation
Del(P̂) while resampling the 0 -flakes that occur in Del(P̂) until they all
disappear. Resampling a simplex σ consists in reassigned random weights to
the vertices of σ . As already mentioned, the weights of the different vertices
are picked independently and the weight w(p) of vertex p is taken uniformly at
random in the interval [0, w̃0 L2 (p)].

Algorithm 5: Thick weighted Delaunay triangulation


Input: P, w̃0 , 0
Initialize all weights to 0 and compute Del(P̂) = Del(P)
while there are 0 -flakes in Del(P̂) do
choose a 0 -flake σ in Del(P̂)
resample σ
update Del(P̂)
Output: A weighting scheme on P and the corresponding weighted Delau-
nay triangulation which is granted to be 0 -thick.

Theorem 5.26 If P is an (ε, η̄)-net of Td , w̃0 a constant less than 1/4 and
0 a constant such that Equation 5.13 holds, Algorithm 5 outputs a weighting
scheme P̂ on P whose relative amplitude is smaller than w̃0 and such that the
weighted Delaunay triangulation Del(P̂) is 0 -thick. Its expected complexity
is linear with respect to the size of P.
Proof Algorithm 5 resamples the 0 -flakes that occur in the weighted
Delaunay triangulation Del(P̂). Since the 0 -flakes in Del(P̂) have weighted
radii at most ε, they are events as defined in Section 5.3.5. Therefore
Algorithm 5 is a variant of Moser Tardos algorithm applied to the 0 -flakes
with small weighted radii. The main difference is that Algorithm 5 keeps only
track of 0 -flakes in the current Del(P̂) and not of all possible 0 -flakes with
small weighted radii included in P. According to Theorem 5.22, Condition 5.13
ensures that Moser Tardos algorithm terminates whatever may be the order in
which the events are resampled. Therefore the condition, a fortiori, guarantees
the termination of Algorithm 5.
92 Good Triangulations

Each resampling involves the reweighting of at most d + 1 vertices. Since P


is an (ε, η̄)-net, and the weighting scheme has bounded relative amplitude,
the weighted Delaunay complex Del(P̂) can be updated in constant time.
Thus the expected complexity of Agorithm 5 is proportional to the number
of resampling which is O(|P|) by Theorem 5.22.

5.4 Protection
We introduce now the notion of protection of a simplex. The notion of
protection is stronger than the notion of thickness (see Lemma 5.27) and some
positive protection can be obtained by perturbing the position of the points
of P. This is another mean to ensure Delaunay triangulations to have positive
thickness (other than weight assignment as discussed in the previous section).
Protection will also be used in Section 6.2.
We say that a simplex σ ⊂ Del(P) is δ-protected if there exists a point cσ ,
called a δ-protection center of σ such that
cσ − q > cσ − p + δ ∀p ∈ σ and ∀q ∈ P \ σ . (5.14)
We will write δ̄ = δ
ε. Note that Equation 5.14 implies the following
inequality
cσ − q 2
> cσ − p 2
+ δ2 ∀p ∈ σ and ∀q ∈ P \ σ . (5.15)
Lemma 5.27 (Separation and thickness from protection) Let P be an
(ε, η̄)-net of a bounded domain ⊂ Rd . Assume that |P| > d+1 and that every
d-simplex in Del(P) is δ-protected. Then the separation ratio of P satisfies
η̄ ≥ δ̄,
and the thickness of any simplex σ (of any dimension) of Del(P) is at least
δ̄ 2
(σ ) ≥ .
8d
Before we prove the lemma, we state and prove two easy claims that will be
useful to prove the second part of the lemma.
Claim 5.28 Let B = B(c, R) and B = B(c , R ) be two n-balls whose
bounding spheres ∂B and ∂B intersect, and let H be the bisecting hyperplane
of B and B , i.e., the hyperplane that contains the (n − 2)-sphere S = ∂B ∩ ∂B .
Let θ be the angle of the cone (c, S). Writing ρ = RR and c−c = λR, we have
1 + λ2 − ρ 2
cos(θ ) = . (5.16)

If R ≥ R , we have cos(θ ) ≥ λ2 .
5.4 Protection 93

Proof Let q ∈ S; applying the cosine rule to the triangle [cc q] gives
2
λ2 R2 + R2 − 2λR2 cos(θ ) = R , (5.17)

which proves Equation 5.16. If R ≥ R , then ρ ≤ 1, and cos(θ ) ≥ λ/2


immediately follows from Equation 5.16.

If B = B(c, R) is a d-ball, we denote by B+δ the ball B(c, R2 + δ 2 ).
Claim 5.29 Let B = B(c, R) and B = B(c , R ) be two n-balls whose
bounding spheres ∂B and ∂B intersect, and let θ̃ be the angle of the cone
(c, $
S) where $
S = ∂B ∩ ∂B +δ . Writing c − c = λR, we have

δ2
cos(θ̃) = cos(θ ) −
2R2 λ
Proof Let q̃ ∈ S̃, applying the cosine rule to the triangle [cc q̃] gives
2
λ2 R2 + R2 − 2λR2 cos(θ̃ ) = R + δ 2 .

Subtracting Equation 5.17 from the previous equality yields δ 2 = 2λR2


(cos(θ ) − cos(θ̃ )), which proves the lemma.
Proof of Lemma 5.27 1. Let p and q be two closest points of P. The edge
[pq] is an edge of Del(P). We denote by σ a d-simplex of Del(P) that contains
[pq] and by σ a d-simplex of Del(P) that contains one of the two vertices of
[pq] but not the other. Because σ is δ-protected, we must have ||p − q|| ≥ δ.
2. Since (τ ) ≥ (σ ) for any simplex τ ⊆ σ , it is sufficient to consider
the case of a d-simplex σ . Because |P| > d + 1, there exists at least one other
d-simplex σ of Del(P) that share a facet τ with σ . Let B(σ ) = B(c, R) and
B(σ ) = B(c , R ) be the circumscribing balls of σ and σ , respectively. The
spheres ∂B and ∂B +δ intersect in a (d − 2)-sphere $ S, which is contained in a
hyperplane H $ parallel to the hyperplane H = aff(τ ). For any q̃ ∈ $
S we have

δ2
$, H) = d(q̃, H) = R(cos(θ ) − cos(θ̃ )) =
d(H ,
2 c−c

where the last equality follows from Claim 5.29 and d(H $, H) denotes the dis-
tance between the two parallel hyperplanes. See Figure 5.5 for an illustration.
Because p ∈ ∂B, p belongs to B(σ )+δ if and only if p lies in the strip bounded
by H and H$, which is equivalent to

δ2
d(p, H) = D(p, σ ) < .
2 c−c
94 Good Triangulations

H

B q̃ B +δ
q
B
θ θ̃
c c

H
Figure 5.5 Construction used in Claims 5.28 and 5.29.

We conclude that, if σ is δ-protected, the ball


#
B(σ )+δ = B(cσ , R2σ + δ 2 ) ⊆ B(cσ , Rσ + δ)

does not contain points of P \ σ , which implies from the preceding inequality
that
δ2
d(p, H) = D(p, σ ) ≥ .
2 c−c
For any simplex σ , we have D(p, σ ) ≤ 2R(σ ) for all p ∈ σ , where R(σ )
denotes the radius of the circumsphere of σ . For any σ in the triangulation of
an ε-net, we have R(σ ) ≤ ε. Thus D(p, σ ) ≤ 2ε, and the preceding inequality
δ2
yields c − c ≥ 4ε .
We further obtain
minp∈σ D(p, σ ) δ2 δ̄ 2
(σ ) = ≥ = .
d (σ ) 8d ε2 8d

In Section 5.3.5, we have used a variant of Moser Tardos algorithm to obtain


a thick weighted Delaunay complex. Instead of weighting the points, we can
perturb their positions so that the Delaunay triangulation of the perturbed point
set P is δ-protected for some small enough δ > 0. Thanks to Lemma 5.27,
the Delaunay triangulation of the perturbed points will have some positive
thickness (see Exercise 5.12).
5.5 Exercises 95

5.5 Exercises
Exercise 5.1 Let be a subset of Rd and P a finite ε-dense set of points in
. Show that all Delaunay simplices of P with a vertex at distance greater than
2ε from the boundary of belong to Del| (P).
Exercise 5.2 (Hypergeometric distribution) Suppose a, b, c are positive
integers, with max{a, b} ≤ c. The hypergeometric distribution with parameters
a, b, c is the distribution of the random variable X = |A ∩ B|, where A is a
random sample of size a, from a universe C of size c, which has a subset
B of size b. Prove that given b ≤ a, the probability that the random sample A
contains B, and t from another fixed set T with cardinality t, T∩B = ∅,
b is disjoint
is at most ac 1 − ac , for a, c $ b2 .
Exercise 5.3 (Delaunay refinement) Adapt Algorithm 3 to add sample
points in Td so that the sample P is an ε-net of Td .
Exercise 5.4 (k-center clustering) Given is a set of points P and an integer k.
The k-clustering problem consists in partitioning P into k clusters so as to
minimize the maximum diameter of a cluster. Propose an algorithm that gives
an approximation ratio of 2 for the k-clustering problem.
Exercise 5.5 Let be an open subset of R2 and P an (ε, η̄)-net of in
general position wrt circles. Show that all triangles of Del| (P) have all their
angles greater or equal to arcsin( η̄2 ).
Exercise 5.6 (Max-min) Let P be a finite set of points in general position
in the plane. To any triangulation T of P we attach the vector V(T) =
(α1 , . . . , α3t ) where the αi ∈ [0, π ] are the angles of the t triangles of T,
sorted by increasing values. Show that Del(P) is, among all triangulations of P,
the one that maximizes V(T) for the lexicographic order. In particular, Del(P)
maximizes the smallest angle.
Exercise 5.7 Let U and V be two vector spaces of Rd with dim U ≤ dim V.
Show that  (U, V) =  (V ⊥ , U ⊥ ) where U ⊥ (resp., V ⊥ ) denotes the vector
space normal to U (resp., V).
Exercise 5.8 Let h and h be two affine spaces of the same dimension
embedded in Rd , and let u be a vector of Rd . Show that  (u, h ) ≤  (u, h) +
 (h, h ).

Exercise 5.9 Let τ be a j-simplex. Show that L(τ ) ≥ D(p, τ ) ≥ j! (τ ) (τ )


(see Lemma 5.19 for the notations).
96 Good Triangulations

Exercise 5.10 Bound from below the dihedral angles of a d-simplex of Rd as


a function of its thickness.
Exercise 5.11 (Inheritance of protection) Let P be an (ε, η̄)-net of a
bounded domain ⊂ Rd . We say that a simplex is δ-power protected if
Equation 5.15 is satisfied, i.e. there exists a point cσ such that
cσ − q 2
> cσ − p 2
+ δ2 ∀p ∈ σ and ∀q ∈ L \ σ .
Show that if every d-simplex in Del(P) is δ-power protected, then all simplices
(of all dimensions) in Del(P) are at least δ -power protected where δ = dδ .
deduce a similar result if one replaces the power protection by the protection
as defined in Section 5.4. (Hint: Use the lifting map introduced in the proofs
of Theorems 4.3 and 4.6)
Exercise 5.12 (Protection via perturbation) Let P be an (ε, η̄)-net P of the
flat torus Td = Rd /Zd . Propose an algorithm that perturbs the points of P
so that the Delaunay triangulation of the perturbed point set P is δ-protected
for some a small enough δ > 0 (and thus has some positive thickness by
Lemma 5.27). If p is a point of P, the associated perturbed point is picked at
random in the ball B(p, ρ) for some ρ > 0. Use a variant of Moser Tardos
algorithm.

5.6 Bibliographical Notes


The farthest point insertion algorithm (Algorithm 3) has been popularized by
Gonzales in the context of clustering data sets [91] and has found numerous
applications in many fields. Gonzales proved Lemma 5.9 and Feder and
Greene [80] showed that no polynomial-time algorithm exists with a constant
approximation ratio close to 2 unless P = NP. They also improved the O(n2 )
time complexity of Algorithm 3 to O(n log k) when the points live in Euclidean
space. See also the paper by Har-Peled and Mendel [95] that contains further
improvements and extensions, and, in particular, shows how to construct a
hierarchical representation of a point set, called the net-tree, from the sequence
of points provided by the farthest point insertion. The proof of the complexity
of the incremental randomized construction of nets (Theorem 5.6) is due
to Boissonnat, Devillers, Dutta and Glisse [26]. Their paper also contains a
solution to Exercise 5.2.
The notion of thick triangulations goes back to the early work on differential
topology by Cairns [32], Whitehead [130], Whitney [131], Munkres [109], and
others. Thick triangulations also play a central role in the work of Cheeger
5.6 Bibliographical Notes 97

et al. [55] and Fu [84] on curvature measures. Since this notion appeared in
different places and contexts, various names have been used, e.g. thickness,
fullness or relative thickness. Our presentation follows the work of Boissonnat,
Dyer and Ghosh [14]. Lemma 5.14 is due to Whitney [131].
More recently, thick triangulations have been found important in mesh
generation where numerical simulations require meshes to be thick [69]. The
notion of flake simplex introduced in this chapter is an extension of the notion
of sliver introduced by Cheng et al. in the context of three dimensional mesh
generation [56, 69]: a sliver is a flake with an upper bound on the ratio of
its cicumradius to the length of its shortest edge. Sliver removal in higher
dimensions has been discussed in [99, 57].
Our weighting mechanism to remove flakes is inspired from the one used by
Cheng et al. to remove slivers from three dimensional Delaunay triangulations.
The weighting mechanism can be seen as a perturbation of the Euclidean
metric. It is also possible to remove flakes and inconsistencies by perturbing
the position of the points. This kind of perturbation may be prefered to the
weighting mechanism in the context of mesh generation [99, 24, 75].
The notion of protection has been introduced by Boissonnat, Dyer and
Ghosh to study the stability of Delaunay triangulations and the construction
of Delaunay triangulations of manifolds [14, 13, 27]. A solution to Exercise
5.12 can be deduced from results in [13] and [15].
The Lovász local lemma, proved initially by Lovász and Erdös [1], is a cele-
brated result with a long history. The constructive proof of Moser and Tardos
has been a break through that is still the subject of intense research [106].
Its first introduction in Computational Geometry appears in [15].
6
Delaunay Filtrations

In this chapter, we introduce two simplicial complexes that have strong ties
with Delaunay complexes. Their common point is that they allow to define
filtrations. Filtrations, defined in Chapter 2, are sequences of nested complexes
that allow to represent a set of points at various scales. They play an important
role in persistent homology, a central tool in Topological Data Analysis, as will
be demonstrated in Chapter 11.
We first define the alpha-complex, or α-complex, of a finite set of points P,
which is a subcomplex of the Delaunay complex. Here α is a real parameter
and varying α will lead to a filtration of the Delaunay complex. The definition
extends to sets of weighted points: the weighted α-complex of a set of weighted
points P̂ is a subcomplex of the weighted Delaunay triangulation of P̂, and
varying α will lead to a filtration of the weighted Delaunay complex.
The α-complex of P is a combinatorial representation of the union of the
balls B(p, α) of radius α centered at the points of P. It is thus closely related
to the Čech complex introduced in Section 2.3. In fact, the α-complex shares
with the Čech complex the property of having the same homotopy type as the
union of the balls. A major difference between the two complexes is related to
their size: the α-complex is usually much smaller than the Čech complex and
can be computed more efficiently.
Owing to their capacity of representing union of balls and their topology,
α-complexes play an important role in the description of proteins and macro
molecules, and in drug design. In Geometric Inference, α-complexes also play
an important role and we will see in Section 8.1 that they capture the homotopy
type of well sampled manifolds.
Alpha shapes are constructed from the Delaunay complex and are therefore
difficult to compute in high dimensions. In Section 6.2, we will introduce
another complex, the so-called witness complex. The witness complex is
defined from two point sets: L, which is the vertex set of the complex, and

98
6.1 Alpha Complexes 99

W that can be seen as an approximation of the space that contains L. In appli-


cations, L is usually a crude subset of W that can be extracted from W using, for
example, the algorithms of Section 5.1. The witness complex can be defined
and constructed in any discrete metric space and does not require the points
to be embedded in a specific ambient metric space: we only need to know the
pairwise distances between the points of L and W. This is a critical advantage
in high dimensions over the Delaunay complex whose construction requires to
evaluate the in ball predicate whose algebraic complexity depends on the
dimension d of the ambient space (Exercise 4.5). In the case where the points
live in Euclidean space, we will see that, under appropriate conditions, witness
complexes and Delaunay complexes are identical. We will also introduce a
variant called the relaxed witness, which offers another filtration.

6.1 Alpha Complexes


6.1.1 Definitions
Alpha complexes. Let P be a set of points in Rd . From Lemma 4.1, we
know that the simplices in the Delaunay complex Del(P) are characterized by
the empty ball property meaning that a simplex with vertices in P belong to
Del(P) iff it admits an empty circumscribing ball, i.e., a circumscribing ball
whose interior includes no point of P. We are interested here in sorting the
simplices of Del(P) according to the squared radius of their smallest empty
circumscribing ball. For a simplex τ , we call this quantity the filtration value
of τ and write it α(τ ).
Now, for any α ∈ R, we consider the subset A(P, α) of the simplices in
Del(P) that have a filtration value at most α. Because a ball circumscribing a
simplex circumscribes any face of this simplex, A(P, α) is a subcomplex of
Del(P). It is called the α-complex of P.
Because the α-complex of P is a subcomplex of the Delaunay complex of P,
it has a natural embedding if P is in general position wrt spheres (Theorem 4.3).
The underlying space of the α-complex A(P, α) is called the α-shape of P.
If P is in general position wrt spheres, the dimension of the α-complex
A(P, α) is at most the dimension d of the embedding space. It should be
noted that the dimension of the α-complex may be strictly less that d and that
the complex may not be pure, having some simplices which are not faces of
simplices of maximal dimension.

The Delaunay filtration. The α-complex evolves when α increases, from


the empty set for α < 0, to the set of vertices of Del(P) when α = 0, and
100 Delaunay Filtrations

Figure 6.1 The α-complex of a set of points in R2 for increasing value of the
parameter α.

finally to the whole Delaunay triangulation Del(P) when α is large enough


(see Figure 6.1). The parameter α defines an order on the simplices. This order
is not total and some simplices may have the same value of the parameter. We
define a total order by first sorting the simplices with a same α by increasing
dimensions and then breaking ties arbitrarily. The total order we then obtain
yields a filtration of the Delaunay complex.
We recall that a filtration of a simplicial complex K, as defined in
Section 2.4, is a sequence of nested subcomplexes of K such that each
subcomplex is obtained from the previous one by adding a simplex of K. The
filtration of Del(P) obtained by inserting the simplices in the order defined
earlier is called a Delaunay filtration of P.

6.1.2 Computing Alpha Complexes and Filtrations


Let P be a set of points in Rd and let Del(P) be the corresponding Delaunay
complex. For a d-simplex τ in Rd , there is a unique ball of Rd circumscrib-
ing τ . We denote by c(τ ) and r(τ ), respectively, the center and the radius of
this ball. According to the definition, a d-simplex τ of Del(P) belongs to the
α-complex A(P, α) iff α ≥ r(τ )2 .
6.1 Alpha Complexes 101

Things are a bit more complicated for simplices of dimension strictly less
than d. Let τ be a simplex of dimension k < d. The centers of the d-balls
circumscribing τ form a (d − k)-flat of Rd we denote by h(τ ). Consider
the circumscribing ball of τ that has the smallest radius. The center of this
smallest circumscribing ball, c(τ ), is called the center of τ and its radius,
r(τ )), is called the circumradius of τ . The center c(τ ) is the point where h(τ )
intersects the k-flat aff(τ ) spanned by τ .
Given a set of points P, we say that τ is a Gabriel simplex if its smallest
circumball contains no point of P in its interior. Plainly, a Gabriel simplex is
a simplex of Del(P) but the converse is not necessarily true: a k-simplex τ of
Del(P) is a Gabriel simplex iff c(τ ) belongs to the face V(τ ) of the Voronoi
diagram Vor(P) dual to τ .
We conclude from the discussion that, if τ is a Gabriel simplex, its
smallest enclosing ball is empty and it belongs to all α-complexes A(P, α)
for α ≥ r(τ )2 . If τ a Delaunay simplex that is not Gabriel, the smallest empty
ball that circumscribes τ circumscribes a coface of τ and therefore τ will have
the same filtration value α as one of its cofaces. To prove this, consider the
function w(x) that associates to each point x in h(τ ) its squared distance to
the vertices in τ . Finding the filtration value α(τ ) of τ amounts to minimizing
w(x) under the condition that x ∈ V(τ ). Since w(x) is a convex function and
V(τ ) is a convex polyhedron, the minimum of w(x) on V(τ ) is reached at c(τ )
iff c(τ ) ∈ V(τ ) or on the boundary of V(τ ) otherwise. In the first case, the
simplex is a Gabriel simplex. In the last case, if we call σ the coface of higher
dimension of τ whose dual Voronoi face contains c(τ ) in its interior, we have
α(τ ) = α(σ ).
For any τ ∈ Del(P) with dimension k < d, we denote by U(τ ) the set of
cofaces of τ in Del(P) with dimension k + 1. Algorithm 6 computes for each
simplex τ in Del(P), the critical value α(τ ) at which τ enters the α-complex
A(P, α).

6.1.3 Weighted Alpha Complex


The definition of α-complexes and α-shapes extend to the weighted case. Let
P̂ be a set of weighted points and let τ be a simplex with vertex set P̂τ ⊂ P̂.
Let us recall that two weighted points are said to be orthogonal when their
weighted distance is zero. A weighted point is said to be orthogonal to P̂τ
when it is orthogonal to all weighted points in P̂τ and it is said to be free
of any weighted point in P̂ when it has a positive or null distance to any
weighted point of P̂. From Lemma 4.5, a simplex τ with vertex set P̂τ ⊂ P̂
belongs to the weighted Delaunay triangulation Del(P̂) iff there is a weighted
102 Delaunay Filtrations

Algorithm 6: Computing Delaunay filtrations


Input: The set of points P in Rd
Compute the Delaunay complex Del(P)
for each d-simplex τ ∈ Del(P) do
set α(τ ) = r(τ )2 (the squared circumradius of τ )
for k = d − 1, . . . , 0 do
for each d-simplex τ ∈ Del(P) do
if τ is a Gabriel simplex then
α(τ ) = r(τ )2 (the squared smallest circumradius of τ )
else
α(τ ) = minσ ∈U(τ ) α(σ )
Output: The critical α-value of each simplex in Del(P) has been computed

point orthogonal to P̂τ and free of weighted points in P̂. For any value of
α ∈ R, we consider the subset A(P̂, α) of simplices in Del(P̂) for which
there is a weighted point with weight at most α, orthogonal to P̂τ and free of
weighted points in P̂. The simplices in A(P̂, α) form a subcomplex of Del(P̂),
which is called the weighted α-complex of P̂. Under the usual general position
assumption, this complex naturally embeds in Rd and the underlying space of
A(P̂, α) is called the weighted α-shape of the set P̂ for the parameter value
α. Notice that α-complexes and α-shapes are special cases of respectively
weighted α-complexes and weighted α-shapes, obtained when all the weights
of the considered weighted points are equal.
As before, we associate to each simplex τ of Del(P̂) a filtration value α(τ )
that corresponds to the first time τ enters the filtration.
Algorithm 6 extends almost verbatim to the case of weighted points,
provided that we replace circumballs by orthogonal weighted points and empty
balls by free weighted points. Let P̂ be a set of weighted points in Rd , τ a
simplex of Del(P̂) and P̂τ the subset of P̂ associated to the vertices of τ . We
now say that τ is a Gabriel simplex iff the ball with smallest radius that is
orthogonal to P̂τ is free of weighted points in P̂. Likewise, the function w(x)
used to prove the correctness of Algorithm 6 is now the weighted distance to
the vertices of τ , i.e., w(x) = D(x, p̂) = d(x, p)2 − wp , if p̂ = (p, wp ) is the
weighted point associated to the vertex p of τ .

6.1.4 Application to Union of Balls


Lemma 6.1 Let B be a finite set of balls in Rd . The union U(B) of balls in B
is homotopy equivalent to the α-complex A(B, 0).
6.1 Alpha Complexes 103

Figure 6.2 Union of balls and α-shapes.

See Figure 6.2 for an illustration of this fact.


Proof Each ball b in B may be regarded as a weighted point (c(b), r2 (b))
where c(b) and r2 (b) are respectively the center and the squared radius of b. We
denote by Del(B), Vor(B) and A(B, α), respectively, the Delaunay complex,
Voronoi diagram and α-shape of the balls in B. Let V(b) be the cell of b in
Vor(B). We claim that {b ∩ V(b), b ∈ B} forms a finite convex cover of U(B)
as defined in Section 2.3. First, because b and V(b) are both convex subsets of
Rd , each subset b ∩ V(b) is convex. We show next that {b ∩ V(b), b ∈ B} is a
cover of U(B), i.e.:

U(B) = b ∩ V(b).
b∈B
%
The inclusion b∈B b ∩ V(b) ⊂ U(B) is trivial. To show the reverse inclusion,
let us consider a point p in U(B). Point p belongs to at least one ball b1 of B
and let b(p) be the ball in B whose Voronoi cell contains p. Because p ∈ b1 ,
the weighted distance D(p, b1 ) is negative and, because b(p) minimizes the
weighted distance to p, we have:
D(p, b(p)) ≤ D(p, b1 ) ≤ 0,
which means that p belongs to b(p) and therefore to b(p) ∩ V(b(p)) and to
%
b∈B b ∩ V(b). The claim is proved.
It follows from the claim and the Nerve theorem (Theorem 2.8) that the
union U(B) of balls in B is homotopy equivalent to the nerve of the cover
%
b∈B b ∩ V(b). We now show that the nerve of this cover is just the α-complex
104 Delaunay Filtrations

A(B, 0). Let B ⊂ B be a subset of B. The subset B belongs to the nerve of the
cover {b ∩ V(b), b ∈ B} iff the intersection b∈B b ∩ V(b) is non empty. This
in turn is equivalent to say that that there exists a point x in b∈B b ∩ V(b).
Such a point x is at an equal negative weighted distance w(x) to the balls in
B and at a greater weighted distance to any ball of B \ B . In other words, the
weighted point x̂ = (x, w(x)) is orthogonal to any ball in B and has a positive
weighted distance to any ball in B \ B . Therefore B belongs to Del(B) and,
since w(x) ≤ 0, to the α-complex A(B, 0).
Let us consider the special case where all the balls in B have the same
radius. Let B(P, r) be the set of balls with radius r, centered at points of
the set P. The union U(B(P, r)) of these balls is homotopy equivalent to the
Čech complex Čech(P, r) defined (in Section 2.5) as the nerve of the cover
of U(B(P, r)) by balls in B(P, r). Therefore, the Čech complex Čech(P, r)
and the α-complex A(B(P, r), 0) have the same homotopy type and capture
both the homotopy type of the union of balls U(B(P, r)). However, the Čech
complex Čech(P, r) is often much bigger than the α-complex A(B(P, r), 0). In
particular, the dimension of the Čech complex Čech(P, r) may be larger than
d, in fact it may be as large as the number of balls in B(P, r). Accordingly the
Čech complex Čech(P, r) usually does not embed naturally in Rd . Differently,
the α-complex A(B(P, r), 0), being a subcomplex of Del(B), embeds naturally
in Rd under general position assumption.

6.2 Witness Complexes


In this section, we introduce the witness complex, a variant of the Delaunay
complex that can be defined using only distances (and not empty spheres).
Hence the witness complex can be defined in any finite metric space where the
input consists of the distance matrix of the data points that stores the pairwise
distances (Section 5.1.3). Not every finite metric space can be isometrically
embedded in a Euclidean space but if it is the case, we provide conditions
under which the witness and the Delaunay complexes are identical. A practical
situation, encountered for example in the context of sensor networks, is when
the points come from some Euclidean space but their actual locations are not
known.
The witness complex is defined from two sets of points L and W. The first
one, called the set of landmarks, is finite. The other one, called the set of
witnesses, serves as an approximation of the ambient space. A typical situation
is when L is a subset of W, possibly a net of W extracted using one of the
algorithms of Section 5.1.3. The witness complex Wit(L, W) can be seen as
6.2 Witness Complexes 105

σ
w

Figure 6.3 A simplex and one of its witnesses.

a weak notion of Delaunay triangulation which is easy to compute, even in


high dimensions, since it only involves comparisons of distances between input
points.
Definition 6.2 (Witness of a simplex) Let σ be a simplex with vertices in
L ⊂ Rd , and let w be a point of W ⊆ Rd . We say that w is a witness of σ if
w−p ≤ w−q ∀p ∈ σ and ∀q ∈ L \ σ .
See Figure 6.3, for example.

Definition 6.3 (Witness complex) The witness complex Wit(L, W) is the


complex consisting of all simplexes σ such that any simplex τ ⊆ σ has a
witness in W. In other words, Wit(L, W) is the maximal simplicial complex
with the property that all its simplices have a witness in W.
In this section, we use the Euclidean distance to define witness complexes
but the definition is general and extend to more general metric spaces and, in
particular, to finite metric spaces where the only information we have about
the input points is the distances between any two of them. In Euclidean space,
the only predicates involved in the construction of Wit(L, W) are (squared)
distance comparisons, i.e., polynomials of degree 2 in the coordinates of the
points. This is to be compared with the predicate that decides whether a point
lies inside the ball circumscribing a d-simplex, whose degree depends on d
(see Exercise 4.5).

6.2.1 Identity of Witness and Delaunay Complexes


When the points W and L live in Euclidean space, the witness complex can be
seen as a weak Delaunay complex. The results here make this connection more
precise. We first make the following easy observation.
106 Delaunay Filtrations

Lemma 6.4 If W ⊆ W, then Wit(L, W ) ⊆ Wit(L, W).


Let be a subset of Rd . As before (see Section 5.1.2), we write Del| (L) for
the restriction of Del(L) to , i.e., the subcomplex of Del(L) whose simplices
have a circumcenter in .
Lemma 6.5 Let be a subset of Rd . Del| (L) ⊆ Wit(L, ).
Proof By definition, any simplex σ of Del| (L) has an empty circumscribing
ball whose center c belongs to . This center is a witness of σ , and it is also a
witness for all the faces of σ .
The following remarkable result provides a weak characterization of Delaunay
complexes. It shows that Delaunay and witness complexes are identical when
the set of witnesses cover the whole space Rd .
Theorem 6.6 (Weak characterization) For any convex ⊆ Rd and any
finite point set L ⊂ , we have Wit(L, ) = Del| (L).
Proof We have already proved that Del| (L) ⊆ Wit(L, ) (Lemma 6.5). We
prove now the converse inclusion by an induction on the dimension k of the
simplices. The claim holds for k = 0 because any vertex of Wit(L, ) is a
point of L and thus a vertex of Del| (L).
Assume now that any simplex of Wit(L, ) of dimension up to k − 1 is
a simplex of Del| (L) and let τ = [p0 , . . . , pk ] be a k-simplex of Wit(L, )
witnessed by a point w. We will say for convenience that a ball B witnesses τ
if B ∩ L = τ . We denote by Bτ be the smallest ball centered at w that witnesses
τ and by Sτ the sphere bounding Bτ .
If all the vertices of τ belong to Sτ , τ is a Delaunay simplex and we are done.
Otherwise, we will show that one can find a new ball that witnesses τ such that
its bounding sphere contains one more vertex of τ than Sτ . Refer to Figure 6.4.
Write σ = Sτ ∩ τ . By the induction hypothesis, σ is a simplex of Del| (L)
and therefore there exists an empty ball Bσ centered in that circumscribes σ .
Write c for its center. Consider the set of balls F centered on the line segment
s = [wc] ⊂ and circumscribing σ . Any ball in F is included in Bτ ∪ Bσ
and it circumscribes σ . Hence its interior contains no point of L \ τ . Moreover,
because the interior of Bσ is empty but the interior of Bτ is not, there exists
a point z on s such that the ball of F centered at z, witnesses τ and contains
|σ | + 1 points of τ on its boundary. Call this new ball Bτ . We can then carry
on the induction and obtain a witness ball Bτ whose bounding sphere contains
all the vertices of τ . Such a ball is thus a Delaunay ball and τ is a Delaunay
simplex.
6.2 Witness Complexes 107


c
z
σ
w
τ

Figure 6.4 Proof of Lemma 6.6.

Figure 6.5 Two triangles that have a witness but not their common edge, even if
W = Rd . These two triangles are not Delaunay triangles.

It is worth noticing that, for a simplex σ to belong to the witness complex,


we required all the faces of σ to have a witness. As illustrated in Figure 6.5,
this is mandatory for the theorem to hold.
We deduce from Lemma 6.4 and Theorem 6.6 the following corollary
Corollary 6.7 Let be a convex subset of Rd and let W ⊆ . We have
Wit(L, W) ⊆ Del| (L) ⊆ Del(L).
If the points L are in general position with respect to spheres, we know that
Del(L) is embedded in Rd by Delaunay’s theorem 4.3. It therefore follows from
Corollary 6.7 that the same is true for Wit(L, W). In particular, the dimension
of Wit(L, W) is at most d. When W is not the whole space Rd but a finite set
of points, Theorem 6.6 no longer holds. However, the following lemma shows
that both complexes are identical provided that W is dense enough and L is
protected enough (refer to Section 5.4 for a definition of protection).
Lemma 6.8 (Identity from protection) Let be a convex subset of Rd and
let W and L be two finite sets of points in . If W is ε-dense in and if all
108 Delaunay Filtrations

simplices (of all dimensions) of Del| (L) are δ-protected with δ ≥ 2ε, then
Wit(L, W)) = Del| (L).
Proof By Corollary 6.7, we have Wit(L, W) ⊆ Del| (L). We now prove
the other inclusion. Let σ be a simplex in Del| (L). By hypothesis, σ is
δ-protected. Then there exists a point c ∈ such that

∀p ∈ σ , ∀q ∈ L \ σ , c − p ≤ c − q − δ.

Because W is ε-dense in , there exists a point w ∈ W such that w − c ≤ ε.


Using the triangular inequality, we have for any p ∈ σ and q ∈ L \ σ

w−p ≤ w − c + ( c − q − δ)
≤ w−q +2 w−c −δ
≤ w − q + 2ε − δ

Hence, when δ ≥ 2ε, w is a witness for σ .


This lemma requires the simplices of all dimensions to be δ-protected. In
fact it is sufficient to check d-simplices only. Indeed, it can be proved that if
the d-dimensional simplices are δ -protected, for δ slightly bigger than δ, then
all simplices of all dimensions are also protected. See Exercise 5.11.

6.2.2 Computing Witness Complexes


Let L and W be two finite sets of points and Wit(L, W) their witness complex.
We assume, for convenience, that no two points of L are at the same distance
from a point in W. We describe how to compute the k-skeleton of Wit(L, W),
denoted by Witk (L, W), for any fixed k.
Let M be a matrix of size |W| × k. The lines in M are associated to the
elements of W and the line M(w) associated to w ∈ W stores the list of the
k landmarks that are closest to w, sorted by increasing distance from w (M
can be trivially computed in time O(|W| × |L| log |L|) and, with more clever
algorithms, in time O(|W| (log |W| + k) time) (see the Bibliographical Notes
in Section 6.4). We write M(w) = (M1 (w), . . . , Mk (w)). Algorithm 7 below
computes Witk (L, W) from M. We assume without real loss of generality that
L ⊂ W.
Under this general position assumption, the number of i-simplices of
Wit(L, W) is at most |W| for any i ≤ k. Hence, the total number of simplices
of Witk (L, W) is at most k |W| = O(|W|).
The total number of for loops that are executed is |Witk (L, W)| + |W| =
O(|W|). Indeed, each loop either constructs a new simplex or removes a point
6.2 Witness Complexes 109

Algorithm 7: Construction of the k-skeleton of a witness complex


Input: W a finite point set, L ⊂ W, k, M
Witk (L, W) := ∅
W := W {a set of active witnesses}
for i = 0, . . . , k − 1 do
for each w ∈ W do
if the i-simplex σ (w) = [M1 (w), . . . , Mi+1 (w)] ∈ Witk (L, W) then
if all the (i − 1)-faces of σ (w) are in Witk (L, W) then
add σ (w) to Witk (L, W)
else
W := W \ {w}
Output: Witk (L, W)

from the set of active witnesses W . A loop has to decide if a i-simplex as well
as its i facets belong to the current complex Witk (L, W). Each of these tests can
be done in time O(log |L|) if one uses for example the simplex tree described
in Exercise 2.1. Because i ≤ k, the cost of a single loop is thus O(k log |L|).
The overall complexity of the algorithm is therefore O(k |W| log |L|).
The algorithm is general and applies to any distance matrix M. In the case
where L and W belong to Rd , and if the points of L are in general position with
respect to spheres, we know that Wit(L, W) is a subcomplex of Del(L) and
thus embedded in Rd and of dimension at most d. Hence, the entire witness
complex is computed if one takes k = d.

6.2.3 Relaxed Witness Complexes


As before, W and L denote two sets of points in some subset ⊂ Rd . L is
finite.
Definition 6.9 (Relaxed witness) Let σ be a simplex with vertices in L. We
say that a point w ∈ W is an α-witness of σ if
w−p ≤ w−q +α ∀p ∈ σ and ∀q ∈ L \ σ .
Definition 6.10 (Relaxed witness complex) The α-relaxed witness complex
Witα (L, W) is the maximal simplicial complex with vertex set L whose
simplices have an α-witness in W.
For α = 0, the relaxed witness complex is the standard witness complex.
The parameter α defines a filtration on the witness complex, which can be
used to compute persistent homology (Chapter 11.5).
110 Delaunay Filtrations

Construction
We adapt Algorithm 7. At each step j, we insert, for each witness w, the
j-dimensional simplices that are α-witnessed by w. Differently from the
standard witness complex, there may be more than one j-simplex that is
witnessed by a given witness w ∈ W. Consequently, we do not maintain a
pointer from each active witness to the last inserted simplex it witnesses. We
use simple top-down insertions from the root of the simplex tree 2.7.
Given a witness w and a dimension j, we generate all the j-dimensional
simplices that are α-witnessed by w. For the ease of exposition, we suppose
we are given the sorted list of nearest neighbors of w in L, noted {z0 · · · z|L|−1 },
and their distance to w, noted mi = d(w, zi ), with m0 ≤ · · · ≤ m|L|−1 ,
breaking ties arbitrarily. Note that if one wants to construct only the k-skeleton
of the complex, it is sufficient to know the list of neighbors of w that are at
distance at most mk + α from w. We preprocess this list of neighbors for all
witnesses. For i ∈ {0, · · · , |L| − 1}, we define the set Ai of landmarks z such
that mi ≤ d(w, z) ≤ mi + α. For i ≤ j + 1, w α-witnesses all the j-simplices that
contain {z0 , · · · , zi−1 } and a (j + 1 − i)-subset of Ai , provided |Ai | ≥ j + 1 − i.
We see that all j-simplices that are α-witnessed by w are obtained this way, and
exactly once, when i ranges from 0 to j + 1.
For all i ∈ {0, · · · , j + 1}, we compute Ai and generate all the simplices
which contain {z0 , · · · , zi−1 } and a subset of Ai of size (j + 1 − i). In order to
easily update Ai when i is incremented, we maintain two pointers to the list of
neighbors, one to zi and the other to the end of Ai . We check in constant time
if Ai contains more than j + 1 − i vertices, and compute all the subsets of Ai of
cardinality j + 1 − i accordingly. See Figure 6.6.

Restricted Delaunay Complex and Relaxed Witness Complex


We consider now the case where ⊆ Rd is not necessarily convex and extend
Lemma 6.8. Specifically, we will show that, for a large enough relaxation,
Del| (L) is contained in the relaxed witness complex.

A3
{z4 , z5 , z6 , z7 , z8 }
w
3

z0 z1 z2 z3 z4 z5 z6 z7 z8 z9 z10 m3 m5 m3 + ρ

Figure 6.6 Computation of the α-witnessed simplices σ of dimension 5. If z3 is


the first neighbor of w not in σ , then σ contains in particular {z0 , z1 , z2 } and any
3-uplet of A3 = {z4 , · · · , z8 }.
6.3 Exercises 111

Lemma 6.11 Let be a subset of Rd (not necessarily convex). Assume that


W is ε-dense in and that all the simplices of Del| (L) are δ-protected. If
α ≥ max(0, 2ε − δ), then Del| (L) ⊆ Witα (L, W).
Proof Let σ be a d-simplex of Del| (L) and write cσ for its circumcenter.
Since W is ε-dense in , there exists a point w in W such that cσ − w ≤ ε.
For any p ∈ σ and q ∈ L \ σ , we then have

w − p ≤ cσ − p + cσ − w
≤ cσ − q − δ + cσ − w
≤ w − q + 2 cσ − w − δ
≤ w − q + 2ε − δ,

which proves the lemma.


Note that if δ ≥ 2ε, the lemma gives Del| (L) ⊆ Wit(L, W) (as in
Lemma 6.8).

6.3 Exercises
Exercise 6.1 (Full classification with respect to the α-complex) Let P̂ be
a set of weighted points in Rd . Each simplex τ of the Delaunay triangulation
Del(P̂) can be classified with respect to the α-complex A(P̂, α) as external if
it does not belong to A(P̂, α), singular if it belongs to A(P̂, α) but none of its
coface in Del(P̂) does, boundary if it belongs to the boundary of α-complex
and is not singular, which means that some of its cofaces belong to A(P̂, α)
while others do not, and at last internal if it belongs to the interior of the α-
complex, meaning that all its cofaces belong to A(P̂, α).
Modify Algorithm 6 so that it computes for any simplex τ of Del(P̂), the at
most three values of the parameter α where the status of the simplex changes
from external to singular and then to boundary and interior.
Exercise 6.2 (Weighted witness complex) Show that the witness complex
can be extended to weighted points and the weighted distance. Show that
the identity results of Section 6.2.1 still hold when the Delaunay complex is
replaced by its weighted counterpart.
Exercise 6.3 Show that, if L is a λ-sample of Rd , the circumradius Rσ of any
simplex σ in Wit(L, W) is at most λ. (Hint : Use Corollary 6.7).
112 Delaunay Filtrations

Exercise 6.4 (Relaxed Delaunay complex) Let W and L be two finite sets of
points in ⊂ Rd . Let σ be a simplex with vertices in L. We say that a point
w ∈ W is an α-center of σ if
w−p ≤ w−q +α ∀p ∈ σ and ∀q ∈ L.
The α-relaxed Delaunay complex Delα (L, W) is the maximal simplicial com-
plex with vertex set L whose d-simplices have an α-center in W. Show how to
construct Delα (L, W). Prove that Del(L) ⊆ Delα (L, W) for α ≥ 2ε if W is an
ε-sample of .

6.4 Bibliographical Notes


Alpha-shapes were introduced by Edelsbrunner, Kirkpatrick and Seidel [73,
76]. Alpha-shapes are also widely used to represent union of balls [68] and to
study the structure of macro molecules and various related problems like the
docking of two molecules, see, e.g., [71, 100, 72].
Witness complexes and relaxed Delaunay triangulations have been intro-
duced in the seminal work of de Silva [62] who first proved Theorem 6.6 and
several of its variants including the case of weighted points (Exercise 6.2). The
proof presented in Section 6.2 is due to Attali et al. [4]. The 1-skeleton of the
witness complex has been introduced earlier by Martinez and Schulten [104].
They showed that Del(L) and Wit(L, Rd ) have the same 1-skeleton and they
proposed a dynamic algorithm for approximating the topology of a region of
space, by a graph represented as a neural network.
The identity of witness and Delaunay complexes when the number of
witnesses is finite is taken from [15]. The paper describes an algorithm to
obtain Del(L) from Wit(L, W) using the algorithmic version of the local Lovász
lemma (see Exercise 5.12 and Section 5.3.4). The paper also describes an
algorithm to compute the relaxed Delaunay complex in time sublinear in the
number of witnesses (Exercise 6.4).
Given a set of n points P ⊂ Rd , one can construct a data structure called a
well-separated pair decomposition. This data structure has many applications
and can be used, in particular, to compute the k-nearest neighbors of all the
points in P in time O(n log n + kn) [33]. See the book of Har-Peled for a recent
account on well-separated decompositions [94].
P A RT III

RECONSTRUCTION OF SMOOTH
SUBMANIFOLDS
7
Triangulation of Submanifolds

Triangulating an object M entails computing a simplicial complex which is


homeomorphic to M. This is a demanding quest and, in this chapter, we
will assume that M is a smooth and compact submanifold of Rd without
boundary. The main goal of the chapter is to prove Theorem 7.16 that provides
sufficient conditions under which a simplicial complex M̂ is a triangulation
of a submanifold M of Rd . These conditions require the simplices to be
sufficiently small and thick and rely on the concepts of reach and of ε-net on
a manifold. To prove the theorem, we will prove that the projection map that
associates to a point of M̂ its closest point on M is a homeomorphism. The
results of this chapter will be used in Chapter 8 to triangulate a submanifold
M given only a finite point set on M.

7.1 Reach and ε-nets on Submanifolds


7.1.1 Submanifolds
Given an open set U ⊆ Rd and a non-negative integer c, a map φ : U → Rd is
said to be c-differentiable, or of class C c on U if its successive derivatives up to
order c are well-defined and continuous on U. In particular, a 0-differentiable
map is a continuous map. If moreover, φ : U → V = φ(U) is a bijection and
φ −1 : V → U is also c-differentiable, then φ is said to be a c-differentiable
diffeomorphism.
Definition 7.1 (Submanifold) A compact subset M ⊂ Rd is a c-differentia-
ble submanifold of dimension k ≤ d, if for any p ∈ M there exist an open set
U ⊂ Rd containing p, a c-differentiable diffeomorphism φ from U to an open
set V ⊂ Rd , and an affine k-dimensional subspace A ⊂ Rd such that
φ(U ∩ M) = A ∩ V.

115
116 Triangulation of Submanifolds

M U
φ
V
p
φ(p) A

Figure 7.1 A k-dimensional submanifold M of Rd (here k = 1 and d = 2) is a


subset of Rd that is locally diffeomorphic to an open set of a k-dimensional affine
subspace.

Intuitively, a submanifold of dimension k is a subset of Rd that is locally


homeomorphic to an affine space of dimension k (see Figure 7.1). A curve
is a 1-dimensional submanifold of Rd , and a surface is a 2-dimensional
submanifold of Rd . The submanifolds we will consider are differentiable and
have no boundary, even if not explicitly mentioned.
The tangent space Tp M of a c-differentiable (c > 0) submanifold M at a
point p ∈ M is the vector space spanned by the tangent vectors γ (0) where
γ : (−1, 1) → M ⊂ Rd belongs to the set of differentiable curves contained in
M such that γ (0) = p. If M is of dimension k, then Tp M is a k-dimensional
vector space. By an abuse of notation, we will also denote by Tp M the affine
subspace spanned by Tp M and passing through p and we will denote by Np M
the (d − k)-dimensional affine subspace orthogonal to Tp M (see Figure 7.2).
In the sequel, to avoid heavy notation, when there is no ambiguity, we will drop
the reference to M and denote Tp M and Np M by Tp and Np , respectively.
In this chapter, we focus on submanifolds and do not consider manifolds
defined in an intrinsic way, independently of any embedding in Rd . However,
the main results of the chapter and in particular the triangulation theorem
(Theorem 7.16) can be extended to intrinsic smooth manifolds. See the
bibliographical notes.

7.1.2 Projection Map, Medial Axis, and Reach


Let M be a submanifold of Rd . The medial axis of M is defined as the closure
of the set of points x ∈ Rd that have more than one closest point on M (see
Figure 7.3). We denote it by ax(M).
We can associate to each point of ax(M) a ball that is centered at that point,
whose interior does not intersect M and that is maximal for inclusion. Such a
ball will be called a medial ball.
7.1 Reach and ε-nets on Submanifolds 117

Np M

γ (0)

TpM γ(t)
p

Figure 7.2 The tangent and normal spaces to a two-dimensional submanifold M


of R3 at a point p ∈ M.

Figure 7.3 The medial axis of a closed curve. We only show the component of the
medial axis that is contained in the domain bounded by the curve. Various offsets
of the curve are also shown as thin curves.

We define the projection onto M as the mapping

: Rd \ ax(M) → M

that maps a point x to its (unique) closest point on M.


The reach of M, written rch(M), is the infimum of the distance from a
point of M to the medial axis ax(M). As we will see, the reach encodes both
local curvature considerations as well as global ones.
In this chapter, we will restrict our attention to the class of submanifolds
of Rd with positive reach introduced by Federer [81]. This class includes
all submanifolds of class C2 and also some submanifolds whose principal
curvatures may be discontinuous on subsets of measure 0. An example of such
118 Triangulation of Submanifolds

a submanifold is the r-offset of a solid cube, i.e., the set of points at distance at
most r from the cube.
We now state some properties of submanifolds with positive reach.
Lemma 7.2 (Tubular neighborhood) Let M be a manifold with positive
reach rch(M) and let BNp (r) be the intersection of the ball B(p,r) with the
normal space at p. If r < rch(M), then, for every point x ∈ BNp (r), (x) = p.
The proof of this lemma for C2 submanifolds follows from rather standard
arguments in differential geometry. The result for submanifolds of positive
reach is due to Federer [81]. From Lemma 7.2, we easily deduce the following
lemma.
Lemma 7.3 Let M be a submanifold of positive reach, and let x ∈ M. Any
open ball that is tangent to M at x and whose radius is at most rch(M) does
not intersect M.
Proof Let B(c, r) be a ball tangent to M at x and assume that r < rch(M).
If the intersection of M and the open ball B(c, r) is not empty, then (c) = x,
contradicting Lemma 7.2. The result for r = rch(M) now follows by taking
the limit.
Lemma 7.4 Let B be a closed ball that intersects M. If B ∩ M is not a
topological ball, then B contains a point of the medial axis of M.
Proof Write c for the center of B. The result is trivial when c belongs to the
medial axis of M. Therefore assume that c ∈ ax(M).
Let y be the (unique) point of M closest to c. We denote by By the closed
ball centered at c with radius c − y (see Figure 7.4). Plainly, the interior of
By does not intersect M and By ∩ M = {y}, otherwise c would be a point of

M
z

Bz
c
B(c, rc)
y

By B

Figure 7.4 For the proof of Lemma 7.4.


7.1 Reach and ε-nets on Submanifolds 119

the medial axis. Hence y is an isolated critical point of the distance function
from c, i.e., the function dc : Rd → R, dc (x) = x − c . dc is minimal at
y and, for a small enough radius r strictly larger than y − c , B(c, r) ∩ M
is a topological ball of the same dimension as M. Because B ∩ M is not a
topological ball, it follows from a basic result in Differential Topology [105,
Theorem 3.1]1 that there exists another critical point of dc , say z ∈ M, z = y,
such that rc = c − z > c − y and the ball B(c, rc ) is tangent to M at z.
Consider the set Bz of closed balls that are tangent to M at z and are centered
on the line segment [zc]. Note that B(c, rc ) is the ball of Bz centered at c. Since
the interior of B(c, rc ) contains y and therefore intersects M, there must exist
a ball Bz ∈ Bz maximal for the inclusion whose interior does not intersect M.
The center of Bz belongs to ax(M) and also to B since Bz ⊂ B(c, rc ) ⊂ B. The
lemma is proved.
If x ∈ M, B(x, r) cannot intersect the medial axis of M for any r < rch(x).
Lemma 7.4 thus implies
Corollary 7.5 For any x of M, and any r < rch(x), the intersection of M
with the ball B(x, r) centered at x of radius r is a topological ball.
Assume that we are given a finite set of points P on M and let Vor(P) be the
Voronoi diagram of P in the ambient space Rd . The following lemma shows
that the Voronoi cell of any p ∈ P has a large extent in the normal space Np at p.
Lemma 7.6 Let p ∈ P ⊂ M and write Np for the normal space of M at p.
Then the ambient Voronoi cell V(p) of p has a large extent in Np . Specifically,
B(p, rch(M)) ∩ Np ⊂ V(p), where B(c, r) denotes, as usual, the open ball
centered at c of radius r.
Proof Suppose w ∈ (B(p, rch(M)) ∩ Np ) \ V(p). Then the line segment
[pw] crosses the boundary of V(p) at some point z and there exists some u ∈
P ⊂ M, distinct from p, such that z − u = z − p . Because z ∈ Np , p
is the closest point to z on M, and we have reached a contradiction with the
definition of the reach.

7.1.3 ε-nets on a Submanifold


We give a variant of the definition of ε-nets introduced in Section 5.1. This
new definition is better adapted to the case of point samples on a submanifold
and is sensitive to the reach of the manifold.

Let a = dc (y) and b = r and suppose that the set dc−1 (a, b), consisting of all p ∈ M with
1

a ≤ dc (p) ≤ b, contains no critical points of dc (i.e., no point q of M where B(c, c − q ) is


tangent to M). Then M a = {x ∈ M, dc ≤ a} is homeomorphic to Mb = {x ∈ M, dc ≤ b}.
120 Triangulation of Submanifolds

Definition 7.7 ((ε, η̄)-net) Let M be a submanifold of Rd of positive reach.


A finite point set P ⊂ M is called an (ε, η̄)-net of M if it is
1. ε-dense: any point x of M is at distance at most ε rch(M) from a point of
P (the distance is the Euclidean distance in Rd ),
2. η-separated: for any two points p, q of P, p − q ≥ η rch(M), where
η = η̄ ε.
We call ε the sampling radius of P and η̄ the separation ratio of P. Note that,
differently from Section 5.1, ε here is a dimensionless quantity.
This definition does not allow the sampling radius to vary over the
submanifold. Hence, we are confined to uniform samples, which may be
quite restrictive in practice. The results of this chapter can be extended to
nonuniform ε-nets but, in order to keep the exposition simple and better
outline the key ideas, we will restrict our attention to uniform ε-nets. We leave
the extension to nonuniform ε-nets as an exercise (Exercise 7.4). See also the
bibliographical notes.

7.2 Projection Maps


In the rest of this chapter, M denotes a submanifold of Rd of positive reach
rch(M). The tangent space at x ∈ M is denoted by Tx . The angle between two
vector subspaces U and V of Rd is denoted by  (U, V) (see Section 5.2.2 for a
definition).
If σ is a simplex, we denote by (σ ) its diameter (i.e., the length of
its longest edge) and (σ ) its thickness. We further write for convenience
(σ ) = δ(σ ) rch(M).
Lemma 7.8 Let p and q be two points of M. We have
p−q
1. sin  (pq, Tp ) ≤ 2 rch(M) ;
p−q 2
2. the distance from q to Tp is at most 2 rch(M) .

Proof 1. Let q be the orthogonal projection of q onto Tp and let H be the


plane (pqq ). Let in addition D be the open disk of H of radius rch(M) that is
tangent to M at p and whose center c is on the same side of Tp ∩ H as q (Refer
to Figure 7.5). Because D is tangent to M and its radius is rch(M), it follows
from Lemma 7.3 that d(c, M) = c − p and that D does not intersect M.
Hence, q does not belong to the interior of D (Lemma 7.3). Assume that the
line segment [pq] intersects the boundary of D in a point q distinct from p.
We have
7.2 Projection Maps 121

rch(S)

D q
M θ q 

Tp p q
Figure 7.5 An illustration of the proof of Lemma 7.8 in the case in which M is a
curve of R2 . θ =  (pq, Tp ).

p−q ≥ p−q = 2 rch(M) sin  (pq, Tp ),

which proves the first statement.


p−q 2
2. We have q − q = p − q sin  (pq, Tp ) ≤ 2 rch(M) .

The previous lemma allows us to bound the Hausdorff distance between M


and a simplex that has its vertices on M.
Lemma 7.9 Let σ be a simplex with its vertices on M and assume that
δ(σ ) < 1. Then, for any point x ∈ σ , we have d(x, M) ≤ 2δ 2 (σ ) rch(M).
Proof Write x the point of M closest to x and note that x − x =
d(x, M) = d(x, Tx ). For any vertex p of σ , we have

p−x ≤ p−x + x−x ≤ 2 p − x ≤ 2(σ ) = 2δ(σ ) rch(M).

Applying Lemma 7.8, we then get d(p, Tx ) ≤ 2δ 2 (σ ) rch(M). This is true for
all vertices p of σ and, because the function d(., Tx ) is affine on σ , it is also
true for x and we have d(x, Tx ) = x − x ≤ 2δ 2 (σ ) rch(M).
The following lemma bounds the angle between two tangent spaces. Its
proof relies on notions of differential geometry that go beyond the scope of
this book. See the Bibliographic Notes (Section 7.5) for references.
Lemma 7.10 (Angle between tangent spaces) Let p, q ∈ M. Then
sin  (Tp , Tq ) ≤ p − q /rch(M).
We now introduce the important notion of distortion of a map.
122 Triangulation of Submanifolds

Definition 7.11 (ξ -distortion map) A map F : U ⊂ Rd → Rd is a


ξ -distortion map if for all x, y ∈ U we have
| F(x) − F(y) − x − y | ≤ ξ x − y ,
or equivalently if
(1 − ξ ) x − y ≤ F(x) − F(y) ≤ (1 + ξ ) x − y .

We will need the next lemma.


Lemma 7.12 Let U be a subset of Rd . A ξ -distortion map F : U → Rd is
an embedding (i.e., a homeomorphism onto its image) if ξ < 1. If it is smooth,
then we have | J u − 1| ≤ ξ , where J denotes the Jacobian matrix of F and u
is any unit vector of Rd .
Proof Continuity and injectivity directly follow from Definition 7.11. The
continuity of the inverse follows from Exercise 7.9. This proves that F is an
embedding. The second part of the lemma follows from Definition 7.11.
We now study two maps that will play a crucial role in proving the main
theorem of this chapter (Theorem 7.16). The first map has already been
defined. It is the projection : Rd \ ax(M) → M that maps a point to
its closest point on M.
We show now that is Lipschitz continuous in a neighborhood of M, and
that its restriction to a simplex with vertices on M has a distortion that is
bounded as a function of the diameter and of the thickness of the simplex.
Lemma 7.13 (Distortion of ) 1. Let x and y be two points of Rd \ ax(M).
Write x = (x) and y = (y) for their (unique) projections onto M.
If x − x ≤ α rch(M) and y − y ≤ α rch(M) with α < 1, then
x − y ≤ 1−α 1
x−y .
2. Let σ be a simplex with its vertices on M, and assume that (σ ) ≥ 5δ(σ ).
Then the restriction of to σ is a ξ -distortion map where ξ = 4δ 2 (σ ) +
16δ 2 (σ )
2 (σ ) < 1 and thus embeds σ in M

Proof Refer to Figure 7.6. Let θx =  (y − x , Tx ) and θy =  (y − x , Ty ).


From Lemma 7.8, both sin θx and sin θy are bounded by
y −x
. (7.1)
2 rch(M)

1. Let x and y be the orthogonal projections of x and y onto the line (x y ).


Let Hx be the hyperplane passing through x and orthogonal to xx , and
7.2 Projection Maps 123

y  y
x ψx
x
z
Hx
Figure 7.6 For the proof of Lemma 7.13 (1).

write ψx =  (x − y , Hx ) and observe that ψx = π2 −  (x − y , x − x ) =


 (x − x, x − x ). By definition of angles, ψx ≤ θx since Tx ⊆ Hx . Using
(7.1), we have
α
x −x = x−x sin ψx ≤ x−x sin θx ≤ α rch(M) sin θx ≤ y −x .
2
Likewise : y − y =≤ α
2 y − x . So

x−y ≥ x −y ≥ y −x − x −x − y −y ≥ (1 − α) y − x .

The first part of the lemma follows.


2. Refer to Figure 7.7. Let x and y be two points of σ , x = (x) and y =
(y). By Lemma 7.9, we know that x − x and y − y are at most
α rch(M) where α = 2δ 2 (σ ) ≤ 1/2.

From the first part of the lemma, we have


1
x −y ≤ x − y ≤ (1 + 2α) x − y ≤ 2 x − y (7.2)
1−α
We now prove a lower bound on x − y / x − y .
Let, as before, Hx denote the hyperplane passing through x and orthogonal
to xx . Let z be the projection of y onto Hx , z the projection of y onto Hx and
write φ =  (x − y, x − z)=  (x − y, Hx ) (see Figure 7.7). We have

x −y ≥ x −z ≥ x − z − z − z = x − y cos φ − z − z (7.3)
124 Triangulation of Submanifolds

x t
φ

y
x
z
Hx z
Figure 7.7 For the proof of Lemma 7.13 (2).

Let us bound cos φ and z − z . We have

φ =  (x − y, x − z) = min  (x − y, v)
v∈Hx
≤ min  (x − y, v)
v∈Tx
≤ max min  (u, v)
u∈aff(σ ) v∈Tx
=  (aff(σ ), Tx ).

By the proof of Lemma 7.9, the vertices of σ are at distance at most α rch(M)
from Tx . We then deduce from Lemma 5.14
2α 4δ(σ ) 16 δ 2 (σ )
sin φ ≤ = and so cos φ ≥ 1 − 2 (σ )
(7.4)
δ(σ ) (σ ) (σ )
Write χ =  (Ty , Hx ) ≤  (Ty , Tx ). By Lemma 7.10, we have
x −y
sin χ ≤ .
rch(M)
Let t =  (y − z, y − y ) ≤ χ . Using y − y ≤ α rch(M) and (7.2), we deduce

z −z = y−y sin t ≤ α x − y ≤ 2α x − y . (7.5)

Using (7.3), (7.4) and (7.5) and α = 2δ 2 (σ ), we get


 
16δ 2 (σ )
x − y ≥ 1 − 4δ (σ ) − 2
2
x − y = (1 − ξ ) x − y .
(σ )
7.2 Projection Maps 125

From (7.2) and α = 2δ 2 (σ ), we also have

x −y ≤ (1 + 4δ 2 (σ )) x − y ≤ (1 + ξ ) x − y .

We conclude that

(1 − ξ ) x − y ≤ x − y ≤ (1 + ξ ) x − y .

Hence, the restriction of to σ is a ξ -distortion map. It then follows from


Lemma 7.12 that embeds σ in M if ξ < 1.
If (σ ) ≥ 5δ(σ ), we have since (σ ) ≤ 1
16 δ 2 (σ ) 20
ξ = 4δ 2 (σ ) + 2 (σ )
≤ < 1.
25

We introduce now a second map p : Rd → Tp that maps points of Rd to


its closest point on the tangent space Tp at p. We now bound the distortion of
the restriction of p to a neighborhood of a p on M and of the restriction of
p to a simplex.

Lemma 7.14 (Distortion of p ) Let p ∈ M, and write B(p, r) for the ball
of Rd centered at p of radius r and BM (p, r) for B(p, r) ∩ M.
1. Let ρ be a positive scalar such that ρ < 12 and let r = ρ rch(M). The
restriction of p to BM (p, r) is a 4ρ 2 -distortion map.
2. Let σ be a simplex incident to p with its vertices on M. If (σ ) > δ(σ ),
2 )
then the restriction of p to σ is a δ 2(σ(σ )
-distortion map which embeds σ
in Tp .
Proof 1. For all x and y ∈ BM (p, r), we have from Lemmas 7.8 and 7.10

sin  (xy, Tp ) ≤ sin  (xy, Tx ) + sin  (Tx , Tp ) ≤ 2ρ < 1. (7.6)

Write x = p (x), y = p (y) and θ =  (xy, Tp ). Using (7.6), we get

x−y − x −y = x − y (1 − cos θ )
#
≤ x − y (1 − 1 − 4ρ 2 )
≤ 4ρ 2 x − y .

Adding the fact that x − y ≤ x − y , this shows that the restriction of


2
p to BM (p, r) is a 4ρ -distortion map. It then follows from Lemma 7.12
that p embeds BM (p, r) in Tp . This ends the proof of the first part of the
lemma.
126 Triangulation of Submanifolds

2. Let x, y ∈ σ , x = p (x), y = p (y), and φ =  (x − y, x − y ) ≤


 (aff(σ ), Tp ). By Lemma 7.8, the vertices of σ are at distance at most
δ 2 (σ )
h rch(M) from Tp , where h = 2 . It then follows from Lemma 5.14 that
2h δ(σ )
sin φ ≤ = . (7.7)
δ(σ ) (σ ) (σ )
Using (7.7), we get
x −y = x − y cos φ
&
δ 2 (σ )
≥ x−y 1− 2 (σ )
 
δ 2 (σ )
≥ x−y 1− 2 .
(σ )
We deduce
   
δ 2 (σ ) δ 2 (σ )
1− 2 x−y ≤ x −y ≤ x−y ≤ 1+ 2 x−y
(σ ) (σ )
2
The restriction of p to σ is thus a δ 2(σ )
(σ )
-distortion map and Lemma 7.12
ensures that p embeds σ in Tp . This completes the proof of the lemma.

7.3 Triangulation of Submanifolds


Definition 7.15 (Triangulation of a topological space) A triangulation
of a topological space X is a simplicial complex K and a homeomorphism
h : |K| → X.
The following theorem provides sufficient conditions for a simplicial com-
plex M̂ to be a triangulation of a submanifold M embedded in Rd . This
theorem will be used in Chapter 8 to reconstruct submanifolds from finite point
sets. We recall that denotes the projection onto M and p the orthogonal
projection onto the tangent space Tp at p ∈ M.
Theorem 7.16 (Triangulation of submanifolds) Let M be a closed2 k-
submanifold of Rd of positive reach rch(M) and let M̂ be a combinatorial
k-manifold without boundary embedded in Rd that satisfies the following
assumptions:

2
i.e., compact and without boundary.
7.3 Triangulation of Submanifolds 127

(a) The vertices of M̂ belong to M and each connected component of M


contains some vertices of M,
(b) The diameter of any k-simplex of M̂ is less than 0 = δ0 rch(M) where
δ0 ≤ 1/5,
(c) The thickness of the k-simplices of M̂ is at least 0 ≥ 9 δ02 /λ0 , where
L0 = λ0 rch(M) is a lower bound on the edge lengths of the simplices,
(d) For any vertex p ∈ M̂, p embeds star(p, M̂).
(e) Let r = 75 δ0 rch(M). Any vertex q of M̂ that belongs to B(p, r) and is
mapped by p onto a point q ∈ p (star(p)) has to be a vertex of star(p).
Then the following facts hold:
1. The restriction of to M̂ is a homeomorphism and thus M̂ is a
triangulation of M.
2. The Hausdorff distance between M̂ and M is at most 2δ02 rch(M).
3. If σ is a k-simplex of M̂ and p one of its vertices, we have
δ0
sin  (aff(σ ), Tp ) ≤ .
0
The proof is given in the following sections. A more general version of
the theorem holds. Indeed, we can remove the assumption that the simplicial
complex M̂ is embedded in Rd . The fact that the complex is naturally
embedded in Rd is a consequence of this more general version of the theorem.
In the sequel, we will denote by P the set of vertices of M̂.

7.3.1 Proof of Statement 1


Write as before for the projection onto M and consider |M̂
: M̂ → M,
the restriction of to M̂. Note that |M̂ is well defined because M̂ does
not intersect the medial axis of M as δ0 < 1. We will prove that |M̂ is a
homeomorphism, which implies that M̂ is a triangulation of M.
Here is an overview of the proof. We have already seen that embeds
any simplex of M̂ into M (Lemma 7.13 (2)). We will extend this result and
prove that |M̂ is a local homeomorphism (Lemma 7.23). More specifically,
we define an open cover of M̂ as follows. We attach to each vertex p of
M̂ an open set Vp such that the union of the Vp , for all vertices p of M̂,
covers M̂. Specifically, Wp is defined as the set of points of star(p) ⊂ M̂
1
whose barycentric coordinate with respect to p is at least k+1 , and Vp is an
open set that contains Wp and is arbitrarily close to Wp . Since the barycentric
coordinates in each k-simplex sum to 1, this ensures that the sets Vp cover M̂.
We will show that embeds each Vp , which will prove that |M̂ is a local
homeomorphism.
128 Triangulation of Submanifolds

We will then prove that |M̂ is injective (Lemma 7.24) and surjective
(Lemma 7.25). Furthermore, |M̂ is continuous by Lemma 7.13(1) and its
inverse is also continuous because M̂ and M are both k-manifolds without
boundary (see Section 1.2.1). It will follow that |M̂ is a homeomorphism
and that M̂ and M are homeomorphic.

7.3.2 Whitney’s Lemma


We write star (p) for p (star(p)) and Vp for p (Vp ), With a slight abuse of
notation, in the rest of the proof of Theorem 7.16, we write −1 p for the inverse
of the restriction of p to star(p), which is well defined because p embeds
star(p) by Hypothesis (d). We further define the map Fp : star (p) ⊂ Tp → Tp
as Fp = p ◦ ◦ −1 p . See Figure 7.8. By construction, Fp leaves the vertices
of star (p) fixed: if q is a vertex of star (p), then Fp (q) = q. Our goal is to show
that Fp embeds Vp = p (Vp ). To do so, we will use the following result due
to Whitney3 that we state without proof [131, App. II, Lemma 15a].
Definition 7.17 Let C be a k-simplicial complex embedded in Rk . We say
that a map F : C → Rk is simplexwise positive if it is smooth and 1-1 on each
k-simplex of C, and if the Jacobian of F is positive there.
Lemma 7.18 (Whitney’s lemma) Assume C is a combinatorial k-manifold
with boundary embedded in Rk . Let F : C → Rk be simplexwise positive in
C. Then for any connected open subset of Rk \ F(∂C), any two points of
not in the image of the (k − 1)-skeleton of C are covered the same number of
times. If this number is 1, then F, considered in the open subset F −1 ( ) of C
only, is one to one onto .
M

x̂ = Π−1
p (x)

σ
Π(x̂)
Tp
p x Fp(x)
Figure 7.8 For the proof of Lemma 7.23.

3
Whitney proved a more general result that does not assume that C is embedded in Rk .
7.3 Triangulation of Submanifolds 129

7.3.3 Satisfying the Conditions of Whitney’s Lemma


We will apply Whitney’s lemma to = Vp , C = star (p) = p (star(p)) and
to F = Fp . This section contains the geometric arguments needed to prove that
the conditions of Whitney’s lemma are satisfied. After recalling that star(p) is
an oriented combinatorial k-manifold (Point 1), we show that Fp is simplex-
wise positive (Point 2). We then exhibit a point in Fp (Vp ) \ Fp (∂star(p)) that is
covered only once (Point 3) and finally prove that Fp (Vp ) is included in a single
component of Fp (star(p)) \ Fp (∂star(p)) (Point 4). The proofs use extensively
the bounds on the distortion of the two maps and p of Section 7.2.

1. Because M̂ is a combinatorial k-manifold and p embeds star(p) (Hypoth-


esis (d)), star (p) is a combinatorial k-manifold embedded in Tp . We can
then assume that it is oriented.
2. We now prove that Fp = p ◦ ◦ −1 p is simplexwise positive.

Lemma 7.19 (Distortion of Fp on a simplex) Under the hypotheses of


Theorem 7.16, the distortion of the restriction of Fp to any simplex of M̂ is
33δ02
less than 2 < 1.
0

Proof Rename, for convenience, −1 p as f1 , the restriction of to star(p) as


f2 , and the restriction of p to Up = (star(p)) as f3 . We have Fp = f3 ◦ f2 ◦ f1 .
Write ξi for the distortion of fi , i = 1, 2, 3, and ξ for the distortion of Fp .
By hypothesis, the diameter of any simplex in star(p) is at most δ0 and its
thickness is at least 0 . Moreover, Up is contained in a ball centered at p of
radius r = δ0 rch(M) (1 + 2δ0 ) < rch(M)/3 (Lemma 7.9).
Using the assumptions of Theorem 7.16 and Lemmas 7.14 and 7.13, we get
δ02
2 64 δ02
ξ1 ≤ 0
≤ (Exercise 7.9, Lemma 7.14(2) and 0 ≥ 8δ0 )
1−
δ02 63 20
2
0

16δ02 δ02
ξ2 ≤ 4δ02 + 2
≤ 20 2
(Lemma 7.13 (2) and 0 ≤ 1)
0 0
δ02 1
ξ3 ≤ 4δ02 (1 + 2δ0 )2 < 8δ02 ≤ 8 2
Lemma 7.14(1) and δ0 ≤
0
5

Using Exercise 7.10 and 0 > 9δ0 , we obtain

ξ ≤ ξ1 + ξ2 + ξ3 + ξ1 ξ2 + ξ2 ξ3 + ξ3 ξ1 + ξ1 ξ2 ξ3
33δ02
< 2
< 1.
0
130 Triangulation of Submanifolds

It follows from Lemma 7.19 that Fp embeds any simplex σ of star (p) and,
from Lemma 7.12, that the Jacobian of Fp does not vanish on σ .
It remains to prove that the Jacobian of Fp is positive. To do so, observe that
the differential of the restriction of Fp to σ at the point p ∈ σ is the identity.
This follows from the observation that the differential of at p restricted to Tp
is the identity, since p lies on the manifold.

3. We will now prove that there is a point in Fp (Vp ) \ Fp (∂star(p)) and not in
the image of the (k − 1)-skeleton that is covered once. For this purpose, we
choose the image of the barycenter of a k-simplex of star (p).

Lemma 7.20 Assume that the conditions of Theorem 7.16 hold and let b be
the barycenter of a k-simplex σ in star (p). Then the image of b , Fp (b ), is
covered once, i.e., Fp−1 (Fp (b )) = {b }.
Proof We denote as usual by (σ )the diameter of σ , by L(σ ) the length of
the shortest edge of σ , and by D(p, σ ) the altitude of p in σ . Let σ = −1
p (σ )
and write ζ for the distortion of the restriction of p to σ . By Lemma 7.19,
we have ζ ≤ δ02 / 20 and, using Conditions (b) and (c) in Theorem 7.16 and
0 ≤ 1, we get ζ ≤ 1/45. We thus have D(p, σ ) ≥ (1 − ζ ) D(p, σ ). Now
observe that the distance d(b , ∂σ ) from the barycenter b to the boundary of
σ is minp∈vert(σ ) D(p,σ )
k+1 . A lower bound on d(b , ∂σ ) is then obtained using
the definition of thickness, k ≥ 1 and Condition (c):

k(1 − ζ ) (σ ) (σ ) (1 − ζ ) 0 λ0 rch(M)


d(b , ∂σ ) ≥ ≥
k+1 2
9(1 − ζ ) δ02 rch(M)

2
Using the bound on ζ above, we obtain

22 2
d(b , ∂σ ) ≥ δ rch(M) (7.8)
5 0

Since the distortion of the restriction of Fp to σ is less than 1 (Lemma 7.19),


Fp embeds σ (Lemma 7.12) and therefore no point z ∈ σ distinct from b can
verify Fp (z ) = Fp (b ). Let us consider now the case of a point z of star (p)\σ .
Write b = −1 −1
p (b ) and z = p (z ). Using Lemma 7.9, we get

Fp (b ) − b = p( (b) − b) ≤ (b) − b ≤ 2δ02 rch(M)

and similarly for Fp (z ) − z .


7.3 Triangulation of Submanifolds 131

Hence,

Fp (b ) − Fp (z ) ≥ b − z − Fp (b ) − b − Fp (z ) − z
≥ d(b , ∂σ ) − 4δ02 rch(M)
22 2
≥ δ rch(M) − 4δ02 rch(M) (By Equation 7.8)
5 0
>0

It follows that Fp (b ) = Fp (z ).
Because b ∈ Vp , the previous lemma implies that there exists a point in
Fp (Vp ) that is covered exactly once.
4. The next lemma shows that Fp (Vp ) ∩ Fp (∂star (p)) = ∅.
Lemma 7.21 Assume that the conditions of Theorem 7.16 hold and let x ∈
σ ⊂ star (p) and y ∈ ∂(star (p)). If the barycentric coordinate of x with respect
1
to p is at least k+1 , then Fp (x) = Fp (y).
Proof Arguing as in the proof of Lemma 7.20, we get

Fp (x) − Fp (y) ≥ x − y − Fp (x) − x − Fp (y) − y


≥ d(x, ∂star (p)) − 4δ02 rch(M)

Using Lemma 7.22, we can conclude in very much the same way as in the
proof of Lemma 7.20.
Lemma 7.22 Let σ be a k-simplex of star (p) and let x be a point of σ
whose barycentric coordinate associated to p in σ satisfies λp (x) ≥ α.
Then d(x, ∂star (p)) ≥ αk(1 − ζ )L0 0 , where L0 = λ0 rch(M) is a lower
bound on the edge lengths of the simplices and 0 is a lower bound on their
thickness.
Proof Let γσ be a line segment joining two points xσ and yσ of σ and
denote by λp (xσ ) and λp (yσ ) respectively their pth barycentric coordinates.
Then |γσ | ≥ |λp (xσ ) − λp (yσ )| D(p, σ ), where D(p, σ ) denotes the altitude
of p in σ and we indicate the length of a curve by | · |. As noted in the proof
of Lemma 7.20, D(p, σ ) ≥ (1 − ζ ) D(p, σ ).
Let starα (p) = {z ∈ star(p), λp (z) ≥ α}. Equivalently, starα (p) is the image
of star (p) by the homothety of center p and ratio 1 − α. Consider a shortest
line segment γ connecting a point of ∂star (p) to a point of ∂starα (p). Plainly,
γ intersects star (p) and starα (p) only at its endpoints and the intersection of γ
with any simplex σ of star (p), if non empty, is a line segment we denote by
132 Triangulation of Submanifolds

γσ . If we now note that the barycentric coordinates coincide on a face that is


shared by two simplices we see that:
  
|γ | = |γσ | ≥ λp (x ) − λp (y ) D(p, σ )
σ σ
σ σ
 
≥ λp (x ) − λp (y ) k (1 − ζ ) 0 (σ )
σ σ
σ
 
≥ λp (x ) − λp (y ) k (1 − ζ ) 0 (σ )
σ σ
σ
≥ αk (1 − ζ ) 0 L0

where xσ is the point where γ enters σ and yσ where it leaves.

7.3.4 Local Homeomorphism


Lemma 7.23 (|M̂ is a local homeomorphism) If the conditions of
Theorem 7.16 hold, then embeds Vp in M and the restriction of to M̂
is a local homeomorphism.
Proof We have proved in the previous section that the conditions of
Whitney’s lemma are fulfilled for F = Fp . Hence, Fp embeds Vp in Tp and,
because Fp = p ◦ ◦ −1 p , must embed Vp into M. Moreover, because
the set of all Vp for all vertices of M̂ cover M̂, we have proved that the map
restricted to M̂ is a local homeomorphism on M. This completes the proof of
Lemma 7.23.

7.3.5 The Restriction of  to M̂ Is Injective


Lemma 7.24 (Injectivity of |M̂ ) Under the conditions of Theorem 7.16,
is injective on M̂.
−1
Proof Let x be a point of (M̂). (x) is nonempty and finite since
|M̂
embeds each simplex of M̂ (Lemma 7.13) and there are only finitely many
simplexes in M̂. For each point y ∈ −1 (x) ∩ M̂, we choose a sufficiently
small open neighborhood U(y) of y such that the U(y) are disjoint, and each
U(y) is homeomorphic to a k-ball and is contained in some Vp . This is
possible because the Vp , p ∈ P, constitute an open cover of M̂. Because,
as already noticed, embeds any Vp on M, it also embeds each U(y) in M.
Hence the preimage under |M̂ of any sufficiently small open neighborhood
U(x) of a point x of M is a union of disjoint open sets, each of which is
7.3 Triangulation of Submanifolds 133

contained in some Vp ⊂ M̂ and mapped homeomorphically onto U(x) by .


(In topological terms, (M̂, ) is a covering space of (M̂).)
We now show that the cardinality of −1 (x) is constant over each connected
|M̂
component of M. Indeed, consider the function G that associates to a point
x of M the cardinality of −1M (x). From the above discussion, G is locally
constant, which implies that it is constant on each connected component
of M. Hence |M̂ covers all the points of a connected component of its
image (M̂) the same number of times. This number is 1 as is shown
next.
Assume, for a contradiction, that there exists a vertex q and a simplex σ
of M̂ such that q belongs to the image (σ ) but q is not a vertex of σ .
Specifically, let x ∈ σ be such that (x) = q. In the rest of the proof, we
denote by p a vertex of σ such that the associated barycentric coordinate of x
satisfies λp (x) ≥ k+1
1
(which must exist).
We write for convenience x = p (x) and q = p (q). Recall that
Fp = p ◦ ◦ −1 p and observe that F p (x ) = Fp (q ) for any vertex p of σ .
Plainly, x belongs to p (σ ) but q does not belong to star (p) = p (star(p))
by Hypothesis (e). Then, Lemma 7.21 implies that Fp (x ) = Fp (q ), hence a
contradiction.

7.3.6 The Restriction of  to M̂ Is Surjective


Lastly we prove that the restriction of to M̂ is surjective.
Lemma 7.25 (Surjectivity of |M̂ ) Under the conditions of Theorem 7.16,
|M̂
is surjective on M.

Proof Since M̂ has no boundary, the same is true for (M̂) by the
invariance of domain theorem.4 Hence any connected component of M that
intersects (M̂) has to be totally included in (M̂). Because by Hypothesis
1 of Theorem 7.16, every connected component of M intersects (M̂), M is
included in (M̂).

7.3.7 End of Proof of Statement 1


We have shown that |M̂
is a bijection from M̂ to M. Furthermore, |M̂
is
continuous by Lemma 7.13(1) and its inverse is also continuous since M̂ is
4
The invariance of domain theorem states that, given an open subset U ⊆ Rd and an injective
and continuous function f : U → Rd then f is a homeomorphism between U and f (U). The
theorem and its proof are due to L. E. J. Brouwer [110, Theorem 36.5].
134 Triangulation of Submanifolds

compact and M is a metric space (see Section 1.2.1). It follows that |M̂
is
a homeomorphism and that M̂ and M are homeomorphic, which is the first
statement in Theorem 7.16.

7.3.8 Proof of Statements 2 and 3, and of Theorem 7.16


To prove the second statement, let x be a point of M and let y be the point
of M̂ such that x = (y). Such a point y exists by the first statement. It then
follows from Lemma 7.9 that x − y ≤ 2δ02 rch(M).
The third statement of the theorem follows from Lemma 5.14 as in the proof
of Lemma 7.14 (Equation (7.7)).
We have thus proved the three statements of Theorem 7.16.

7.4 Exercises
Exercise 7.1 (ε-nets on submanifolds) Let P be an ε-dense sample of a
submanifold M. Let P := ∅ and apply the following procedure : while there
exists a point p of P \ P whose distance to the current set P is greater than
εrch(M), insert p in P . Show that P is an (εrch(M), 1)-net of P and a (2ε, 12 )-
net of M. Adapt the algorithms of Section 5.1 to the case of submanifolds.
Exercise 7.2 (Size of nets) Show that the size of an (ε, η̄)-net of a k-
submanifold with a bounded sampling ratio η̄ depends exponentially on k.
Exercise 7.3 (Computing rch(M)) Let M be a smooth submanifold and
write ax(M) for the medial axis of M. Show that rch(M) is the radius of
a ball B(m) centered at a point m ∈ ax(M) and tangent to M. Show that
if B(m) has only one contact point, B(m) is osculating M at the contact
point. If B(m) has two distinct contact points, the two contact points are
the endpoints of a diameter of B(m). Propose an algorithm to compute
rch(M) when M is a hypersurface of Rd implicitly defined as f (x) = 0
where f is a differentiable function defined over Rd for which 0 is a regular
value.
Exercise 7.4 (Non uniform nets) We define the local feature size lfs(x) at a
point x of a submanifold M as the distance from x to the medial axis of M,
ax(M). We say that a finite set of points P ⊂ M is a non uniform (ε, η̄)-net if
it satisfies the following two properties:
1. Any point x of M is at distance at most ε lfs(x) from a point of P.
2. For any two points p, q of P, p − q ≥ η min(lfs(p), lfs(q)).
7.4 Exercises 135

Show that lfs is a 1-Lipschitz function, and, using this fact, extend the results
of this chapter to sufficiently dense non uniform ε-nets.
Exercise 7.5 (Size of nonuniform nets) Provide upper and lower bounds on
the size of a nonuniform (ε, η̄)-net of a k-submanifold as a function of k and
the integral over M of lfs(x), the local feature size of M at x.
Exercise 7.6 (Geodesic distance) Let x and y be two points on M such that
x − y ≤ α rch(M), α < 1. Show that the length of a shortest path on M
x−y
joining x to y is at most 1−α .
Exercise 7.7 (Angle between tangent spaces) Prove Lemma 7.10 (with
possibly a bigger constant) using elementary arguments.
Exercise 7.8 Let x be a point of BM = B(p, r) ∩ M where r = ρ rch(M),
ρ < 1. Show that there exists a point y ∈ Tp such that (y) = x, where
denotes the projection on M, and x − y ≤ 1−ρ r
.

Exercise 7.9 (Distortion) Let F : U ⊆ Rd → Rd be a ξ -distortion map.


Show that F −1 is well defined and that it is a 1−ξ
ξ
-distortion map.
Exercise 7.10 If F1 is a ξ1 -distortion map and F2 is a ξ2 -distortion map, then
F1 ◦ F2 is a (ξ1 + ξ2 + ξ1 ξ2 )-distortion map.
Exercise 7.11 (Ambient isotopy) Assume that the conditions of Theorem
7.16 are satisfied. Show that the restriction of to M̂ induces an ambient
isotopy
∗ : Rd × [0, 1] −→ Rd

such that the map ∗ (·, 0) restricted to M̂ is the identity map on M̂ and
∗ (M̂, 1) = M. The isotopy does not move the points by more than
O(δ02 rch(M)).
Hint: Let

 : M̂ × [0, 1] −→ R3 , (x, t) → x + t ( (x) − x)

Note that (·, 0) is an identity map on M̂ and (·, 1) = |M̂


. The map  is
an isotopy because the maps

t : M̂ −→ Rd , x → (x, t)

are homeomorphisms between M̂ and t (M̂).


Isotopy  can be extended to an ambient isotopy ∗ : Rd × [0, 1] −→ R3
such that ∗ (·, 0) |M̂ = (·, 0) and ∗ (·, 1) |M̂ = (·, 1)
136 Triangulation of Submanifolds

7.5 Bibliographical Notes


The medial axis was introduced as a tool in image analysis. It is by now
widely used to represent and analyze shapes. For mathematical and algorithmic
properties, we refer the reader to the work of Lieutier [101] and to the
survey paper [3]. Lieutier proved that any bounded open subset of Rd is
homotopy equivalent to its medial axis [101]. The notion of local feature size
(Exercise 7.4) was introduced by Amenta and Bern in their seminal paper on
surface reconstruction [2]. See also [22, 90]. The related notion of reach has
been introduced earlier by Federer [81] who proved Lemmas 7.2, 7.8 and the
first part of Lemma 7.13. Many other results on sets of positive reach can also
be found in this paper. The link between the reach and the principal curvatures
of a submanifold has been established by Niyogi, Smale and Weinberger [112]
who also proved a weaker form of Lemma 7.10. The improved bound is due to
Boissonnat, Lieutier, and Wintraecken [19].
Proving that any smooth manifold can be triangulated has been the subject of
many important developments in the mathematical community by Cairns [32],
Whitehead [130], Whitney [131], Munkres [109], and others. Our proof
uses Lemma 7.18 which is due to Whitney. More recently, the Delaunay
triangulation turned out to be a useful tool in this context leading to efficient
algorithms. Variants of Theorem 7.16 have been proved by Cheng and al. [57],
Boissonnat and Ghosh [18], and Dyer et al. [66]. The proof presented here is
based on [16]. A proof of Exercise 7.11 can be found in [97].
8
Reconstruction of Submanifolds

Let M be an unknown manifold and let P ⊂ M be a known finite sample.


The reconstruction problem is to recover from P alone the topological type
of M (manifold reconstruction) or the homotopy type of M (homotopy
reconstruction). More concretely, we look for a simplicial complex M̂, which
approximates M, and, in particular, is provably homeomorphic or homotopy
equivalent to M.
In Section 8.1, we will see that, under appropriate conditions on P, M has
the same homotopy type as the union of balls centered on the points of P.
It follows that the alpha-shape of P, for an appropriate value of α has the
same homotopy type as M. This method however has some limitations. The
complex captures the homotopy type but is not in general a triangulation of M
and computing the alpha-shape is limited to low dimensional spaces.
In the following sections, we overcome these limitations and show how to
reconstruct a simplicial complex with vertex set P that is homeomorphic to M.
We have to face two main difficulties. First, even when a point set is a dense
and sparse sampling on a manifold M, the Delaunay simplexes of dimension
higher than 2 are not guaranteed to be thick (see Section 5.2) and therefore not
guaranteed to approximate the tangent bundle of M (see Lemma 5.14). This
is an issue since the main theorem of Chapter 7, Theorem 7.16, that provides
conditions to triangulate a submanifold, requires simplices to be thick. To be
able to reconstruct manifolds of dimension greater than 2, we will need to
explicitly take care of nonthick simplices using techniques similar to what has
been done in Chapter 5 in the Euclidean case.
The second major difficulty comes from the so-called curse of dimension-
ality. We have seen (Theorems 4.4 and 5.4) that the size of the Delaunay
triangulation of n points grows exponentially with the dimension d of the
embedding space. As a consequence, when d is large, we cannot afford
to compute the d-dimensional Delaunay triangulation Del(P) or any other

137
138 Reconstruction of Submanifolds

subdivision of Rd . Instead, we will introduce a subcomplex of Del(P), called


the tangential Delaunay complex, whose complexity depends on the intrinsic
dimension of M and not on the ambient dimension d. This complex is defined
locally and the various local triangulations are glued together so as to constitute
a manifold complex that is embedded in Rd and triangulates M.

8.1 Homotopy Reconstruction Using alpha-shapes


Unions of balls play a central role in manifold reconstruction. Indeed, while
Chapter 6 shows how to capture the homotopy type of a union of balls with
a simplicial complex, this section shows that the homotopy type of a sampled
manifold can be obtained from the homotopy type of a union of balls. More
precisely, we show here that the homotopy type, hence the homology groups,
of a manifold M with positive reach can be obtained from union of balls
centered at the points of a sample of M provided that the sample is dense
enough with respect to the reach.
Theorem 8.1 Let M be a manifold with positive reach rch(M), and P ⊂ M
be a point sample of M with sampling radius 2ε rch(M), meaning that any
point x of M is at distance less than 2ε rch(M) from the closest sample point.
#
If ε < 35 , the union of balls with radius ε rch(M) centered on P, is homotopy
equivalent to M.
Proof In the following, we denote by B(p, r) the ball with radius r centered
on p and write for short U for the union of balls with radius εrch(M) centered
on points of P:

U= B(p, εrch(M)).
p∈P

Obviously, M is included in U. To prove the homotopy equivalence we prove


below that U deformation retracts to M. For all x ∈ U and t ∈ [0, 1], we define
F(x, t) = (1 − t)x + t (x),
where (x) is the projection on M. F is continuous from Lemma 7.13. For
all x ∈ U, F(x, 0) = x, and F(x, 1) = (x) is in M, and for all x ∈ M and
t ∈ [0, 1], F(x, t) = x. Therefore F is a deformation retracts from U to M, pro-
vided that F(x, t) belongs to U for any (x, t) ∈ U × [0, 1], which is proved now.
Let us consider U , the restriction of to U. The preimage −1 U (y) of a
point y ∈ M is
−1
U (y) = Ny ∩ U ∩ B(y, rch(M)), (8.1)
8.1 Homotopy Reconstruction Using alpha-shapes 139

where Ny is the normal subspace of M at y. The ball with radius rch(M)


centered at y, B(y, rch(M)), appears in Equation 8.1 to remove orphan
components of Ny ∩ U, i.e., components that do not contain y, and may
arise from the fact that M is curved. Therefore,

−1
U (y) = B(p, εrch(M)) ∩ Ny ∩ B(y, rch(M)).
p∈P

We also consider the subset st(y) defined as



st(y) = B(p, εrch(M)) ∩ Ny ∩ B(y, rch(M)).
p∈P∩B(y,εrch(M))

Obviously, st(y) ⊂ −1 U (y). Then Lemma 8.2 below proves that st(y) is star
shaped with respect to y and Lemma 8.3 proves that st(y) = −1
U (y). It follows
−1
that for any y ∈ M, U (y) is star-shaped with respect to y and that for any
(x, t) ∈ U × [0, 1], F(x, t) belongs to U.
Lemma 8.2 The subset st(y) is star shaped with respect to y.
Proof Let z be an arbitrary point in st(y). Then z ∈ B(p, εrch(M)) ∩ Ny ∩
B(y, rch(M)) for some p ∈ P ∩ B(y, εrch(M)). Because p ∈ B(y, εrch(M)),
y ∈ B(p, εrch(M)). Because z and y are both in B(p, εrch(M)), the segment
zy is entirely contained in B(p, εrch(M)). At the same time, zy is entirely
contained in Ny and in B(y, rch(M)) and therefore in st(y).
−1
Lemma 8.3 The subset st(y) coincides with the preimage U (y).

Proof We are left to show that −1 U (y) ⊆ st(y). Let z be a point in


B(p, εrch(M)) ∩ Ny ∩ B(y, rch(M)) where p is a point of P such that p ∈
B(y, εrch(M)). Lemma 8.4 shows that the distance from z to y is at most
ε2 rch(M) and Lemma 8.5 shows that if P is ( 2ε rch(M))-dense in M with
ε < 35 , there is some point q ∈ P∩B(y, εrch(M)) such that z ∈ B(q, εrch(M))
which achieves the proof.

Lemma 8.4 Let z be a point in B(p, εrch(M)) ∩ Ny ∩ B(y, rch(M)) where p


is a point of P such that p ∈ B(y, εrch(M)). The distance d(y, z) from z to y is
at most ε2 rch(M).
Proof Let us consider the plane H through y, z and p. See Figure 8.1. In the
plane H, we call ny the line H ∩ Ny , and hy the line orthogonal to ny that passes
through y. Point z belongs to ny and point p lies anywhere outside of the two
balls with radius rch(M) tangent to hy at y. Because the distance d(y, z) is
constrained by the fact that d(p, z) ≤ εrch(M), the maximum of the distance
140 Reconstruction of Submanifolds
ny

2θp

p
θp
hy y

Figure 8.1 For the proof of Lemma 8.3.

d(y, z) occurs in the configuration where points p and z lie on the same side of
hy , as shown in Figure 8.1. We denote by rp the radius of the circle tangent to
M in y and going through p, and by θp the angle  (hy , yp) between hy and yp.
We have rp ≥ rch(M) and d(y, p) = 2rp sin θp . Furthermore, we have (see
Figure 8.1):
#
d(y, z) = d(y, p) sin θp + d(z, p)2 − d(y, p)2 cos2 θp
#
= 2rp sin2 θp + d(z, p)2 − rp2 sin2 2θp
#
≤ 2rp sin2 θp + ε2 rch(M)2 − rp2 sin2 2θp
def
= f (rp , θp ) (8.2)

We have:

df 2rp2 sin 2θp cos 2θp


= 2rp sin 2θp − #
dθp ε2 rch(M)2 − rp2 sin2 2θp
⎛ ⎞
rp cos 2θp
= 2rp sin 2θp ⎝1 − # ⎠.
ε rch(M) − rp sin 2θp
2 2 2 2

#
Because ε < 35 < 1 and rch(M) ≤ rp , the function f is monotonically
decreasing with respect to θp and reaches its maximum when θp is minimum,
i.e., when d(y, p) = 2rp sin θp = εrch(M). We have then
8.1 Homotopy Reconstruction Using alpha-shapes 141
#
f (rp , θp ) = εrch(M) sin θp + ε2 rch(M)2 − ε2 rch(M)2 cos2 θp
ε2 rch(M)2
= 2εrch(M) sin θp = ≤ ε2 rch(M),
rp
which, together with Equation 8.2, achieves the proof.

Lemma 8.5 Let z be a point in B(p, εrch(M)) ∩ Ny ∩ B(y, rch(M)) where p


is a point of P such that p ∈ B(y, εrch(M)). If P is ( 2ε rch(M))-dense in M
#
with ε < 35 rch(M), there is some point q ∈ P ∩ B(y, εrch(M)) such that
z ∈ B(q, εrch(M)) ∩ Ny .
Proof Because P is ( 2ε rch(M))-dense in M, there is a point q ∈ P at
distance at most 2ε rch(M) from y. We prove that z ∈ B(q, εrch(M)). We
consider now the plane H through y, z and q and write ny for the line H ∩ Ny ,
and hy for the line orthogonal to H that passes through y. Figure 8.2, drawn in
the plane H , shows the worst situation for the distance d(z, q). Denoting now
by θq the angle  (hy , yq) between hy and yq, we have

d(z, q)2 ≤ d(y, q)2 cos2 θq + (d(y, q) sin θq + d(y, z))2


≤ d(y, q)2 + 2d(y, q)d(y, z) sin θq + d(y, z)2 .

Because d(y, q) ≤ 2ε rch(M) and d(y, z) ≤ ε2 rch(M) (Lemma 8.4), we get

ε2
d(z, q)2 ≤ rch(M)2 + ε3 rch(M)2 sin θq + ε4 rch(M)2 .
4

ny

hy θq y
q

Figure 8.2 For the proof of Lemma 8.4.


142 Reconstruction of Submanifolds

We have d(y, q) = 2rq sin θq ≤ 2ε rch(M) where rq is the radius of the circle
tangent to M at y and going through q. Because point q lies outside the two
balls with radii rch(M) that are tangent to Ty at y, rq is greater than rch(M)
and therefore sin θq ≤ 4ε . Thus,

ε2 ε4
d(z, q)2 ≤ rch(M)2 + rch(M)2 + ε4 rch(M)2
4 4
2 1 5
≤ ε rch(M)
2
+ ε2 ,
4 4

which is not greater than ε2 rch(M)2 if ε2 ≤ 35 .

8.2 Tangential Delaunay Complex


We introduce in this section a data structure, named the tangential Delaunay
complex. Let M be a k-submanifold of Rd . The only knowledge we have on
M is a finite set of points P ∈ M and the tangent spaces at each point of P.
The tangential Delaunay complex DelT M (P) is a k-dimensional subcomplex
of the d-dimensional Delaunay complex Del(P). An important property is
that DelT M (P) can be constructed without computing any data structure of
dimension higher than k, and in particular without computing the full Delaunay
complex. We will see in Section 8.3 that DelT M (P) can be used to reconstruct
a triangulation of M.

8.2.1 Definition
Let P be a finite set of n > k + 1 points on M. Let Del(P) be the Delaunay
complex of P, i.e., the collection of all the simplices with vertices in P that
admit an empty circumscribing d-dimensional ball. A ball of Rd is called empty
if its interior contains no point of P. For p ∈ P, we denote by Delp (P) the
Delaunay complex of P restricted to the tangent space Tp , i.e., the subcomplex
of Del(P) formed by all the simplices with vertices in P that admit an empty
circumscribing ball centered on Tp . Equivalently, the simplices of Delp (P) are
the simplices of Del(P) whose Voronoi dual face intersect Tp .
In the rest of this chapter, we assume that the points of P are in general
position wrt spheres so that the Delaunay complex Del(P) naturally embeds
in Rd as a triangulation of P (see Section 4.3). We will further assume that P
satisfies the following transversality condition : Tp contains no point that is
equidistant from more than k + 1 points of P. The transversality condition
8.2 Tangential Delaunay Complex 143

Tp
p

Figure 8.3 M is the curve in bold. The sample P is the set of circles. The line is
the tangent space Tp at p. The figure shows the Voronoi diagram and the Delaunay
triangulation of P with, in bold, star(p).

implies that the restricted Delaunay complex Delp (P) is a subcomplex of


dimension at most k. Furthermore, if Tp intersects a (d − k)-face f of Vor(P),
the intersection consists of a single point c. The unique point c is the center of
an empty ball circumscribing the k-simplex of Del(P) dual to f . It is easy to
see that applying an infinitesimal perturbation to P is sufficient to ensure the
transversality condition.
We write star(p) for the closed star of p in Delp (P), i.e., the subcomplex of
Delp (P) consisting of the simplices of Delp (P) that are incident to p together
with their faces (see Figure 8.3). In the following, we will simply call star a
closed star. For a k-simplex σ in star(p), we write Bp (σ ) for the ball centered
on Tp that circumscribes σ , cp (σ ) for its center and Rp (σ ) for its radius.
Observe that Rp (σ ) ≥ R(σ ), where R(σ ) is the radius of the smallest ball
circumscribing σ .
Definition 8.6 (Tangential Delaunay complex) We call tangential Delaunay
complex, or tangential complex for short, the simplicial complex DelT M (P) =
{σ , σ ∈ star(p), p ∈ P}.
Plainly, DelT M (P) is a subcomplex of Del(P) and is therefore a simplicial
complex embedded in Rd if the points of P are in general position wrt
spheres (see Section 4.3). The following lemma is crucial because it shows that
computing the tangential complex reduces to computing n weighted Delaunay
triangulations in the k-dimensional flats Tp , p ∈ P.
We define a map p : P → Tp × R that associates to each point pi ∈ P a
weighted point in Tp . Specifically, p (pi ) = (pi , pi ) ∈ Tp × R, where pi is the
orthogonal projection of pi onto Tp and pi = − pi − pi 2 . Observe that, under
the transversality assumption, p is 1-1.
144 Reconstruction of Submanifolds

It is known that the d-dimensional Voronoi diagram Vor(P) intersects


Tp along the weighted k-dimensional Voronoi diagram Vor(p (P)) (see
Exercise 4.11). Accordingly Delp (P), the restriction of the d-dimensional
Delaunay complex Del(P) to Tp , is isomorphic to the weighted Delaunay
complex Del(p (P)). Note that the transversality condition implies the fact
that the set (p (P)) is in general position wrt to spheres in Tp . Therefore,
the simplicial complex Del(p (P)) is naturally embedded in Tp . Moreover,
the simplices of Del(p (P)) are obtained by projecting onto Tp the simplices
of Delp (P). Conversely, the simplices of Delp (P) can be deduced from the
simplices of Del(p (P)) by a piecewise linear map that we call the lifting map.
Specifically, the lifting map lifts each weighted point (p , p ) associated to a
vertex of Del(p (P)) to the unique point p ∈ P such that (p , p ) = p (p). The
lift of a simplex σp of Delp (P) is then the geometric simplex σ whose vertices
are the lifts of the vertices of σp . Delp (P) is then the image of Del(p (P)) by
the lifting map. We summarize our discussion in the following lemma:
Lemma 8.7 If the points of P are in general position and satisfy the
transversality condition, Delp (P) is the lift of Del(p (P)), the k-dimensional
weighted Delaunay triangulation of p (P) in Tp .
We deduce from the lemma an efficient algorithm to compute star(p) =
star(p, Delp (P)): project P onto Tp , compute starTp (p) = star(p, Del(p (P))),
the star of p in Del(p (P)), and then lift starTp (p) to star(p). Apart from the
projection of the points onto Tp , this algorithm involves only operations in
the k-dimensional flat Tp . If P is an (ε, η̄)-net of M, we can even restrict our
attention to the subset of P inside the ball of radius 2ε centered at p. The
transversality condition with respect to the tangent plane Tp is therefore only
required for points in that ball.

8.2.2 Inconsistent Simplices


In general, the tangential complex is not a combinatorial manifold (see
Definition 2.17). This is due to the presence of so-called inconsistent simplices.
Definition 8.8 (Inconsistent simplex) A simplex σ ∈ DelT M (P) is called
inconsistent if σ does not belong to the stars of all its vertices. Let σ be an
inconsistent simplex and let pi and pj be two vertices of σ so that σ is in
star(pi ) but not in star(pj ). We say that the pair of vertices (pi , pj ) witnesses the
inconsistent simplex σ .
Refer to Figure 8.4. Let σ be an inconsistent k-simplex witnessed by the
pair of vertices (pi , pj ). The simplex σ belongs to the star of pi but not to the
star of pj . Equivalently, the Voronoi (d − k)-dimensional face Vor(σ ) dual to
8.2 Tangential Delaunay Complex 145
∈ aff(Vor(pipj))
M
p Tpj
pj
Tpi τ
pi
cp j

Bpj (τ ) iφ
cp i

Bpi (τ )
∈ Vor(pipj )

Figure 8.4 The figure shows an example of an inconsistent simplex σ = [pi , pj ]


that belongs to star(pi ) and does not belong to star(pj ). The bisector of σ is
subdivided in two line segments: the solid black line segment belongs to Vor(σ )
and the dashed black line segment belongs to aff(Vor(σ )) but not to Vor(σ ).

σ intersects Tpi (at a point cpi (σ )) but does not intersect Tpj . Observe that
cpi (σ ) is the center of an empty d-dimensional ball Bpi (σ ) circumscribing σ .
Let cpj (σ ) denote the intersection of aff(Vor(σ )) with Tpj . Differently from
Bpi (σ ), the d-dimensional ball Bpj (σ ) centered at cpj (σ ) that circumscribes σ
contains a subset Pj (σ ) of points of P in its interior. Therefore, the line segment
[cpi (σ ) cpj (σ )] intersects the interior of some Voronoi cells (among which are
the cells of the points of Pj (σ )). Let pl be the point of P \ σ whose Voronoi
cell is hit first by the segment [cpi (σ ) cpj (σ )], when oriented from cpi (σ ) to
cpj (σ ). We write σ I for the (k + 1)-simplex conv(σ , pl ) and i(σ I ) for the first
point of the oriented segment [cpi (σ ) cpj (σ )] that belongs to Vor(pl ). Observe
that since the point i(σ I ) belongs Vor(σ ) ∩ Vor(pl ), σ I is a (k + 1)-simplex
of Del(P). We say that the simplex σ I is an inconsistency trigger of σ . Note
that an inconsistent simplex σ may have several pairs of witnesses and several
inconsistency triggers, but at most one inconsistency trigger for each pair of
witnesses. Considering all pairs of witnesses of an inconsistent simplex σ , we
obtain the set of inconsistency triggers of σ .
Definition 8.9 (Inconsistency trigger) An inconsistency trigger of a
k-simplex σ of DelT M (P) is a (k + 1)-simplex of Del(P) that is the
inconsistency trigger of σ for some ordered pair of vertices of σ that witnesses
the inconsistency.
Because we assumed that the points satisfy the transversality condition,
the tangential complex does not contain faces of dimension greater than k.
146 Reconstruction of Submanifolds

p
q p
q

s s
t
t
r
r

(a) DelT M(P) (b) C(P)

Figure 8.5 Figure (a) shows M, the sample P, the tangent lines at the sample
points, the Voronoi diagram of P and DelT M (P). The dashed lines indicate the
inconsistent edges. In Figure (b), the line segments denote DelT M (P) and the
grey triangles denote the inconsistency triggers.

It follows that no inconsistency trigger can belong to the tangential complex.


Observe also that some of the subfaces of a inconsistency trigger may not
belong to the tangential complex.
Because an inconsistency trigger σ I is a (k + 1)-simplex of Del(P), we will
use the same notations for σ I as for any other simplex, e.g., R(σ I ) for the radius
of the smallest circumscribing ball or (σ I ) for its thickness. We write Inc(p)
for the set of inconsistency triggers incident to p and Inc(P) = ∪p∈P Inc(p).
We also define the completed tangential complex Del+I T M (P) = DelT M (P) ∪
Inc(P). See Figure 8.5.
Calculating Del+IT M (P) is easy once we know Del(P). Indeed, it suffices to
detect the inconsistent k-simplices that do not appear in the stars of all their
vertices. Let σ be an inconsistent simplex witnessed by the pair (pi , pj ). To
compute the associated inconsistency trigger, we need to identify the point
pl . This can be done by computing the restriction of Vor(P) to the line
Lij = (cpi (σ ), cpj (σ )). This in turn can be done by projecting the points of
P onto Lij and computing a 1-dimensional weighted Voronoi diagram (see
Exercise 4.11).

8.2.3 Geometric Properties of Inconsistency Triggers


We give some simple geometric lemmas that, in particular, bound the thickness
of the inconsistency triggers. We will use angles between affine spaces as
defined in Section 5.2.2.
8.2 Tangential Delaunay Complex 147

Lemma 8.10 Let P be an ε-dense sample1 of a submanifold M. Let α0 = 1


√ 8
(1 + 2ε − 1 − 12ε + 4ε2 ) ≈ ε and assume that α0 < 1/4. Then
1. Vor(p) ∩ Tp ⊆ B(p, α0 rch(M)).
2. for any k-simplex σ ∈ star(p), R(σ ) ≤ Rp (σ ) ≤ α0 rch(M) (recall that and
Rp (σ ) is the radius of the circumscribing ball of σ centered on Tp .)
3. for any σ ∈ DelT M (P), (σ ) ≤ 2α0 rch(M).
Proof We prove (i). The other statements easily follow. Let x ∈ Vor(p) ∩ Tp
and write p − x = α rch(M). Let x be the point of M closest to x and let
x = p (x ). We have x − x ≤ x − p and by the triangular inequality,
p − x ≤ 2 x − p = 2α rch(M) . It then follows from Lemma 7.8 that
p−x 2
x −x ≤ ≤ 2α 2 rch(M).
2rch(M)
Now observe that x −x = x−x cos φ, where φ =  (Tx , Tp ). Assuming
α ≤ 14 , we have, by Lemma 7.10, cos φ ≥ 1 − 8α 2 . We conclude that
2α 2 rch(M)
x−x ≤ .
1 − 8α 2
Because P is ε-dense in M, there exists a point q ∈ P, such that
x − q ≤ ε rch(M). Together with x ∈ Vor(p), this implies
 
2α 2
x−p ≤ x−q ≤ x−x + x −q ≤ + ε rch(M) (8.3)
1 − 8α 2
We thus have
2α 2 2α 2
α≤ + ε ≤ + ε, (8.4)
1 − 8α 2 1 − 2α
√ by taking α ≤ 1/4.
where the last inequality is obtained
Let α0 = 18 (1 + 2ε − 1 − 12ε + 4ε2 ) and α1 = 18 (1 + 2ε +

1 − 12ε + 4ε2 ) and note that α0 ≈ ε and ε ≤ α0 < 14 ≤ α1 . The
inequality above is satisfied either when α ≤ α0 or when α ≥ α1 . Hence,
Vor(p) is contained in the union of B(p, α0 ) and Rd \ B(p, α1 ). However,
because Vor(p) is connected and contains p, Vor(p) must be entirely contained
in B(p, α0 rch(M)).
The following lemmas bound the size and shape of inconsistency triggers.
In particular, the lemmas state that if an inconsistent simplex is small, thick
and has a small circumradius, its inconsistency triggers have small circumradii
(Lemma 8.11) and cannot be thick (Lemma 8.12).
1
See Definition 7.7.
148 Reconstruction of Submanifolds

Lemma 8.11 Let σ be an inconsistent k-simplex and let σ I be a


(k + 1)-simplex that triggers the inconsistency of σ . Writing θ = maxp∈σ
( (aff(σ ), Tp )), we have
(σ ) R(σ )
sin θ ≤ and R(σ I ) ≤ .
(σ ) rch(M) cos θ
Proof We assume that the vertex pair (pi , pj ) is the witness pair of σ
associated to the trigger σ I and use the same notations as in Section 8.2.2.
Therefore σ belongs to Delpi (P) but not to Delpj (P), and the vertices of σ I lie
in the closure of Bij = Bpj (σ ) \ Bpi (σ ). Observe also that cpi , cpj and i(σ I ) lie
in the (d − k)-flat that contains c(σ ) and is perpendicular to aff(σ ). Hence the
orthogonal projection of these four points onto aff(σ ) is c(σ ).
We now bound θ =  (aff(σ ), Tp ) for any p ∈ σ . By Lemma 7.8 (2), we
2 (σ )
have for any p, q ∈ σ , d(q, Tp ) ≤ 2rch(M) and by Lemma 5.14
2
 (σ )
2 2rch( M) (σ )
sin θ ≤ = .
(σ ) (σ ) (σ ) rch(M)
Because the orthogonal projection of cpi onto aff(σ ) is c(σ ), ω =  (pi −
cpi , pi − c(σ )) = minu∈aff(σ )  (pi − cpi , u) ≤ θ . We thus have
R(σ ) R(σ )
Rpi (σ ) = pi − cpi = ≤ .
cos ω cos θ
and we get the same bound if pi is replaced by pj or by any other vertex p in
this inequality. Because i(σ I ) ∈ [cpi cpj ], we also have R(σ I ) ≤ i(σ I ) − pi ≤
R(σ )/ cos θ .
We deduce from the lemma a bound on the thickness of inconsistency
triggers. This is a crucial property to be used later to remove inconsistencies.
Lemma 8.12 The thickness of the (k + 1)-simplex σ I that triggers the
inconsistency of a k-simplex σ satisfies:
(σ I ) 2
(σ I ) ≤ 1+
2(k + 1)rch(M) (σ )
Proof Let pl be the vertex of σ I that is not a vertex of σ . We bound the
altitude D(pl , σ I ) of σ I . Let q ∈ σ . We deduce
D(pl , σ I ) = pl − q sin  (pl − q, aff(σ ))
 
≤ (σ I ) sin  (pl − q, Tq ) + sin  (Tq , aff(σ ))
(σ I ) (σ )
≤ (σ I ) + (Lemmas 7.8 & 8.11)
2rch(M) (σ ) rch(M)
2 (σ I ) 2
≤ 1+
2rch(M) (σ )
8.3 Submanifold Reconstruction 149

The bound on the thickness then follows from the definition of thickness (see
Section 5.2).
Corollary 8.13 Let P be an ε-dense sample of M and let σ I be a (k + 1)-
simplex that triggers the inconsistency of a k-simplex σ . Assume that σ is
0 -thick and that 0 satisfies
 −1  
k+1 α0 2α0 2
> cos arcsin k 1+ k (8.5)
0 k+1 0 0

where α0 is defined in Lemma 8.10. Then σ I is not 0 -thick.


k+1
Proof We need to prove that (σ I ) < 0 .From Lemma 8.12 we have
 
(σ I ) 2 (σ I ) 2
(σ I ) ≤ 1+ ≤ 1+ k .
2(k + 1)rch(M) (σ ) 2(k + 1)rch(M) 0

We now bound (σ I ):

(σ I ) ≤ 2R(σ I )
−1
(σ )
≤ 2R(σ ) cos arcsin (Lemma 8.11)
(σ ) rch(M)
 −1
2α0
≤ 2α0 rch(M) cos arcsin k (Lemma 8.10)
0

Hence
 −1  
α0 2α0 2
(σ ) ≤
I
cos arcsin 1+ .
k+1 k
0
k
0
k+1
It follows that if Equation 8.5 holds, (σ I ) < 0 , which means that σ I
is not 0 -thick.
Note that the condition in the corollary is satisfied when the thickness of the
inconsistent simplexes satisfy (σ ) > k0 = (ε1/(k+1) ).

8.3 Submanifold Reconstruction


Let M denote a submanifold of Rd that is compact, closed, differentiable, and
whose reach is positive. The only knowledge we have about M is its dimension
k together with a finite point sample P ⊂ M and the tangent spaces at those
points. From that knowledge, we want to construct a triangulation of M. We
assume that P is an (ε, η̄)-net of M (See Definition 7.7). The parameters ε and
150 Reconstruction of Submanifolds

η̄ need not to be known but must satisfy some conditions to be made explicit in
the analysis of the algorithm. In particular, we need ε to be sufficiently small.
The main idea of the proposed reconstruction algorithm is to rely on the tan-
gential complex DelT M (P). However, we know from the previous section that
DelT M (P) may not be a combinatorial manifold, and our first goal is to obtain
a complex that is a k-combinatorial manifold. This will be achieved by assign-
ing weights to the points of P and resorting to the weighted tangential complex
DelT M (P) ˆ which is the natural counterpart of the tangential complex when the
point set P is replaced by a set P̂ of weighted points. Properties of tangential
complexes extend to weighted tangential complexes and, in particular, we will
show that the occurrence of inconsistencies in DelT M (P) ˆ is triggered by the
existence of non-thick simplices of dimension at most k + 1 in Del(P). ˆ Then,
since it is possible to assign weights to the points of P to get a thick weighted
Delaunay complex (Section 5.3), it is a fortiori possible to get a weighted
tangential complex DelT M (P) ˆ with no inconsistency. Finally, an algorithm is
derived from Moser Tardos algorithm (Section 5.2). The algorithm uses data
structures of dimension at most k. Its output is a k-dimensional combinatorial
manifold that we will show to be homeomorphic to M and close to M.

8.3.1 Weight Assignment


We recall the definition of a weighting scheme introduced in Section 5.3. Given
a point set P = {p1 , . . . , pn } ⊆ Rd , a weighting scheme on P is a function w
that assigns to each point pi ∈ P a non-negative real weight w(pi ). We write
p̂i = (pi , w(pi )) and P̂ = {p̂1 , . . . , p̂n }.
We recall the definition of the relative amplitude of w as w̃ = maxp∈P Lw(p)
2 (p)
where L(p) = minq∈P\{p} ||p − q||. Note that 2εrch(M) ≥ L(p) ≥ η̄ε rch(M)
because P is an (ε, η̄)-net.
From this point onward, we assume that all weights are non-negative and
that w̃ ≤ w̃0 , for some constant w̃0 < 1/4. Hence, for any point p ∈ P,
w(p) ∈ [0, w̃0 L2 (p)] ⊂ [0, 4w̃0 ε2 rch2 (M)].
The condition on w̃ implies in particular that the weighted points in P̂ have
pairwise positive weighted distances, which ensures that any point in P appears
as a vertex of the weighted Delaunay complex Del(P̂) (see Section 4.4.3).
We can extend the definition of the tangential complex to the case of a
set P̂ of weighted points. We simply need to replace in Definition 8.6 the
Delaunay complex Del(P) by the weighted Delaunay complex Del(P̂). The
role played above by Delaunay balls will be played by Delaunay weighted
points, i.e., weighted points orthogonal to weighted Delaunay simplices and
free of weighted points in P̂. Lemma 8.7 remains valid provided that the
8.3 Submanifold Reconstruction 151

mapping p is extended to weighted points as follows. If p̂i = (pi , wi ) ∈


Rd × R is a weighted point, we define p (p̂i ) = (pi , wi − pi − pi 2 ), where
pi is the orthogonal projection of pi on the tangent space Tp .
We now extend to the weighted case the properties of the inconsistency
triggers shown in Section 8.2.
Let P be an ε-dense sample of a submanifold M and assume that the
weighting scheme on P has a relative amplitude w̃ ≤ w̃0 < 1/4. We denote
by Delp (P̂) the weighted Delaunay complex restricted to Tp and by star(p̂)
the star of p in Delp (P̂). We further write Vor(p̂) for the cell of p in the
weighted Voronoi diagram Vor(P̂). For any k-simplex σ in Delp (P̂), we denote
respectively by R(σ ) and R(σ̂ ) the circumradius and weighted radius of σ , by
Rp (σ ) the radius of the ball centered on Tp that circumscribes σ and by Rp (σ̂ )
the radius of the ball centered on Tp that is orthogonal to σ̂ .
Lemma 8.14 Let
"
ε̂ = ε(1 + 2 w̃0 ),
1 " "
α̂0 = (1 + 2ε̂ − 1 − 12ε̂ + 4ε̂2 ) ≈ ε(1 + 2 w̃0 ),
8 " "
α̂1 = α̂0 + 2ε w̃0 ≈ ε(1 + 4 w̃0 )

and assume α̂0 ≤ 14 . Then we have:


(i) Vor(p̂) ∩ Tp ⊆ B(p, α̂0 rch(M)),
(ii) for any k-simplex σ ∈ star(p̂), R(σ̂ ) ≤ Rp (σ̂ ) ≤ α̂0 rch(M).
ˆ (σ ) ≤ 2α̂1 rch(M).
(iii) for any σ ∈ DelT M (P),
Proof The proof of (i) is an easy adaptation of the proof of Lemma 8.10. We
define x, x and x and α as in the proof of Lemma 8.10 and still get

2α 2 rch(M)
x−x ≤ .
1 − 8α 2
Because P is ε-dense in M, there exists a point q ∈ P, such that x − q ≤
ε rch(M). Because x is in Vor(p̂), this implies that

x−p 2
+ w(p) ≤ x − q 2
+ w(q)
x−p 2
≤ ( x − x + x − q )2 + w(q),

which yields
 2
2α 2
α ≤
2
+ε + 4w̃0 ε2
1 − 8α 2
152 Reconstruction of Submanifolds

Hence,
2α 2  " 
α≤ + ε 1 + 2 w̃0 ,
1 − 8α 2
which is just Equation 8.4 where ε has been replaced by ε̂ so that we can end
the proof as in Lemma 8.10.
Let cp (σ̂ ) be the point of Tp that is orthogonal to σ̂ . Property (ii) follows
easily because cp (σ̂ ) belongs to Vor(p̂)∩Tp and d(cp (σ̂ ), p)2 = Rp (σ̂ )2 +w(p).
Hence Rp (σ̂ ) ≤ d(cp (σ̂ ), p) ≤ α̂0 rch(M).
To prove Property (iii), we bound the Euclidean distance d(cp (σ̂ ), q)
between cp (σ̂ ) and a vertex q of σ as follows:

d(cp (σ̂ ), q)2 = Rp (σ̂ )2 + w(q)


≤ α̂02 rch(M)2 + 4w̃0 ε2 rch(M)2 .

Hence,
 " 
d(cp (σ̂ ), q) ≤ α̂0 + 2ε w̃0 rch(M) = α̂1 rch(M)

Because this bound holds for any vertex q of σ , the bound given in (iii) for the
diameter (σ ) follows.
Lemma 8.15 Let σ be an inconsistent k-simplex of DelT M (P) ˆ and let σ I
be a (k + 1)-simplex that triggers the inconsistency of σ . If θ is defined by
θ = maxp∈σ ( (aff(σ ), Tp ), we have
(σ ) R(σ̂ )
sin θ ≤ and R(σ̂ I ) ≤ .
(σ ) rch(M) cos θ
Proof The proof is the same as the proof of Lemma 8.11
Lemma 8.12 applies verbatim to the weighted case and finally an easy
adaptation of the proof of Corollary 8.13 yields the following weighted
version.
Corollary 8.16 Let P be an ε-dense sample of M and let w be a weighting
scheme on P with a relative amplitude w̃ ≤ w̃0 < 1/4. Let σ be an inconsistent
k-simplex and let σ I be a (k + 1)-simplex that triggers the inconsistency of σ .
Assume that σ is 0 -thick and that 0 satisfies
 −1  
k+1 α̂1 2α̂0 2
> cos arcsin k 1+ k (8.6)
0 k+1 0 0

where α̂0 and α̂1 are defined in Lemma 8.14. Then σ I is not 0 -thick.
8.3 Submanifold Reconstruction 153
k+1
Proof We need to prove that (σ I ) < 0 . From Lemma 8.12 we have

(σ I ) 2
(σ I ) ≤ 1+ (8.7)
2(k + 1)rch(M) (τ )
We now bound (σ I ). Let c(σ̂ I ) be the weighted center of σ I and let q be any
vertex of σ I . We have

d(c(σ̂ I ), q)2 = R(σ̂ I )2 + w(q)


R(σ̂ )2
≤ + 4w̃0 ε2 rch(M)2
cos θ 2
α̂ 2 + 4w̃0 ε2 α̂12
≤ 0 rch(M) 2
≤ rch(M)2
cos θ 2 cos θ 2
where θ is given by Lemma 8.15 and α̂1 is defined in Lemma 8.14. Since this
α̂1
is true for any vertex q of σ I , (σ I ) can be bound by 2 cos θ rch(M). Plugging
this bound in Equation 8.7 yields that (σ I ) < k+1 0 if σ is 0 -thick and 0
satisfies Equation 8.6.
1
Note that Equation 8.6 in Corollary 8.16 is satisfied if 0 = (ε k(k+1) ).

8.3.2 Reconstruction Algorithm


We conclude from the previous section that if P is an (ε, η̄)-net of M, the
occurrence of inconsistencies in the tangential complex DelT M (P) is due to
the occurrence of nonthick simplices of dimension up to k + 1 in the Delaunay
complex Del(P). This property still holds in the weighted case provided that
the weighting scheme has a small relative amplitude. We can thus proceed in a
way similar to what has been done in Section 5.3 to remove nonthick simplices
from Delaunay complexes using a variant of Moser-Tardos algorithm. Here we
want to find a weighting scheme on P such that the simplices of the tangential
complex as well as the inconsistency triggers (all are simplices of Del(P)) ˆ are
ˆ
thick. As a consequence, the tangential complex DelT M (P) won’t contain any
inconsistency.
The algorithm depends on two parameters w̃0 and 0 . Here as in Section 5.3,
we call resampling the operation which consists in reassigning the weights of
the vertices of a simplex. The weights are taken independently. The weight
of a vertex p is taken uniformly at random in [0, w̃0 L2 (p)]. The algorithm
maintains the weighted tangential complex DelT M (P) ˆ and resamples the
ˆ
0 -flakes that may appear in DelT M (P) or in the (k + 1) simplices that trigger
an inconsistency. Note that the algorithm does not compute the full weighted
Delaunay complex Del(P) ˆ but only a subcomplex of dimension k + 1.
154 Reconstruction of Submanifolds

Algorithm 8: Tangential complex with no inconsistency


Input: P, {Tp , p ∈ P}, w̃0 , 0
Initialize all weights to 0 and compute DelT M (P)ˆ
ˆ do
while there are 0 -flakes or inconsistencies in DelT M (P)
ˆ
while there is a 0 -flake σ in DelT M (P) do
resample σ
update DelT M (P)ˆ
ˆ then
if there is an inconsistent simplex σ in DelT M (P)
I
compute a trigger simplex σ associated to σ
resample the flake σ ⊂ σ I
update DelT M (P)ˆ
Output: A weighting scheme on P and the corresponding weighted
ˆ which is granted to be 0 -thick
tangential Delaunay complex DelT M (P),
and to have no inconsistency.

Theorem 8.17 Let M be a submanifold of positive reach and let P be an


(ε, η̄)-net of M for a sufficiently small ε. Let in addition w̃0 < 1/4 and 0 be
two constants satisfying Equation 8.6 and the following Equation
' √ (k(k+2) √ √
6 (1 + 4 w̃0 ) 32 0 (1 + 2 w̃0 )(1 + 4 w̃0 )2 1
3 3
≤ (8.8)
η̄ cos θ w̃0 η̄ cos θ e
where

2α̂1 2ε(1 + 4 w̃0 )
θ = arcsin k
≈ arcsin k
.
0 0
Then Algorithm 8 terminates and outputs a weight assignment on the points of
P such that the weighted tangential complex DelT M (P̂) is free of inconsisten-
cies. The expected time complexity of the algorithm is O(|P|).
Proof First note that the algorithm removed inconsistencies only when there
ˆ Then Equation 8.6 ensures that the trigger of an
are no 0 -flakes in DelT M (P).
inconsistency is not 0 -thick (Lemma 8.16) and therefore includes a 0 -flake
that can be resampled.
The resampled simplices are 0 -flakes of Del(P) ˆ that either belong to
ˆ
DelT M (P) or are included in an inconsistency trigger. Let σ be any resampled
flake. From Lemmas 8.14 and 8.15, the weighted radius R(σ̂ ) is at most
α̂0
R(σ̂ ) ≤rch(M),
cos θ
and, from Lemma 8.14 and the proof of Corollary 8.16, its diameter is
bounded by
8.3 Submanifold Reconstruction 155
2α̂1
(σ ) ≤ rch(M).
cos θ
Therefore Algorithm 8 is a variant of Moser-Tardos algorithm similar to the
algorithm of Section 5.3.5 that removes from Del(P) ˆ all 0 -flakes with small
weighted radii. Then, arguing as in Section 5.3.5, we show that Algorithm 8
terminates provided that the condition expressed in Equation 8.8 (similar to
Equation 5.13) is satisfied. See Exercise 8.3 for details. The expected number
of resampled simplices is O(|P|). Because each resampling can be performed
in constant time, the expected complexity of Algorithm 8 is also O(|P|).
Assume that η̄ and w̃0 < 14 are fixed. Then Equation 8.6 is satisfied if 0
is sufficiently large with respect to ε and Algorithm 8 terminates provided
that 0 is sufficiently small with respect to η̄ and w̃0 and is sufficiently large
with respect to ε. Those conditions can be satisfied if the sampling radius ε is
sufficiently small.

8.3.3 Guarantees on the Reconstruction


The simplicial complex M̂ = DelT M (P̂) output by the algorithm is free of
inconsistencies. In addition, it is a good approximation of M as stated in the
following theorem.
Theorem 8.18 (Guarantees) Under the same hypotheses as in Theorem 8.17,
the Delaunay tangential complex M̂ = DelT M (P̂) output by the algorithm
satisfies the following properties:
1. All the simplices in M̂ are 0 -thick.
2. M̂ is a piecewise linear k-submanifold without boundary;
3. M̂ is homeomorphic to M;
4. The Hausdorff distance between M̂ and M is at most 4ε2 rch(M);
5. If σ is a k-simplex of M̂ and p is a vertex of σ , we have

sin  (aff(σ ), Tp ) ≤ .
0
Proof The first statement directly follows from the algorithm. Proving the
second statement reduces to proving that the link of any vertex of M̂ is
a topological (k − 1)-sphere. We first observe that, since M̂ contains no
inconsistencies, the star of any vertex p in M̂ is identical to star(p̂), the star of
p in Delp (P̂). Hence, to prove the second statement, it is enough to prove that
the link of p in Delp (P̂) is a topological (k − 1)-sphere, which is done in the
next lemma.
Lemma 8.19 M̂ is a simplicial combinatorial manifold.
156 Reconstruction of Submanifolds

Proof It is sufficient to prove that, for any p ∈ P, the link of p in M̂ is a


topological (k − 1)-sphere. By Lemma 8.7, star(p̂) is isomorphic to starp (p̂),
the star of p in Del(p (P̂)). Since starp (p̂) is a k-dimensional triangulated
topological ball under the general position and transversality assumptions, the
same is true for star(p̂). To prove the lemma, it is then sufficient to show
that p cannot belong to the boundary of starp (p̂). Consider the dual cell V of
p = p (p) in the weighted Voronoi diagram Vor(p (P̂)). V is the intersection
of the Voronoi cell of p with Tp , i.e. V = Vor(p) ∩ Tp . By Lemma 8.10, V
is bounded, which implies that p cannot belong to the boundary of starp (p̂).
It follows that p cannot belong to the boundary of star(p̂).
Statements 3 − 5 in Theorem 8.18 then follow from Theorem 7.16. We need
to check that the five hypotheses of Theorem 7.16 are satisfied.
Hypotheses (a) − (c) of the theorem are satisfied provided that ε is small
enough (see Exercises 8.2 and 8.3). Hypothesis (d) is satisfied thanks to
Lemma 8.7. We now prove that Hypothesis (e) holds also.
Lemma 8.20 Hypothesis (e) of Theorem 7.16 is satisfied.
Proof Let q be a vertex of M̂ that q belongs to Up = B(p, r) ∩ M where
r = ε rch(M) (1 + 2ε). We write q = p (q) for the projection of q onto Tp
and star (p) = p (star(p)) for the projection of star(p) onto Tp . To prove that
Hypothesis (e) is satisfied, it is sufficient to prove that q is a vertex of the
k-dimensional weighted Delaunay triangulation Del(p (P)) (see Lemma 8.7),
which is equivalent to proving the following claim.

Claim The Voronoi cell of q intersects Tp .


Proof of the claim To prove the claim, we will make use of Lemma 7.6 that
states that V(q) has a large extent in Nq and therefore intersects Tp . Denote
by q the (unique) intersection point of Nq and Tp , and by q the projection
of q onto Tp . Because q ∈ Up , we have p − q < ε(1 + 2ε) rch(M) =
2 M)
ε rch(M), and it follows from Lemma 7.8 that q − q < ε rch( 2 . Write
now θ = (Tp , Tq ) and recall that θ < 2ε (Lemma 7.10). It follows that


q−q
q−q < < rch(M)
cos θ
by our assumption on ε. It then follows from Lemma 7.6 that q ∈ V(q) ∩ Tp ,
which proves the claim.
The claim implies that q has a nonempty cell in the weighted Voronoi
diagram Vor(p (P)) embedded in Tp (see Section 8.7). Equivalently, q is
a vertex of Delp (P) and q is a vertex of Del(p (P)). Since Del(p (P))
8.4 Exercises 157

is a triangulation embedded in Tp (under the transversality condition of


Section 8.2.1), q cannot belong to star (p) without being a vertex of star (p)
and, accordingly, q must be a vertex of star(P). Therefore, Hypothesis 4 holds
and the lemma is proved.
This ends the proof of Lemma 8.20. All hypotheses of Theorem 7.16 are
satisfied. This ends the proof of Theorem 8.18.

8.4 Exercises
Exercise 8.1 Given is an (ε, η̄)-net P of a differentiable (unknown) submani-
fold M ∈ Rd . Propose a method to approximate the tangent space Tp of M at
p ∈ P.
Exercise 8.2 (Distance between components) Let P be an ε-dense sample
of a submanifold M of positive reach rch(M). Prove that each connected
component of M contains at least one point of P and therefore at least one
vertex of DelT M (P). (Hint: Show that the distance between any two connected
components of M is at least 2rch(M)).
Exercise 8.3 Show that Algorithm 8 terminates if the condition expressed
as Equation 8.8 is satisfied. Observe that, for given values of η̄ and w̃0 , the
condition is satisfied if 0 is sufficiently small and ε is sufficiently small
compared to k0 .

Sketch of the proof. Equation 8.8 is the same as Equation 5.12 of Theorem
5.21 applied to the case of Algorithm 8. We use the notations of Section 8.3.2.
Using the bounds on the weighted radius and the diameter of a resampled
flake σ (Lemma 8.14), we first bound, as in Section 5.3, the measure of the
weight range I(σ , p) of a vertex p of σ :

(σ )2
|I(σ , p)| ≤ 8 0 R(σ̂ )
L(σ )
8 0 4α̂12 α̂0
≤ rch(M)2
εη̄ cos3 θ
√ √
32 0 (1 + 2 w̃0 )(1 + 4 w̃0 )2 2
≤ ε rch(M)2 .
η̄ cos3 θ

Then, the probability  that such a flake occurs is at most w̃|I(σL(p)


,p)|
2 (Lemma
0
5.23), where L(p) is the length of the shortest edge incident to p in
Del(P̂). Thus
158 Reconstruction of Submanifolds
√ √
32 0 (1 + 2 w̃0 )(1 + 4 w̃0 )2
 ≤ .
w̃0 η̄3 cos3 θ
We then bound + 1 where is the number of events overlapping a given
flake σ . Overlapping events are flakes that share at least one vertex. Because
rch(M)
resampled flakes have their diameter bounded by m = 2α̂1cos θ , flakes
overlapping a given flake σ have their vertices within the ball B(c(σ ), 32 m )
where c(σ ) is the circumcenter of σ . Using then the fact that two vertices are
at least η̄εrch(M) apart, we bound the number of vertices in this ball and then
+ 1 using a volume argument:
 k(k+2)
3
 m
+1≤ 1 2
2 η̄εrch(M)
√ k(k+2)
6α̂1 k(k+2) 6(1 + 4 w̃0 )
≤ ≈
η̄ cos θ η̄ cos θ
The condition for the termination of Algorithm 8 is then obtained by
plugging the bounds on  and + 1 into Equation 5.12 of Theorem 5.21.

8.5 Bibliographical Notes


Alpha-shapes and weighted alpha-shapes are among the first tools introduced
in the area of shape reconstruction where one seeks to construct an approxima-
tion of the shape of a three-dimensional object from a set of points measured
on the boundary of the object. References are provided in the bibliographical
notes of Chapter 6. Theorem 8.1 that states that an α-complex of a finite sample
of a manifold has the same homotopy type as the manifold is due to Niyogi,
Smale, and Weinberger [112].
The tangential complex has been independently defined by Freedman [82]
and by Boissonnat and Flottoto [17]. Boissonnat and Ghosh later showed how
to remove inconsistencies in the tangential complex by star stitching [18] and
proved Theorems 8.17 and 7.16. The tangential complex can be seen as a light
variant of the cocone introduced by Cheng, Dey, and Ramos [57].
The approach followed in this chapter that defines local triangulations and
remove inconsistencies among the local triangulations has been pioneered
by Shewchuk to maintain triangulations of moving points [122] and by
Boissonnat, Wormser and Yvinec to generate anisotropic meshes [24]. The
central question behind this approach is the stability of Delaunay triangu-
lations and the existence and construction of Delaunay triangulations on
manifolds [14, 13, 27].
8.5 Bibliographical Notes 159

Figure 8.6 A Riemann surface embedded in R8 reconstructed using the tangential


Delaunay complex. For visualization purposes, the surface has been projected
in R3 .

In this chapter, we have assumed that the dimension of the submanifold is


known and that the tangent space can be computed at any data point. Giesen
and Wagner have shown how to estimate the dimension [90]. Estimating the
tangent space can be done using principal component analysis (PCA) [98].
An implementation of the tangential complex can be found in the Gudhi
library [126]. Figure 8.6 shows a projection in R3 of the reconstruction of a
Riemann surface embedded in R8 .
P AR T IV

DISTANCE-BASED INFERENCE
9
Stability of Distance Functions

In the sequel, all the considered shapes and their approximations are repre-
sented by compact subsets of an Euclidean space Rd . We use indifferently the
words shape and compact set. In this chapter, we address the general problem
consisting in recovering the topology of a shape from an approximation.
In general, the topological and geometric invariants of a shape cannot
be directly extracted from the corresponding invariants of an approximating
shape. In particular, this is always the case for a (continuous) shape K, e.g.
a surface in R3 , approximated by a finite point cloud data set K : point
clouds in themselves do not carry any nontrivial topological or geometric
structure. Moreover, the occurence of some features may depend on a “scale”
at which the data and the shape are considered: for example, viewed with
human eyes, the surface of a real world object may look very regular but
at a microscopic scale it appears as a much more complicated surface with
many holes and tunnels. It is thus necessary to “build” some scale-dependant
geometric structure on top of such point clouds to recover informations about
the shapes they approximate. For that purpose, the approach we adopt in this
chapter consists in considering the distance functions to compact sets and to
compare the topology of the sublevel sets (i.e., the offsets) of close compact
sets. The underlying intuition is that “at some scales” (i.e., for some range
values of the offsets), two close compact sets should have the same offset
topology as illustrated in Figure 9.1. The goal of this chapter is to turn this
intuition into a formal framework with rigorous statements. This requires to
proceed in two steps. First, one needs to understand how the topology of the
offsets K r of a given compact set K evolves with the parameter r. The answer
to this question is given by the theory of critical points for distance functions.
Second, it is necessary to compare the topology of the offsets of two close
(for the Hausdorff distance) compact sets. This leads to stability results and
sampling conditions necessary to ensure correct geometric inference.

163
164 Stability of Distance Functions

Figure 9.1 Various offsets of a point cloud data set sampled around a torus in R3 .

The general mathematical framework introduced in this chapter allows to


generalize and extend the results of Chapter 6, Section 8.1, and Chapter 8 to a
wide class of nonsmooth shapes encountered in practical applications.

9.1 Distance Function and Hausdorff Distance


Given a compact subset K ⊂ Rd , the distance function dK to K is the non-
negative function defined by
dK (x) = inf d(x, y) for all x ∈ Rd
y∈K

where d(x, y) = x − y is the euclidean distance between x and y in Rd . The


distance function to K is continuous and indeed 1-Lipschitz: for all x, x ∈ Rd ,
|dK (x) − dK (x )| ≤ x − x . Moreover, K is completely characterized by dK
since K = dK−1 (0).
For any non-negative real number r, the r-offset K r of K is the r-sublevel set
of dK defined by
K r = dK−1 ([0, r]) = {x ∈ Rd : dK (x) ≤ r}.
Recall from Section 1.2.2 that if K and K are two compact subsets of Rd , then
the Hausdorff distance dH (K, K ) is the infimum of the sets of non-negative
numbers r ≥ 0 such that K ⊂ K r and K ⊂ K r . Indeed, the Hausdorff distance
can be expressed in various equivalent ways in terms of distance functions:
9.2 Critical Points of Distance Functions 165

Proposition 9.1 Let K, K ⊂ Rd be two compact sets. The Hausdorff distance


dH (K, K ) between K and K is defined by any of the following equivalent
assertions:

• dH (K, K ) is the smallest


 number r such that K ⊂ K r and K ⊂ K r .
• dH (K, K ) = max supx∈K dK (x), supx∈K dK (x) .
• dH (K, K ) = dK − dK := supx∈Rd |dK (x) − dK (x)|.

9.2 Critical Points of Distance Functions


Given a compact set K ⊂ Rd , the distance function dK is usually not
differentiable. For example, if K is the union of the four sides of a square in
the plane, dK is not differentiable along the diagonals of K. Nevertheless, it is
possible to define a generalized gradient vector field ∇K : Rd → Rd for dK that
coincides with the classical gradient at the points where dK is differentiable.
For any point x ∈ Rd we denote by K (x) the set of points in K closest to x:

K (x) = {y ∈ K : d(x, y) = dK (x)} ⊂ Rd .


This is a nonempty compact subset of K.
Let BK (x) be the smallest closed ball enclosing K (x) and let cK (x) be its
center and FK (x) its radius (see Figure 9.2). For x ∈ Rd \K, the generalized
gradient ∇dK (x) is defined by
x − cK (x)
∇dK (x) =
dK (x)
and for x ∈ K, ∇dK (x) = 0.
The norm of the gradient is given by
FK2 (x)
∇dK (x) 2
=1− . (9.1)
dK2 (x)
Equivalently, the norm of ∇dK (x) is the cosine of the half angle of the smallest
circular cone with apex x that contains K (x). Intuitively, the direction of
∇dK (x) is the one along which the directional derivative of dK is the largest
or, in other words, the one in which the slope of the graph {(y, dK (y)) : y ∈
Rd } ⊂ Rd+1 is the largest at the point (x, dK (x)) (see Figure 9.3).
The map x ∈ Rd → ∇dK (x) ∈ Rd is, in general, not continuous. In other
words, ∇dK is a discontinuous vector field. Nevertheless it is possible to show
[101, 117] that x → ∇dK (x) is a lower semicontinuous function, i.e., for
any a ∈ R, ∇dK −1 ((−∞, a]) is a closed subset of Rd . Moreover, ∇dK is
integrable in the following sense.
166 Stability of Distance Functions
BK (x)

ΓK (x)

FK (x) cK (x)

∇dK (x)

Figure 9.2 The gradient of the distance function.

Proposition 9.2 There exists a continuous map C : R+ × Rd → Rd such that


for any x ∈ Rd , the map t → C(t, x), called a trajectory of ∇dK , is a solution
of the differential equation
dX
= ∇dK (X(t))
dt
satisfying X(0) = x. Moreover this continuous trajectory can be parametrized
by arc length s → C(t(s), x) and one has
l
dK (C(t(l), x)) = dK (x) + ∇dK (C(t(s), x)) ds. (9.2)
0
This equation implies that dK is non decreasing along the trajectories of
∇dK . It can also be shown [101] that FK is also nondecreasing along the
trajectories of ∇dK .
The gradient ∇dK allows to define the notion of critical point for dK in the
same way as for differentiable functions.
Definition 9.3 (Critical point) A point x is a critical point of dK if
∇dK (x)=0. A real c ≥ 0 is a critical value of dK if there exists a critical point
x ∈ Rd such that dK (x) = c. A regular value of dK is a value that is not critical.
9.3 Topology of the Offsets 167

Figure 9.3 The graph of the distance to a square in the plane. Along the diagonals
of the square, the direction of the gradient is given by the diagonals and its norm
is the slope of the edges of the graph above the diagonals.

When there is no risk of confusion, we make the small abuse of language


consisting in calling a critical (resp. regular) point of dK a critical (resp.
regular) point of K.

9.3 Topology of the Offsets


Using the notion of critical point defined in the previous section, it appears that
some properties of distance functions are similar to the ones of differentiable
functions. In particular, the sublevel sets of dK are topological submanifolds of
Rd and their topology can change only at critical points. These properties are
formalized in the following two theorems.
Theorem 9.4 Let K ⊂ Rd be a compact set and let r be a regular value of dK .
The level set dK−1 (r) is a (d − 1)-dimensional topological submanifold of Rd .
Theorem 9.5 (Isotopy Lemma) Let K ⊂ Rd be a compact set and let r1 < r2
be two real numbers such that [r1 , r2 ] does not contain any critical value
of dK . Then all the level sets dK−1 (r), r ∈ [r1 , r2 ] are homeomorphic (and even
isotopic) and the set A(r1 , r2 ) = {x ∈ Rd : r1 ≤ dK (x) ≤ r2 } is homeomorphic
to dK−1 (r1 ) × [r1 , r2 ].
An immediate consequence of these two results is that the topology of the
offsets of K can only change at critical values and for any regular value r
of dK , the offset K r is a d-dimensional topological manifold with boundary.
In particular, the topology of the small offsets K r , r > 0, cannot change while
168 Stability of Distance Functions

r is smaller than the smallest positive critical value of dK (if it exists). This
leads to the notion of weak feature size.
Definition 9.6 (Weak feature size) Let K ⊂ Rd be a compact set. The weak
feature size wfs(K) of K is the infimum of the positive critical values of dK . If
dK does not have critical values, wfs(K) = +∞.
It follows from the Isotopy Lemma 9.5 that if 0 < α ≤ β < wfs(K), then K α
and K β are isotopic. In a more intuitive way, the knowledge of K at precision,
or scale, α gives the same information for any choice of 0 < α < wfs(K).
Moreover, the following result allows to compare the topology of the offsets
of two close compact sets with positive weak feature sizes.
Theorem 9.7 Let K, K ⊂ Rd and ε > 0 be such that dH (K, K ) < ε,
wfs(K) > 2ε and wfs(K ) > 2ε. Then for any 0 < α ≤ 2ε, K α and K α
are homotopy equivalent.
Proof Let δ > 0 be such that wfs(K) > 2ε + δ and wfs(K ) > 2ε + δ. It
is enough to prove that K δ+2ε and K δ+ε are homotopy equivalent. Because
dH (K, K ) < ε, the following diagram, where each map is an inclusion, is
commutative.
a0 a1
K δ OO / K δ+ε / K δ+2ε
OOdO0 o o 7 PPP nn6
OO oo o P
d1
PPP nnnn
c0 ooOoOO PPP
c1 nnn
oo o OO O nn n PPP
oo b0 ' n b1 (
K δ / K δ+ε / K δ+2ε

The Isotopy Lemma 9.5 implies that the inclusions a0 , a1 , b0 , and b1 are
homotopy equivalences. Let s0 , s1 , r0 and r1 be the homotopic inverses of
a0 , a1 , b0 and b1 , respectively.
The following computation, where ∼ = denotes the homotopy equivalence
relation, shows that c1 is an homotopy equivalence between K δ+ε and K δ+2ε
with homotopic inverse r1 ◦ d1 ◦ s1 :

c1 ◦ r1 ◦ d1 ◦ s1 ∼
= c1 ◦ (r1 ◦ b1 ) ◦ d0 ◦ s0 ◦ s1

= (c1 ◦ d0 ) ◦ s0 ◦ s1

= a1 ◦ a0 ◦ s0 ◦ s1 ∼
= idK δ+2ε
Similarly, we get r1 ◦ d1 ◦ s1 ◦ c1 ∼
= idK δ+ε
The previous theorem shows that the compact sets with positive weak feature
size provide a class of compact sets with interesting topological stability
properties. Moreover, it is possible to show that this class is large enough to
include most of the shapes encountered in practical applications. In particular,
9.4 Stability of Critical Points 169
2 wfs(K  ) dH (K, K  )

Figure 9.4 A segment K approximated by a point cloud K . The weak feature


size of K is obviously smaller than two times the Hausdorff distance between K
and K .

smooth manifolds, polyhedra, polyhyedral sets, semi-algebraic sets and more


generally the so-called subanalytic compact sets (i.e., obtained from analytic
equations and inequalities) all have positive weak feature size. Nevertheless,
the previous theorem suffers from a weakness that prevents it to be really
useful in practice. Indeed, the assumption involving both wfs(K) and wfs(K )
is hardly satisfied in practical situations. For example, if K is a continuous
shape approximated by a finite point cloud K , wfs(K ) is equal to half of the
distance between the two closest points of K which is usually smaller than
2dH (K, K ) as illustrated in Figure 9.4. As a consequence, even if the weak
feature size of K is large, whatever the quality of the approximation of K by
K the assumptions of theorem 9.7 may not be satisfied. This phenomenon can
also be interpreted as a lack of continuity of the map K → wfs(K) or as an
instability property of the critical points of distance functions.

9.4 Stability of Critical Points


Because the topology of the offsets of a compact set can only change for critical
values of dK , it is natural to study the stability of these critical points when K
is replaced by a close compact set K . Unfortunately, it appears that the critical
points are unstable, as illustrated in Figure 9.5.
To overcome this stability problem, we introduce a parametrized notion of
critical point.
Definition 9.8 (μ-critical points) Let K ⊂ Rd be a compact set and let
0 ≤ μ ≤ 1. A point x ∈ Rd is μ-critical for dK if ∇dK (x) ≤ μ.
Note that the notion of 0-critical point coincides with the notion of critical
point of Definition 9.3. The family of μ-critical points satisfies the following
fundamental stability property.
Theorem 9.9 (Critical point stability theorem) Let K and K be two com-
pact subsets of Rd and dH (K, K ) ≤ ε. For any μ-critical point x of K, there is
√ √
a (2 ε/dK (x) + μ)-critical point of K at distance at most 2 εdK (x) from x.
170 Stability of Distance Functions

A
A

K
K

Figure 9.5 When K is a rectangle, the set of critical points of dK is the whole
segment [AB]. This segment collapses to a single critical point A as one stretches
the bottom side of K to obtain K . Nevertheless, along the previously critical
segment, the norm of the gradient of dK remains small.

The proof of this theorem follows from two technical lemmas. The first
one shows that the function dK cannot grow too fast in a neighborhood of a
μ-critical point.
Lemma 9.10 Let K ⊂ Rd be a compact set and x one of its μ-critical points.
For any y ∈ Rd , we have:
dK2 (y) ≤ dK2 (x) + 2μdK (x)||x − y|| + ||x − y||2 .
Proof Let = K (x) be the set of points closest to x on K, and let S be the
sphere with center x and radius dK (x). Let also c = cK (x) be the center of the
minimal enclosing ball of , and α = arccos−1 (μ) (see Figure 9.6).
For any x ∈ we have
dK2 (y) ≤ y − x 2
= ((y − x) + (x − x ).(y − x) + (x − x ))
= y−x 2
+ x−x 2
+ 2((y − x).(x − x ))
= dK2 (x) + 2dK (x) x − y cos(y − x, x − x ) + x − y 2

To prove the lemma it is thus sufficient to prove the following claim.

Claim: there exists a point x ∈ such that the angle between (y − x) and
(x − x) is not smaller than α.
We distinguish between two cases.
Case 1: μ = 0
Assume that the claim is not satisfied. Then for any x ∈ the angle between
(x − x) and (y − x) is smaller than α. Since is compact, there exists α < α
9.4 Stability of Critical Points 171

x Γ
c
K

y
α

Figure 9.6 Proof of lemma 9.10

such that is contained in the “circular” cone with apex x and axis the half-line
directed by y − x and apex angle α . This cone intersects S along a (d − 2)-
sphere with center c and radius R = dK (x) sin α . Since is also contained
in S, is contained in the ball of center c and radius R = dK (x) sin α <
dK (x) sin α = FK (x): a contradiction.
Case 2: μ = 0
α = π2 and cannot be enclosed in any hemisphere of S. So there is at least
one point x ∈ such that the angle between (y − x) and (x − x) is not smaller
than π2 .
The next lemma allows to study the behavior of the μ-critical points when
K is replaced by a close approximation K .
Lemma 9.11 Let K and K be two compact subsets of Rd and dH (K, K ) ≤ ε.
For any μ-critical point x of K and any ρ > 0, there is a μ -critical point of
K at distance at most ρ from x, with:
ρ 2ε
μ ≤ + +μ
2dK (x) ρ
Proof Let us consider the trajectory s → C(s) of the vector field ∇dK
parameterized by arc length and starting at x. If C reaches a critical point of K
before s = ρ, the lemma holds. Assume this is not the case. Letting y = C(ρ),
we have:
172 Stability of Distance Functions
ρ
dK (y) − dK (x) = ∇dK (C(s)) ds
0

Therefore, there must exist a point p on the curve C between s = 0 and s = ρ


such that:
dK (y) − dK (x)
∇dK (p) ≤ (9.3)
ρ
The curve C being parametrized by arc length, note that ||p − x|| ≤ ρ. Now
Lemma 9.10 applied to x, y, and K reads:
#
dK (y) ≤ dK2 (x) + 2μdK (x)||x − y|| + ||x − y||2

Also, because ε = dH (K, K ), we have that for all z ∈ Rd , |dK (z)−dK (z)| ≤ ε.
Hence:
#
dK (y) − dK (x) ≤ dK2 (x) + 2μdK (x)||x − y|| + ||x − y||2
−dK (x) + 2ε
)& *
2μ||x − y|| ||x − y||2
≤ dK (x) 1+ + −1
dK (x) dK2 (x)
+ 2ε
||x − y||2
≤ μ||x − y|| + + 2ε,
2dK (x)

the last inequality coming from the fact that 1 + u ≤ 1 + u2 for u ≥ 0.
Noticing that ||x − y|| ≤ ρ, dividing by ρ, and applying equation (9.3) shows
that p satisfies the desired requirements.
Proof of Theorem 9.9 The bound of the previous lemma can be optimized
√ √
by choosing ρ = 2 εdK (x). It then becomes equal to 2 ε/dK (x) + μ. The
theorem follows immediately.
Remark 9.12 Note that because dK is increasing along the trajectories of
∇dK (see Equation 9.2), the μ -critical point p for dK of Lemma 9.11 can be
chosen such that dK (p) ≥ dK (x).

9.5 The Critical Function of a Compact Set


The critical point stability Theorem 9.9 plays a fundamental role to get
topological stability results. It allows to introduce a general framework for
inferring the topology and the geometry of a large class of (nonsmooth)
9.5 The Critical Function of a Compact Set 173
1.0

0.0 5.0 10.0 15.0 20.0 25.0 30.0 35.0 40.0 45.0

1.0

0.0 5.0 10.0 15.0 20.0 25.0 30.0 35.0 40.0 45.0

Figure 9.7 The critical function of a square embedded in R3 with edge length
equal to 50 (top) and the critical function of a point cloud sampling this square
(bottom).

compact sets. For that purpose, we first introduce a one variable real-valued
function that encodes the criticality of the level sets of dK .
Definition 9.13 The critical function of a compact set K ⊂ Rd , χK :
(0, +∞) → R+ is defined by
χK (r) = inf ∇dK (x)
x∈dK−1 (r)

An example of a critical function is given in Figure 9.7. Note that from the
isotopy Lemma 9.5 the zeros of the critical functions correspond to the changes
in the topology of the offsets of K. As we will see later, the main interest of the
critical function χK is to provide information about the topological stability
of some offsets of the compact sets contained in a neighborhood of K. In
particular, whether a compact set K is a Hausdorff approximation of a simple
compact set or not can be directly read from its critical function.
174 Stability of Distance Functions

Using the critical points stability Theorem 9.9, we easily get the following
stability result for the critical function.
Theorem 9.14 (Critical function stability theorem) Let K and K be two
compact subsets of Rd such that dH (K, K ) ≤ ε. For all r ≥ 0 , we have:
+
ε
inf{χK (u) | u ∈ I(r, ε)} ≤ χK (r) + 2
r

where I(r, ε) = [r − ε, r + 2χK (r) εr + 3ε]
This result shows that if the critical function of K is not smaller than some
value α on the interval I(r, ε) # then the critical function# of K at the point r
cannot be smaller than α − 2 r . In particular, if α > 2 εr then r cannot be a
ε

critical value of dK . Because the topology of the offsets of K can only change
at critical values, it is thus possible to locate intervals on which the topology
of the offsets of K does not change. Figures 9.7 and 9.8 illustrate this property.
From an algorithmic point of view, it is not difficult to see that when K is a
finite point cloud, the critical function of K can be easily computed from the
Voronoi diagram of K; see Exercise 9.11.
Proof Let r ≥ 0 and let x ∈ dK−1 (r) be such that ∇dK (x) = χK (r). The
existence of such a point x comes from the fact that the infimum involved in

Figure 9.8 A points set (left) sampled around a torus shape in R3 and its critical
function (the upper curve). The lowest curve represents the lower bound for the
critical function of any shape K at distance less than some fixed threshold (here
0.001, the diameter of the torus being 10) from the point cloud.
9.6 Sampling Conditions and μ-reach 175

the definition of χK is indeed a minimum. This follows from the lower semi-
continuity of ∇dK and the compactness of dK−1 (r). The
 #critical pointstability
Theorem 9.9 implies that there exists a point p that is 2 εr + χK (r) -critical

for dK at distance at most 2 εr from x. Applying Lemma 9.10 to x, p and K
we get
#

dK (p) ≤ r2 + 4χK (r)r εr + 4εr
# "
≤ r 1 + 4χK (r) ε/r + 4ε/r

≤ r + 2χK (r) εr + 2ε

Now, according to Remark 9.12, p can be chosen such that dK (p) ≥ dK (x).
Using that |dK (p) − dK (p)| ≤ ε, the theorem follows from the above
inequality.
The example of Figure 9.8 illustrates the critical function Theorem 9.14.
The critical function of a point cloud sampling a torus shape reveals three
intervals with stable topology for K: the first one corresponds to offsets having
the topology of a torus (bottom left), the second one corresponds to solid torus
with a hole homeomorphic to a ball inside (bottom middle - not visible from
outside) and the third one is unbounded and correspond to offsets that have the
topology of a ball (bottom right).

9.6 Sampling Conditions and μ-reach


In this section we introduce the μ-reach, a stronger regularity condition than
the weak feature size, that allows to give stronger reconstruction results than
Theorem 9.7.
Definition 9.15 For 0 < μ ≤ 1, the μ-reach rμ (K) of a compact set K ⊂ Rd
is defined as
rμ (K) = inf{r > 0 : χK (r) < μ}
By analogy with the wfs, the μ-reach is the infimum of the μ-critical values
of dK . When μ = 1, rμ (K) is known as the reach . When K is a compact
smooth submanifold of Rd , it coincides with the reach defined in Chapter 7.
The function μ → rμ (K) is nonincreasing and we have

lim rμ (K) ≤ wfs(K)


μ→0+

Note that the above inequality can be strict (Exercise 9.10).


176 Stability of Distance Functions

It follows from the critical point stability Theorem 9.9 that the positiveness
of the μ-reach of a compact set K implies some constraints on the location of
the critical points of any close enough approximation K of K . More precisely
we have the following result (Exercise 9.12).
Theorem 9.16 (Critical values separation theorem) Let K and K be two
compact subsets of Rd , ε the Hausdorff distance between K and K , and μ a
non-negative number. The distance function dK has no critical values in the
interval (4ε/μ2 , rμ (K ) − 3ε). In addition, for any μ < μ, χK is larger than
μ on the interval
4ε #
, r μ (K ) − 3 εrμ (K ) .
(μ − μ )2
Note that taking μ too small does not give any information on the critical
values, because the lower bound then exceeds the upper bound. It is also
possible to build examples showing that the bounds of the interval in the above
theorem are tight.
The notion of μ-reach allows to introduce the following sampling condition.
Definition 9.17 Given two positive real numbers κ and μ, one says that a
compact set K ⊂ Rd is a (κ, μ)-approximation of a compact set K ⊂ Rd if
dH (K, K ) ≤ κrμ (K ).
The notion of (κ, μ)-approximation generalizes the notion of (ε, η̄)-net
introduced for smooth submanifolds in Chapter 7.

9.7 Offset Reconstruction


Equipped with the notion of (κ, μ)-approximation and the stability properties
of critical points of distance functions proved in the previous section, we are
now able to get easily offsets reconstruction results from approximations.
Theorem 9.18 (Isotopic reconstruction theorem) Let K ⊂ Rd be a
compact set such that rμ = rμ (K ) > 0 for some μ > 0. Let K be a (κ, μ)-
approximation of K where
√ 
5 μ2
κ < min − 1, .
2 16 + 2μ2
Assume that r, r are such that
4κrμ
0 < r < wfs(K ) and ≤ r < rμ (K ) − 3κrμ .
μ2
9.8 Exercises 177

Then the offset K r and level set dK−1 (r) are isotopic to K r and dK−1 (r )
respectively.
The proof of the isotopy between the offsets is beyond the scope of this
book. We prove here the following weaker version.
Theorem 9.19 (Homotopic reconstruction theorem) Let K ⊂ Rd be a
(κ, μ)-approximation of a compact set K ⊂ Rd . If
μ2
κ<
5μ2 + 12
then the complement of K α is homotopy equivalent to the complement of K
and K α is homotopy equivalent to K η as soon as
4dH (K, K )
0 < η < wfs(K ) and ≤ α < rμ (K ) − 3dH (K, K )
μ2
Proof The critical values separation Theorem 9.16 applied to K and K
ensures that dK does not have any critical value in the interval (4ε/μ2 ,
rμ (K ) − 3ε) where ε = dH (K, K ). It follows from the isotopy Lemma 9.5
that all the offsets of K corresponding to the values contained in this interval
are isotopic. It is thus sufficient to prove the theorem for α = 4ε/μ2 . Since the
critical functions of K and K α are related by the relation
χK α (r) = χK (r + α)
(see Exercise 9.9), we have wfs(K α ) ≥ rμ (K ) − 3ε − 4ε/μ2 . We also have

dH (K α , K ) ≤ ε +
μ2
According to Theorem 9.7, the theorem holds as soon as
1
dH (K α , K ) ≤ min(wfs(K α ), wfs(K ))
2
μ2
An easy computation shows that this inequality holds when κ < 5μ2 +12
.

9.8 Exercises
Exercise 9.1 Prove that dK is 1-Lipschitz.
Exercise 9.2 Prove Proposition 9.1.
Exercise 9.3 Prove that σK (x) the smallest enclosing ball containing K (x)
exists and is unique.
178 Stability of Distance Functions

Exercise 9.4 Show that the map from Rd to the space of compact subsets of
Rd is semi-continuous, i.e.
∀x, ∀r > 0, ∃α > 0, y − x ≤ α ⇒ K (y) ⊂ {z : d(z, K (x)) ≤ r}
Exercise 9.5 Show that for any x ∈ Rd , cK (x) is the point on the convex hull
of K (x) closest to x.
Exercise 9.6 Prove that for any x ∈ Rd one has the following equivalence:
(x is a critical point of dK ) ⇔ (x lies in the convex hull of K (x)).
Exercise 9.7 Let P be a finite set of points in R2 in general position. Prove
that a point x ∈ R2 is a critical point of dP if and only if it satisfies one of the
following conditions:
– x ∈ P,
– x is the intersection point between a Voronoi edge and its dual Delaunay edge,
– x is a Voronoi vertex contained in its dual Delaunay triangle.
How does this result generalize for finite point clouds in higher dimensions?
Exercise 9.8 Let K = {p1 , · · · pn } ⊂ Rd be a finite point set. Prove that
wfs(K) = 12 mini=j pi − pj .
Exercise 9.9 Show that for any compact set K ⊂ Rd and any α ≥ 0,
χK α (r) = χK (r + α) for all r ≥ 0.
Hint: First prove the same kind of relation between dK α and dK .
Exercise 9.10 Give an example of a compact set (e.g., a compact subset of
R2 ) K such that limμ→0+ rμ (K) = wfs(K).
Exercise 9.11 Let P ⊂ Rd be a finite set of points. We denote Vor(P) and
Del(P) the Voronoi diagram and Delaunay triangulation of P. We use the
notations of Section 9.2.
1. What can be said about the restriction of FP to a Voronoi cell of Vor(P)?
2. For each Delaunay simplex τ , let Vτ its dual Voronoi cell and let fτ : R+ →
R+ the function defined by
&
F 2 (τ )
fτ (r) = 1 − P 2 if r ∈ dP (Vτ )
r
and fτ (r) = 1 otherwise. Show that the critical function of P is equal
to the minimum, taken over all the Delaunay simplices of Del(P), of the
functions fτ .
3. Deduce from the previous question an algorithm that takes Del(P) as input
and output the critical function of P.
9.9 Bibliographical Notes 179

Exercise 9.12 Prove the critical values separation Theorem 9.16. Hint: This
is a consequence of Theorem 9.14; see also [39].

9.9 Bibliographical Notes


The distance functions framework for geometric inference has been introduced
in [39] and the proof of the isotopic reconstruction Theorem 9.18 is given
in [38]. It is not restricted to topological inference and shape reconstruction
but has been extended to other geometric inference problems. For example,
it has been used to prove stability results for normals [38] and curvatures [41]
estimation of compact sets with positive μ-reach. It has also been used to prove
that some smoothing operations involving offsets of shapes in Computer Aided
Geometric Design are theoretically well-founded [40].
Distance functions have been widely studied and used in Riemannian
geometry [54, 92] and nonsmooth analysis [58]. The notion of critical point
introduced in this chapter coincides with the notion of critical point for distance
function used in riemannian geometry and nonsmooth analysis where the
notion of Clarke gradient [58] is closely related to the above defined gradient.
The general properties of the gradient of dK and of its trajectories given in
Section 9.2, are established in [101] or, in a more general setting, in [117].
Distance functions are also particular cases of the so-called semiconcave
functions. Many of the results presented in this section can be deduced from
general properties of semiconcave functions [117]. This allows in particular
to extend most of the results given in this section to compact subsets of
Riemannian manifolds.
When K is a finite set of points, several variants of the gradient flow C
defined in this chapter have been previously and independently considered in
the literature [70, 89, 35].
The notion of weak feature size has been introduced in [46–48]. The
positiveness of the weak feature size of large classes of compact sets is
discussed in [85, p. 1045] and [47], proposition 3.6. The notion of reach for
compact subsets of Rd has been introduced by H. Federer [81] in the setting of
geometric measure theory.
10
Distance to Probability Measures

As we have seen in Chapter 9, the use of distance functions provides an


interesting approach for the robust estimation of the topological and geometric
properties of shapes in Rd from approximating data. Here, approximation is
meant with respect to the Hausdorff distance that requires all the data points to
be located in a close neighborhood of the shape. However, in many practical
applications the data come with outliers, i.e., observations (points) that are not
located close to the approximated shape. For such data the Hausdorff distance
is no longer relevant to formalize the notion of approximation: just adding one
point p at distance R from a given data set K makes the Hausdorff distance
between K and K ∪ {p} equal to R (see Figure 10.1). As a consequence, the
distance-based approach of Chapter 9 fails for data corrupted by noise and
outliers as illustrated in Figure 10.2. To overcome this issue, in this chapter,
we adapt the distance-based framework for geometric inference to the general
framework of data carrying noise and outliers.

10.1 Extending the Sampling Theory for Compact Sets


All the inference results of Chapter 9 follow from only three fundamental
properties of distance functions:

• Stability of the map K → dK : for any compact subsets K, K of R we have


d

dK − dK ∞ = dH (K, K )
where dK − dK ∞ = supx∈Rd |dK (x) − dK (x)|.
• For any compact set K ⊂ R , the distance function dK is 1-Lipschitz: for
d

any x, x ∈ R , |dK (x) − dK (x )| ≤ x − x .


d

• For any compact set K ⊂ R , the distance function dK is 1-semiconcave:


d 2

x → x − dK (x) is convex (see Exercise 10.1).


2 2

180
10.1 Extending the Sampling Theory for Compact Sets 181

Figure 10.1 Adding just one point at distance R to a point cloud sampling a circle
changes the Hausdorff distance between the shape and the sample by R.

Figure 10.2 In addition to a set of points densely sampled on the surface S of


a tangle cube we consider a single “outlier” located away from S (left). When
considering the offsets, the new added point creates a connected component that
makes the estimation of the topology of S from the offsets of the data impossible
(right): e.g., the estimated number of connected components (two) is clearly
wrong.

The first property is an obvious condition to ensure that the offsets of two
close compact sets are close to each other. The second and third properties
are the fundamental ingredients to prove the existence and integrability of the
gradient of dK (Section 9.2) and the isotopy lemma of Section 9.3. These
results still hold for general proper semiconcave functions, motivating the
following definition of functions that are of particular interest for geometric
inference.
182 Distance to Probability Measures

Definition 10.1 A non-negative function φ : Rd → R+ is a distance-like if


(i) φ is 1-Lipschitz,
(ii) φ 2 is 1-semiconcave, i.e., x → x 2 − φ 2 (x) is convex
(iii) φ is proper, i.e., for any compact set K ⊂ R, φ −1 (K) is compact.
Let φ : Rd → R be a distance-like function. The 1-semiconcavity of φ 2 allows
to define a notion of gradient vector field ∇φ(x) for φ, defined everywhere
and satisfying ∇φ(x) ≤ 1. Although not continuous, the vector field ∇φ
is sufficiently regular to be integrated in a continuous locally Lipschitz flow
t : Rd → Rd , t ≥ 0. The flow t integrates the gradient ∇φ in the sense that
for every x ∈ Rd , the curve γ : t → t (x) is right-differentiable, and for every

t > 0, dγdt t− = ∇φ(γ (t)). Moreover, for any integral curve γ : [a, b] → R
d

parametrized by arc-length, one has:


b
φ(γ (b)) = φ(γ (a)) + ∇φ(γ (t)) dt.
a
Definition 10.2 Let φ be a distance-like function. We denote by φ r =
φ −1 ([0, r]) the r sublevel set of φ.
1. A point x ∈ Rd will be called α-critical (with α ∈ [0, 1]) if the inequality
φ 2 (x + h) ≤ φ 2 (x) + 2α h φ(x) + h 2 is true for all h ∈ Rd . A 0-critical
point is simply called a critical point. It follows from the 1-semiconcavity
of φ 2 that ∇φ(x) is the infimum of the α ≥ 0 such that x is α-critical.
2. The weak feature size of φ at r is the maximum r > 0 such that φ doesn’t
have any critical value between r and r + r . We denote it by wfsφ (r). For
any 0 < α < 1, the α-reach of φ is the maximum r such that φ −1 ((0, r])
does not contain any α-critical point.
Notice that the α-reach is always a lower bound for the weak-feature size,
with r = 0.
The Isotopy Lemma 9.5 extends to distance-like functions.
Theorem 10.3 (Extended isotopy lemma) Let φ be a distance-like function
and r1 < r2 be two positive numbers such that φ has no critical points in
the subset φ −1 ([r1 , r2 ]). Then all the sublevel sets φ −1 ([0, r]) are isotopic for
r ∈ [r1 , r2 ].
The proof of the following theorem, showing that the offsets of two
uniformly close distance-like functions with large weak feature size have the
same homotopy type, relies on Theorem 10.3 and is almost verbatim the same
as the one of Theorem 9.7.
10.1 Extending the Sampling Theory for Compact Sets 183

Proposition 10.4 Let φ and ψ be two distance-like functions, such that


φ − ψ ∞ ≤ ε. Suppose moreover that wfsφ (r) > 2ε and wfsψ (r) > 2ε.
Then, for every 0 < η ≤ 2ε, φ r+η and ψ r+η have the same homotopy type.
The Critical Point Stability Theorem 9.9 also holds for distance-like
functions.
Theorem 10.5 Let φ and ψ be two distance-like functions with
φ − ψ ∞ ≤ ε. For , any,α-critical point x of φ, there exists a α -critical
√ √
point x of ψ with ,x − x , ≤ 2 εφ(x) and α ≤ α + 2 ε/φ(x).
Proof The proof is almost verbatim the same as the proof of Theorem 9.9

Corollary 10.6 Let φ and ψ be two ε-close distance-like functions, and


suppose that reachα (φ) ≥ R for some α > 0. Then, ψ has no critical value in
the interval 4ε/α 2 , R − 3ε .
Proof The proof is almost verbatim the same as the proof of Theorem 9.16.

Theorem 10.7 (Extended reconstruction theorem) Let φ, ψ be two ε-close


distance-like functions, with reachα (φ) ≥ R for some positive α. Then, for any
r ∈ [4ε/α 2 , R − 3ε], and for 0 < η < R, the sublevel sets ψ r and φ η are
homotopy equivalent, as soon as
R
ε≤
5 + 4/α 2
Proof By the extended isotopy Lemma 10.3, all the sublevel sets ψ r have
the same homotopy type, for r in the given range. Let us choose r = 4ε/α 2 .
We have:
wfsφ (r) ≥ R − 4ε/α 2 and wfsψ (r) ≥ R − 3ε − 4ε/α 2
By Proposition 10.4, the sublevel sets φ r and ψ r have the same homotopy type
as soon as the uniform distance ε between φ and ψ is smaller than 12 wfsφ (r)
and 12 wfsψ (r). This is true, provided that 2ε ≤ R − ε(3 + 4/α 2 ). The theorem
follows.
Remark that in the Definition 10.2 the notion of α-reach could be made
dependent on a parameter r, i.e., the (r, α)-reach of φ could be defined as the
maximum r such that the set φ −1 ((r, r + r ]) does not contain any α-critical
value. A reconstruction theorem similar to Theorem 10.7 would still hold under
the weaker condition that the (r, α)-reach of φ is positive.
184 Distance to Probability Measures

10.2 Measures and the Wasserstein Distance W2


To overcome the problem of outliers, a first idea is to consider geometric
objects as mass distributions, i.e., measures, instead of purely geometric
compact sets. Considering probability measures as the new class of studied
objects leads to a much better adapted framework to cope with noise and
outliers.

10.2.1 Replacing Compact Sets by Measures


The definition of measure relies on the notion of σ -algebra. All the measures
considered in this book will be defined on the so-called Borel σ -algebra whose
definition is given here.
Definition 10.8 A σ -algebra on a set X is a collection  of subsets of X
such that:
(i) ∅ ∈ ,
(ii) if A ∈ , then Ac ∈ ,
(iii) if (An )n∈N is a countable family of elements of σ , then ∪n∈N An ∈ .
The set of Borel sets of Rd is the smallest σ -algebra containing all the
open sets of Rd (and thus all the closed sets).
Definition 10.9 A Borel measure or, for short in this book, a measure, μ on
Rd is a map from the set of Borel subsets B of Rd to the set of non-negative
real numbers such that whenever (Bi ) is a countable family of disjoint Borel
subsets of Rd , μ (∪i∈N Bi ) = i μ(Bi ). A probability measure is a measure
whose total mass μ(Rd ) is equal to 1.
Definition 10.10 The support of a measure μ is the smallest, with respect to
inclusion, closed set K on which the mass of μ is concentrated, i.e., such that
μ(Rd \ K) = 0.
For some compact sets such as point clouds, submanifolds of Rd or some
more general shapes there exist natural ways to associate probability measures
whose support are these compact sets as shown in the following examples.
Given a point x ∈ Rd the Dirac measure δx at x is defined as δx (B) = 1 if
x ∈ B and δx (B) = 0 otherwise. Given a set of n points C, the empirical or
uniform measure μC , associated to C, is defined as μC (B) = 1n |B ∩ C|. It is
the sum of n Dirac masses of weight 1/n, centered at each point of C.
Given a compact k-dimensional manifold M ⊆ Rd , let volM be the k-
dimensional volume measure on M. As M is compact, volM (M) is finite and we
10.2 Measures and the Wasserstein Distance W2 185

define a probability measure μM supported on M by μM (B) = volM (B ∩ M)/


volM (M), for any Borel set B ⊆ Rd . For example, if M is a curve, μM (B) is
the fraction of the total length of M that is contained in B; similarly, if M is
a surface, μM (B) is the fraction of the total area of M that is contained in B.
Notice that if M is a finite union of submanifolds M1 , · · · , Mk , then we can
define probability measures on M just by considering weighted sums of the
measures μMi .

10.2.2 The Wasserstein Distance W2


There exist a whole family of Wasserstein distances Wp (p ≥ 1) between
probability measures in Rd . Their definition relies on the notion of transport
plan between measures. Although some of the results of this chapter can be
stated for any distance Wp , for technical reasons that become clear in the
following we only consider the W2 distance.
A transport plan between two probability measures μ and ν on Rd is a
probability measure π on Rd × Rd such that for every Borel sets A, B ⊆ Rd ,
π(A × Rd ) = μ(A) and π(Rd × B) = ν(B). Intuitively, π(A × B) corresponds
to the amount of mass of μ contained in A that will be transported to B by the
transport plan. The cost of such a transport plan π is given by
1/2
C(π ) = x − y 2 dπ(x, y)
Rd ×Rd

As an example, consider two probability measures with finite supports μ and ν:



m 
n
μ= ci δxi and ν = dj δyj
i=1 j=1

with m i=1 ci = 1 and


n
j=1 dj = 1. A transport plan between μ and ν is then
a n × m matrix = (πi,j ) with non-negative entries such that


n 
m
πi,j = ci and πi,j = dj .
j=1 i=1

The coefficient πi,j can be seen as the amount of the mass of μ located at xj
that is transported to yi . The cost of such a transport plan is then given by
⎛ ⎞1/2
n  m
C( ) = ⎝ πi,j xj − yi 2 ⎠ .
i=1 j=1
186 Distance to Probability Measures

Definition 10.11 The Wasserstein distance of order 2 between two probabil-


ity measures μ and ν on Rd is the minimum cost C(π ) of a transport plan π
between μ and ν. It is denoted by W2 (μ, ν).
Notice that W2 (μ, ν)! may be infinite. However, ! if μ and ν have finite
moment of order 2, i.e., Rd x 2 dμ(x) < +∞ and Rd x 2 dν(x) < +∞, then
W2 (μ, ν) is finite and the space of probability measures with finite moment of
order 2 endowed with W2 is a metric space [128].
Even for measures with finite support, the computation of the Wasserstein
distance is very expensive. However, it provides an interesting notion to
quantify the resilience to outliers. To illustrate this, consider a set C =
{x1 , x2 , · · · , xN } of N points in Rd and a noisy version C obtained by replacing
the first n points in C by points yi such that dC (yi ) = R > 0 for i = 1, · · · , n.
If we denote by μ = N1 p∈C δp and ν = N1 q∈C δq the empirical measures
associated to C and C , respectively, then one has

+
n
W2 (μ, ν) ≤ (R + diam(C))
N

while the Hausdorff distance between C and C is at least R. To prove this


inequality, consider the transport plan from ν to μ that moves the outliers
back to their original position and leave the other points fixed. The matrix of
this transport plan (see the aforementioned example) is defined by πi,j = 1/N
if i = j and 0 otherwise. Because xi − yi ≤ R + diam(C) for i = 0 · · · n
and xi = yi for i > n, we immediately deduce that the cost of this transport

plan is upper bounded by n/N(R + diam(C)). As a consequence, replacing a
small amount of points (n ( N) of C by outliers results in a new measure that
remains close to the original one.
From a geometric inference point of view, since, in practice, we are
working with point sets sampled according to some unknown probability
distribution μ, the question of the convergence of the empirical measure μN
to μ with respect to the Wasserstein distance is of fundamental importance.
This question is beyond the scope of this book but has been a subject
of study in probability and statistics for a long time. For example, if μ
is supported on a compact set, then μN converges almost surely to μ in
the W2 distance. However all the stability and inference results stated in
this chapter only rely on the Wasserstein distance between the considered
measures and are independent of any convergence property of empirical
measures.
10.3 Distance Function to a Probability Measure 187

10.3 Distance Function to a Probability Measure


In this section, we associate to any probability measure in Rd a family of
real valued functions that are both distance-like and robust with respect to
perturbations of the probability measure.

10.3.1 Definition
The distance function to a compact set K evaluated at x ∈ Rd is defined as the
smallest radius r such that the closed ball centered at x of radius r contains at
least a point of K. A natural idea to adapt this definition when K is replaced by
a measure μ is to consider the smallest radius r such that the ball with center x
and radius r contains a given fraction m of the total mass of μ.
Definition 10.12 Let μ be a probability measure on Rd and 0 ≤ m < 1 a
given parameter. We denote by δμ,m the function defined by

δμ,m : x ∈ Rd → inf{r > 0 ; μ(B̄(x, r)) > m}

where B̄(x, r) denotes the closed ball with center x and radius r.
Notice that for m = 0, the definition coincides with the (usual) distance
function to the support of the measure μ. Moreover for any m ∈ [0, 1), δμ,m is
1-Lipschitz.
Unfortunately δμ,m is not robust with respect to perturbations of the measure
μ. Indeed, the map μ → δμ,m is not continuous as shown by the following
example. Let με = ( 12 − ε)δ0 + ( 12 + ε)δ1 be the weighted sum of two Dirac
measures at 0 and 1 in R and let m = 1/2. Then, for ε ≥ 0 one has δμε ,1/2 (t) =
|1 − t| for t < 0 while if ε < 0, one obtains δμ0 ,1/2 (t) = |t| which means that
ε → δμε ,1/2 is not continuous at ε = 0.
To overcome this issue we define the distance function associated to μ as a
2
L average of the pseudo-distances δμ,m for a range [0, m0 ] of parameters m:
Definition 10.13 (Distance-to-measure) Let μ be a probability measure on
Rd , and m0 be a positive mass parameter 0 < m0 ≤ 1. The distance function
to μ with parameter m0 is the function dμ,m0 : Rd → R+ defined by :

1 m0
2
dμ,m0
: Rn → R+ , x → 2
δμ,m (x)dm
m0 0
188 Distance to Probability Measures

C δμ,m

·
··
xC (3) x − xC (3)

xC (2) x − xC (2)

xC (1) x − xC (1) ···


x

1
n
2
n
3
n ···

Figure 10.3 Computation of the distance to the empirical measure associated to a


point set C (xC (k) denotes the kth nearest neighbor of x.

10.3.2 Distance Function to Empirical Measures


An interesting property of these defined functions is that they have a simple
expression in terms of nearest neighbors. More precisely, let C be a point cloud
with n points in Rd , and μC be the uniform measure on it: μC = 1n p∈C δp .
For 0 < m ≤ 1, the function δμC ,m evaluated at a given point x ∈ Rd is
by definition equal to the distance between x and its kth nearest neighbor
in C, where k is the smallest integer larger than mn. Hence the function
m → δμC ,m (x) is constant and equal to the distance from x to its kth nearest
neighbor in C on each interval [ k−1 k
n , n ). Integrating the square of this piecewise
constant functions gives the following expression for dμ,m 2
0
, where m0 = k0 /n:

1 
m0 k0
1 1 2
2
dμ,m (x) = 2
δμ,m (x)dm = δ (x)
0
m0 0 m0 n μ,k/n
k=1
1 
= p−x 2
k0 k
p∈NNC0 (x)

k
where NNC0 (x) denote the set of the first k0 nearest neighbors of x in C. As
a consequence the pointwise evaluation of dμ2 C ,k0 /n (x) reduces to a k-nearest
neighbor query in C.

10.3.3 Equivalent Formulation


In this paragraph, we provide another characterization of the distance function
to a measure dμ,m0 showing that it is in fact the distance function to a closed set,
but in the non-Euclidean space of probability measures endowed with the W2
10.3 Distance Function to a Probability Measure 189

space of probability
Rd measures on Rd
δx

μx,m0
x
 
Dirac measures 1
µ̃ : µ̃(Rd ) = m0 and µ̃ ≤ µ
m0

Figure 10.4 The distance function to a measure as a usual distance function in an


infinite dimensional space.

metric (see Figure 10.4). This equivalent formulation will be used to deduce
that μ → dμ,m0 is Lipschitz and x → d2μ,m0 (x) is semiconcave.
Definition 10.14 A measure ν is a submeasure of another measure μ if for
every Borel subset B of Rd , ν(B) ≤ μ(B). The set of all submeasures of a
given measure is denoted by Sub(μ), while the set of submeasures of μ with a
prescribed total mass m0 > 0 is denoted by Subm0 (μ).
Proposition 10.15 For any probability measure μ on Rd , the distance
function to μ evaluated at x is defined as:
 
−1/2
dμ,m0 (x) = min m0 W2 (m0 δx , ν) ; ν ∈ Subm0 (μ) (10.1)

Moreover, for any measure μx,m0 that realizes the above minimum one has:
1/2
1
dμ,m0 (x) = x−h 2
dμx,m0 (h)
m0 Rd

Said otherwise, the distance dμ,m0 evaluated at a point x ∈ Rd is the minimal


Wasserstein distance between the Dirac mass m0 δx and the set of submeasures
of μ with total mass m0 .
The set Rμ,m0 (x) of submeasures minimizing the above expression cor-
responds to the nearest neighbors of the Dirac measure m0 δx on the set of
submeasures Subm0 (μ). It is not empty but it might not be reduced to a single
element. Indeed, it coincides with the set of submeasures μx,m0 of total mass
m0 whose support is contained in the closed ball B̄(x, δμ,m0 (x)), and whose
restriction to the open ball B(x, δμ,m0 (x)) coincides with μ.

10.3.4 Stability of the Distance Function to a Measure


The characterization of dμ,m0 given in Proposition 10.15 provides a rather easy
way to prove the stability of μ → dμ,m0 .
190 Distance to Probability Measures

Theorem 10.16 (Distance function, stability) If μ, and μ are two probability


measures on Rd and m0 > 0, then ,dμ,m0 − dμ ,m0 ,∞ ≤ √1m W2 (μ, μ ).
0

The proof of theorem 10.16 follows from the following proposition.


Proposition 10.17 Let μ and μ be two probability measures on Rd . Then,

dH (Subm0 (μ), Subm0 (μ )) ≤ W2 (μ, μ )

where dH (., .) is the Hausdorff distance in the space of probability measures


endowed with the W2 metric.
Proof (sketch of) Let ε be the Wasserstein distance of order 2 between μ
and μ , and π be a corresponding! optimal transport plan, i.e., a transport
plan between μ and μ such that Rd ×Rd x − y 2 dπ(x, y) = ε2 . Given a
submeasure ν of μ, one can find a submeasure π of π that transports ν to
a submeasure ν of μ (notice that this later claim is not completely obvious
and its formal proof is beyond the scope of this book. It can be proven using
the Radon-Nykodim theorem). Then,

W2 (ν, ν )2 ≤ x−y 2
dπ (x, y) ≤ ε2
Rd ×Rd

This shows that dist(ν, Subm0 (μ )) ≤ ε for every submeasure ν ∈ Subm0 (μ).
The same holds by exchanging the roles of μ and μ , thus proving the bound
on the Hausdorff distance.
Proof [of Theorem 10.16] The following sequence of equalities and
inequalities, that follows from Propositions 10.15 and 10.17, proves the
theorem:.
1
dμ,m0 (x) = √ distW2 (m0 δx , Subm0 (μ))
m0
1
≤ √ (dH (Subm0 (μ), Subm0 (μ )) + distW2 (m0 δx , Subm0 (μ )))
m0
1
≤ √ W2 (μ, μ ) + dμ ,m0 (x)
m0

10.3.5 The Distance to a Measure is a Distance-like Function


The subdifferential of a function f : ⊆ Rd → R at a point x, is the set
of vectors v of Rd , denoted by ∂x f , such that for all small enough vector h,
f (x + h) ≥ f (x) + h.v. This gives a characterization of convexity: a function
f : Rd → R is convex if and only if its subdifferential ∂x f is non-empty for
every point x. If this is the case, then f admits a derivative at a point x if and
10.3 Distance Function to a Probability Measure 191

only if the subdifferential ∂x f is a singleton, in which case the gradient ∇x f


coincides with its unique element [58].
Proposition 10.18 The function vμ,m0 : x ∈ Rd → x 2 − d2μ,m0 is convex,
and its subdifferential at a point x ∈ Rd is given by
 -
2
∂x vμ,m0 = 2x − (x − h) dμx,m0 (h) ; μx,m0 ∈ Rμ,m0 (x)
m0 h∈Rd
Proof For any two points x and y of Rd , let μx,m0 and μy,m0 be in
Rμ,m0 (x) and Rμ,m0 (y), respectively. Thanks to Proposition 10.15, we have
the following sequence of equalities and inequalities:
1
d2μ,m0 (y) = y−h 2
dμy,m0 (h)
m0 h∈Rd
1
≤ y−h 2
dμx,m0 (h)
m0 h∈Rd
1
≤ x−h 2
+ 2(x − h).(y − x) + y − x 2
dμx,m0 (h)
m0 h∈Rd
≤ d2μ,m0 (x) + y − x 2
+ v.(y − x)

where v is the vector defined by


2
v= (x − h) dμx,m0 (h).
m0 h∈Rd

The inequality can be rewritten as:


   
y 2 − d2μ,m0 (y) − x 2
− d2μ,m0 (x) ≥ (2x − v).(y − x)

which shows that the vector (2x − v) belongs to the subdifferential of vμ,m0
at x. By the characterization of convex functions by that we recalled earlier,
one deduces that vμ,m0 is convex.
The proof of the reverse inclusion is slightly more technical and beyond the
scope of the book.
Corollary 10.19 The function d2μ,m0 is 1-semiconcave. Moreover,
(i) d2μ,m0 is differentiable almost everywhere in Rd , with gradient defined by

2
∇x d2μ,m0 = [x − h] dμx,m0 (h)
m0 h∈Rd

where μx,m0 is the only measure in Rμ,m0 (x).


(ii) the function x ∈ Rd → dμ,m0 (x) is 1-Lipschitz.
192 Distance to Probability Measures

Proof (i) It follows from the fact that a convex function is differentiable
at almost every point, at which its gradient is the only element of the
subdifferential at that point.
(ii) The gradient of dμ,m0 can be written as:
!
∇x d2μ,m0 1 d [x − h] dμx,m0 (h)
∇x dμ,m0 = = √ ! h∈R 1/2
2dμ,m0 m0
h∈Rd x − h
2
dμx,m0 (h)
, ,
Using the Cauchy-Schwartz inequality we find ,∇x dμ,m0 , ≤ 1, which
proves the statement.

10.4 Applications to Geometric Inference


Reconstruction from point clouds in presence of outliers was the main moti-
vation for introducing the distance function to a measure. In this section, we
show how the extended reconstruction Theorem 10.7 can be applied to distance
to measure functions. It is also possible to adapt most of the topological and
geometric inference results of Chapter 9 in a similar way.

10.4.1 Distance to a Measure vs. Distance to Its Support


In this section, we compare the distance functions dμ,m0 to a measure μ and
the distance function dS to its support S, and study the convergence properties
of dμ,m0 to dS as the mass parameter m0 converges to zero. Remark that the
function δμ,m0 (and hence the distance dμ,m0 ) is always larger than the distance
function dS , i.e., for any x ∈ Rd , dS (x) ≤ dμ,m0 (x). As a consequence, to obtain
a convergence result of dμ,m0 to dS as m0 goes to zero, we just need to upper
bound dμ,m0 − dS by a function converging to 0 as m0 goes to 0. It turns out
that the convergence speed of dμ,m0 to dS depends on the way the mass of μ
contained within any ball B(p, r) centered at a point p of the support increases
with r. Let us define:
(i) We say that a nondecreasing positive function f : R+ → R+ is a uniform
lower bound on the growth of μ if for every point p in the support of μ and
every ε > 0, μ(B(p, ε)) ≥ f (ε) ;
(ii) The measure μ has dimension at most k if there is a constant C(μ) such
that f (ε) = C(μ)εk is a uniform lower bound on the growth of μ, for ε
small enough.
Lemma 10.20 Let μ be a probability
, measure
, and f be a uniform lower
bound on the growth of μ. Then ,dμ,m0 − dS ,∞ < ε as soon as m0 < f (ε).
10.4 Applications to Geometric Inference 193

Proof Let ε and m0 be such that m0 < f (ε) and let x be a point in Rd ,
p a projection of x on S, i.e., a point p such that x − p = dS (x). By
assumption, μ(B(x, dS (x) + ε)) ≥ μ(B(p, ε)) ≥ m0 . Hence, δμ,m0 (x) ≤
!dSm(x)+ε. The function m → δμ,m (x) being non-decreasing, we get: m0 d2S (x) ≤
0 δμ,m (x)dm ≤ m0 (dS (x) + ε) . Taking the square root of this expression
0 2 2

proves the lemma.


Corollary 10.21 (i) If the support S of μ is compact, then dS is the uniform
limit of dμ,m0 as m0 converges to 0:
m0 →0
dμ,m0 − dS ∞ = sup |dμ,m0 (x) − dS (x)| −→ 0
x∈Rd
(ii) If the measure μ has dimension at most k > 0, then
, ,
,dμ,m − dS , ≤ C(μ)−1/k m1/k
0 ∞ 0

Proof (i) If S is compact, there exists a sequence x1 , x2 , · · · of points in S such


that for any ε > 0, S ⊆ ∪ni=1 B(xi , ε/2) for some n = n(ε). By definition of the
support of a measure, η(ε) = mini=1···n μ(B(xi , ε/2)) is positive. Now, for any
point x ∈ S, there is a xi such that x − xi ≤ ε/2. Hence, B(xi , ε/2) ⊆ B(x, ε),
which means that μ(B(x, ε)) ≥ η(ε). (ii) Follows straightforwardly from the
lemma.
For example, the uniform probability measure on a k-dimensional compact
submanifold S has dimension at most k. The following proposition gives a
more precise convergence speed estimate based on curvature.
Proposition 10.22 Let S be a smooth k-dimensional submanifold of Rd
whose curvature radii are lower bounded by R, and μ the uniform probability
measure on S, then
, ,
,dS − dμ,m , ≤ C(S)−1/k m1/k
0 ∞ 0
for m0 small enough and C(S) = (2/π )k βk /volk (S) where βk is the volume of
the unit ball in Rk .
Notice in particular that the convergence speed of dμ,m0 to dS depends only
on the intrinsic dimension k of the submanifold S, and not on the ambient
dimension d. The proof of this result is beyond the scope of this book and
relies on the so-called Günther-Bishop theorem (cf [88, Section 3.101]).

10.4.2 Shape Reconstruction from Noisy Data


The previous results lead to shape reconstruction theorems that work for
noisy data with outliers. To fit in our framework we consider shapes that are
194 Distance to Probability Measures

defined as supports of probability measures. Let μ be a probability measure of


dimension at most k > 0 with compact support K ⊂ Rd and let dK : Rd → R+
be the (Euclidean) distance function to K. If μ is another probability measure
(e.g., the empirical measure given by a point cloud sampled according to μ),
one has
, ,
,dK − dμ ,m , ≤ dK − dμ,m ∞ + dμ,m − dμ ,m ∞ (10.2)
0 ∞ 0 0 0
1
≤ C(μ)−1/k m0 + √ W2 (μ, μ )
1/k
(10.3)
m0

This inequality insuring the closeness of dμ ,m0 to the distance function dK


for the sup-norm follows immediately from the stability Theorem 10.16 and
Corollary 10.21. As expected, the choice of m0 is a trade-off: small m0 lead to
better approximation of the distance function to the support, while large values
of m0 make the distance functions to measures more stable. Eq. (10.3) leads to
the following corollary of Theorem 10.7:
Corollary 10.23 Let μ be a measure and K its support. Suppose that μ
has dimension at most k and that reachα (dK ) ≥ R for some R > 0. Let
μ be another measure, and ε be an upper bound on the uniform distance
between dK and dμ ,m0 . Then, for any r ∈ [4ε/α 2 , R − 3ε], the r-sublevel
sets of dμ,m0 and the offsets K η , for 0 < η < R are homotopy equivalent as
soon as:

R m0
− C(μ)−1/k m0
1/k+1/2
W2 (μ, μ ) ≤
5 + 4/α 2

Figure 10.5 On the left, a point cloud sampled on a mechanical part to which 10%
of outliers (uniformly sampled in a box enclosing the model) have been added. On
the right, the reconstruction of an isosurface of the distance function dμC ,m0 to the
uniform probability measure on this point cloud.
10.5 Exercises 195

Figure 10.5 illustrates Theorem 10.7 on a sampled mechanical part with


10% of outliers. In this case μ is the normalized sum of the Dirac measures
centered on the data points and the (unknown) measure μ is the uniform
measure on the mechanical part.

10.5 Exercises
Exercise 10.1 Let K ⊂ Rd be a compact set. Show that the map x → x 2 −
dK2 (x) is convex.
Hint: Recall that the supremum of any family of convex functions is convex
and show that x → x 2 − dK2 (x) is the supremum of a set of affine functions.
Exercise 10.2 Let μ1 , · · · , μk be measures on Rd and let λ1 , · · · , λk ∈ R.
k
Show that if all the λi are non-negative then μ = i=1 λi μi is a measure.
Show that the set of probability measures on R is convex.
d

Exercise 10.3 Let μ and ν be two probability measures with finite supports:

m 
n
μ= cj δxj and ν = di δyi
j=1 i=1

where x1 , · · · , xm and y1 , · · · , yn are points in Rd and m


j=1 cj =
n
i=1 di = 1.
Show that any transport plan between μ and ν can be represented as a n × m
matrix = (πi,j ) with non-negative entries such that

n 
m
πi,j = cj and πi,j = di .
i=1 j=1

Exercise 10.4 Let μ be a probability measure on Rd and let m ∈ [0, 1). Show
that δμ,m is 1-Lipschitz:
∀x, y ∈ Rd , |δμ,m (x) − δμ,m (y)| ≤ x − y .
Exercise 10.5 Let μ be a probability measure on Rd and let 0 < m0 < 1 and
x ∈ Rd . Recall that we denote by Rμ,m0 (x) the set of submeasures minimizing
the right hand term of Equation (10.1). Give an example of a probability
measure μ such that Rμ,m0 (x) contains only one element and an example such
that Rμ,m0 (x) contains an infinite number of elements.
Hint: For Rμ,m0 (x) to contain more than one submeasure, the measure
μ(S(x, δμ,m0 )) of the sphere of center x and radius δμ,m0 must be positive.
196 Distance to Probability Measures

10.6 Bibliographical Notes


Most of the chapter comes from [42] that introduces and studies stability
properties of distance functions to a probability measure. Approximation and
computation of the distance to measure function and its connections with
power distances has been studied in [93]. Extensions of the distance-to-
measure framework to general metric spaces has been considered in [29].
Statistical aspects of distance-to-measure functions in relation with density
estimation and deconvolution have been considered in [9, 31, 45, 49].
Wasserstein distances are closely related to the theory of optimal trans-
portation (see, e.g., [128]). The distance W1 is also known as the earth-mover
distance, and has been used in various domains such as, e.g., vision [116] or
image retrieval [120].
General results about semiconcave functions can be found in [117, 34].
The convergence properties of empirical measure with respect to the
Wasserstein metric have been widely studied and quantitative results can be
found in [28].
The complete proofs of Propositions 10.15, 10.18, and 10.4 are given in [42].
The Günther-Bishop Theorem is stated in [88, Section 3.101] and the proof
of Proposition 10.22 can be found in [42].
11
Homology Inference

Although the distance-based approach introduced in the two previous chapters


provides a powerful mathematical framework for shape reconstruction, it is not
always possible, nor desirable, to fully reconstruct the approximated shapes
from data. This chapter focuses on weaker topological invariants, homology,
Betti numbers and persistent homology, that turn out to be easier to infer and
that are widely used in applied topology and topological data analysis. The
introduction of homology is restricted to the minimum that is necessary to
understand the basic ideas of homology inference and persistent homology
and its usage in topological data analysis.

11.1 Simplicial Homology and Betti Numbers


In this section we introduce the basic notions of simplicial homology that are
necessary to define and study topological persistence. To avoid minor technical
discussions about the orientation of simplices, we restrict to the homology with
coefficients in the finite field Z/2Z = {0, 1}. In the sequel of this chapter, K
denotes a finite d-dimensional simplicial complex.

11.1.1 The Space of k-chains


For any non-negative integer k, the space of k-chains is the vector space of all
the formal sums (with coefficient in Z/2Z) of k-dimensional simplices of K.
More precisely, if {σ1 , · · · , σp } is the set of k-simplices of K any k-chain c can
be uniquely written

p
c= εi σi with εi ∈ Z/2Z
i=1

197
198 Homology Inference

a
d

b c
Figure 11.1 A very simple simplicial complex made of 4 vertices, 4 edges and
1 triangle.

p
If c = i=1 εi σi is another k-chain, the sum of two k-chains and the product
of a chain by a scalar are defined by

p 
p
c+c = (εi + εi )σi and λ.c = (λεi )σi
i=1 i=1

where the sums εi + εi and the products λεi are modulo 2.


Definition 11.1 The space of k-chains is the set Ck (K) of the simplicial
k-chains of K with the two operations defined earlier. This is a Z/2Z-vector
p
space whose zero element is the empty chain 0 = i=1 0.σi .
Notice that the set of k-simplices of K is a basis of Ck (K). For example,
for the simplicial complex K of Figure 11.1, C1 (K) is the Z/2Z-vector space
generated by the edges e1 = [a, b], e2 = [b, c], e3 = [c, a], e4 = [c, d], i.e.,
C1 (K) = {0, e1 , e2 , e3 , e4 , e1 + e2 , e1 + e3 , e1 + e4 , e2 + e3 , e2 + e4 , e3
+e4 , e1 + e2 + e3 , · · · }
Summing e1 + e2 with e2 + e3 + e4 gives e1 + e3 + e4 .
Chains with coefficient in Z/2Z have an obvious geometric interpretation:
since any k-chain can be uniquely written as c = σi1 + σi2 + · · · + σim where
the σij are k-simplices, c can be considered as the union of the simplices σij .
The sum of two k-chains is equal to their symetric difference.

11.1.2 The Boundary Operator and Homology Groups


Definition 11.2 (Boundary of a simplex) The boundary ∂(σ ) of a k-simplex
σ is the sum of its (k − 1)-faces. This is a (k − 1)-chain.
If σ = [v0 , · · · , vk ] is a k-simplex, then

k
∂(σ ) = [v0 · · · v̂i · · · vk ]
i=0
11.1 Simplicial Homology and Betti Numbers 199

where [v0 · · · v̂i · · · vk ] is the (k − 1)-simplex spanned by the sets of all the
vertices of σ except vi .
Remark 11.3 Notice that in the general case where the coefficient of the
chains are taken in another field than Z/2Z it is important to take into account
the ordering of the vertices in σ and the boundary of σ has to be defined as
∂(σ ) = ki=0 (−1)i [v0 · · · v̂i · · · vk ] - see [110].
The boundary operator, defined on the simplices of K, extends linearly to
Ck (K).
Definition 11.4 The boundary operator is the linear map defined by
∂k : Ck (K) → Ck−1 (K)
c → ∂c = σ ∈c ∂(σ )
To avoid heavy notations, when there is no risk of confusion, the index k is
usually ommited and the boundary operator is denoted by ∂.
Proposition 11.5 The boundary of the boundary of a chain is always zero:
∂∂ := ∂ ◦ ∂ = 0.
Proof Because the boundary operator is linear, it is sufficient to check the
property for a simplex. Let σ = [v0 · · · vk ] be a k-simplex.
 k 

∂∂σ = ∂ [v0 · · · v̂i · · · vk ]
i=0

k
= ∂[v0 · · · v̂i · · · vk ]
i=0
 
= [v0 · · · v̂j · · · v̂i · · · vk ] + [v0 · · · v̂i · · · v̂j · · · vk ]
j<i j>i
=0
The boundary operator defines a sequence of linear maps between the spaces
of chains.
Definition 11.6 (Chain complex) The chain complex associated to a com-
plex K of dimension d is the following sequence of linear operators
∂ ∂ ∂ ∂ ∂ ∂ ∂
{0} → Cd (K) → Cd−1 (K) → · · · → Ck+1 (K) → Ck (K) → · · · → C0 (K) → {0}

For k ∈ {0, · · · , d}, the set Zk (K) of k-cycles of K is the kernel of ∂ : Ck →


Ck−1 :
Zk (K) := ker(∂ : Ck → Ck−1 ) = {c ∈ Ck : ∂c = 0}
200 Homology Inference

The image Bk (K) of ∂ : Ck+1 → Ck is the set of k-chains bounding a (k + 1)-


chain:

Bk (K) := im(∂ : Ck+1 → Ck ) = {c ∈ Ck : ∃ c ∈ Ck+1 , c = ∂c }

Bk and Zk are subspaces of Ck and according to Proposition 11.5, one has

Bk (K) ⊂ Zk (K) ⊂ Ck (K).

Examples of chains, cycles, and boundaries are given in Figure 11.2.


Definition 11.7 (Homology groups) The kth homology group of K is the
quotient vector space

Hk (K) = Zk /Bk

Hk (K) is a vector space and its elements are the homology classes of K. The
dimension βk (K) of Hk (K) is the kth Betti number of K (see Figure 11.3).
The homology class of a cycle c ∈ Zk (K) is the set c + Bk (K) = {c + b :
b ∈ Bk (K)}. Two cycles c, c that are in the same homology class are said to be
homologous.

c1

c3

c2

Figure 11.2 Examples of chains, cycles, and boundaries: c1 is a cycle that is not
a boundary, c2 is a boundary, and c3 is a chain that is not a cycle.
11.2 An Algorithm to Compute Betti Numbers 201

β0 = 1 β0 = 1 β0 = 1 β0 = 1
β1 = 0 β1 = 1 β1 = 0 β1 = 0
β2 = 0 β2 = 0 β2 = 0 β2 = 1

Figure 11.3 Examples of Betti numbers for simple simplicial complexes: from
left to right, an edge, the boundary of a triangle, a triangle and the boundary of a
tetrahedron.

11.2 An Algorithm to Compute Betti Numbers


Let K be a finite simplicial complex of dimension d and
∅ = K0 ⊂ K1 ⊂ · · · ⊂ Km = K
a filtration of K such that for any i = 0, · · · m − 1,
K i+1 = K i ∪ σ i+1 where σ i+1 is a simplex.
By considering the evolution of the Betti numbers of the filtration as we add
the simplices σ i we get the following algorithm.

Algorithm 9: Betti numbers computation


Input: A filtration of a d-dimensional simplicial complex K containing m
simplices.
β0 ← 0; β1 ← 0; · · · ; βd ← 0
for i = 1 to m do
k = dim σ i − 1
if σ i is contained in a (k + 1)-cycle in K i then
βk+1 ← βk+1 + 1
else
βk ← βk − 1
Output: The Betti numbers β0 , β1 , · · · , βd of K.

To prove the correctness of the algorithm, one has to understand how the
topology of the filtration evolves each time we add a simplex. Let assume
that the Betti numbers of K i−1 have been computed and add the simplex σ i
of dimension k + 1 to get K i . Remark that according to the definition of
filtration, σ i cannot be part of the boundary of any (k + 2)-simplex of K i .
202 Homology Inference

σi σi

Figure 11.4 Examples of insertion of a 1-simplex σ i to a subcomplex K i−1 . When


σ i is not contained in a 1-cycle (left), its insertion results in the connection of two
connected components of K i−1 . When σ i is contained in a 1-cycle (right), its
insertion create a new 1-cycle that is not homologous to any previously existing
in K i−1 .

As a consequence if σ i is contained in a (k + 1)-cycle in K i , this cycle is not


the boundary of a (k + 2)-chain in K i . Let consider the two alternatives of the
algorithm that are illustrated in Figure 11.4:
Case 1: assume that σ i is contained in a (k + 1)-cycle c in K i . Then c cannot
be homologous to any (k + 1)-cycle in K i−1 . Indeed, otherwise there would
exist a cycle c in K i−1 such that c + c is the boundary of a (k + 2)-chain d.
But since σ i cannot be contained in c , it has to be contained in c + c = ∂d
contradicting the aforementioned remark. So, c creates a new homology class
which is linearly independent of the classes created by the cycles in K i−1 . As
a consequence, βk+1 (K i ) ≥ βk+1 (K i−1 ) + 1. To conclude this first case, it is
sufficient to remark that adding the (k + 1)-simplex σ i to K i−1 cannot increase
the dimension of the kth homology group by more than one: if c and c are two
(k +1)-cycles containing σ i , then c+c is a (k +1)-cycle in K i−1 implying that
c is contained in the linear subspace spanned by Zk+1 (K i−1 ) and c. It follows
that dim Zk+1 (K i ) ≤ dim Zk+1 (K i−1 ) + 1 and since Bk+1 (K i−1 ) ⊂ Bk+1 (K i ),
βk+1 (K i ) ≤ βk+1 (K i−1 ) + 1.
Case 2: assume that σ i is not contained in any (k + 1)-cycle in K i . Then the
k-cycle ∂σ i is not a boundary in K i−1 . Indeed, otherwise there would exist a
chain c in K i−1 such that ∂c = ∂σ i or equivalently ∂(c+σ i ) = 0. Thus c+σ i is
a (k + 1)-cycle in K i containing σ i : a contradiction. As a consequence, because
the k-cycle ∂σ i which is not a boundary in K i−1 becomes a boundary in K i ,
one has βk (K i ) ≤ βk (K i−1 ) − 1. One proves as in Case 1 that this inequality is
indeed an equality.
11.3 Singular Homology and Topological Invariance 203

The aforementioned discussion suggests to distinguish between the two types


of simplices in the filtration of K that will play an important role in the
definition of topological persistence.
Definition 11.8 Let K be a d-dimensional simplicial complex and let
∅ = K0 ⊂ K1 ⊂ · · · ⊂ Km = K
be a filtration of K. A simplex σ i is called positive if it is contained in a (k +1)-
cycle in K i (which is necessarily not a boundary in K i according to the remark
at the beginning of the proof of the correctness of the algorithm) and negative
otherwise.
With the aforementioned definition, the kth Betti number of K is equal to
the difference between the number of positive k-simplices (which are creating
k-cycles) and the number of negative (k + 1)-simplices (which are “killing”
k-cycles).
As an example, if one considers the simplicial complex K of Figure 11.1
with the filtration defined by the simplices ordering ∅, a, b, c, ab, bc, d, ac, cd,
abc, then the positive simplices are a, b, c, d, and ac. The Betti numbers of K
are β0 = 1, β1 = 0 and β2 = 0.
It is important to notice that the above algorithm needs to be able to decide
whether a simplex is positive or negative. This is not, a priori, an obvious
question but an answer will be given in Section 11.5. It is also important to
notice that the algorithm not only computes the Betti numbers of K but also
the Betti numbers of all the subcomplexes K i of the filtration.

11.3 Singular Homology and Topological Invariance


The homology groups and Betti numbers are topological invariants: if K and K
are two simplicial complexes with homeomorphic geometric realizations then
their homology groups are isomorphic and their Betti numbers are equal. This
result is still true if the geometric realizations of K and K are just homotopy
equivalent. The proof of this invariance property is a classical, but not obvious,
result in algebraic topology. It is beyond the scope of this book (see [110, 96]
for details).
Singular homology is another notion of homology that allows to consider
general spaces that are not necessarily homeomorphic to simplicial complexes.
The definition of singular homology is similar to the one of simplicial
homology except that it relies on the notion of singular simplex. Let k be the
standard k-dimensional simplex in Rk+1 , i.e., the geometric simplex spanned
204 Homology Inference

by the vertices xi , i = 1, · · · k + 1, whose all coordinates are 0 except the ith


one which is equal to 1. Given a topological space X, a singular k-simplex σ
is a continuous map σ : k → X. As in the case of simplicial homology, the
space of singular k-chains is the vector space of formal linear combinations
of singular k-simplices. The boundary ∂σ of a singular k-simplex is the sum
of the restriction of σ to each of the (k − 1)-faces of k . Proposition 11.5
still holds for the (singular) boundary operator and the kth singular homology
group of X is defined similarly as the quotient of the space of cycles by the
space of boundaries.
A remarkable fact is that simplicial and singular homology are related in the
following way: if X is a topological space homeomorphic to the support of a
simplicial complex K, then the singular homology groups of X are isomorphic
to the simplicial homology groups of K. For example, if X is a surface and
if K and K are two triangulations of X, then the homology groups Hk (K)
and Hk (K ) are isomorphic. Thus they have the same Betti numbers that are,
indeed, the ones of X. As a consequence, in the sequel of the chapter, we will
consider indifferently simplicial or singular homology.
Another important property of singular (and thus simplicial) homology is
that continuous maps between topological spaces canonically induce homo-
morphisms between their homology groups. Indeed, if f : X → Y is a
continuous map between two topological spaces and if σ : k → X is
a singular simplex in X, then f ◦ σ : k → Y is a singular simplex
in Y. So, f induces a linear map between the spaces of chains on X and Y
that preserves cycles and boundaries. As a consequence, f also induces an
homomorphism f" : Hk (X) → Hk (Y). Moreover if f is an homeomorphism,
f" is an isomorphism and (f" )−1 = (f −1 )" . Similarly, if f is an homotopy
equivalence with homotopic inverse g : Y → X, then f" is an isomorphism
with inverse g" . As a consequence, two spaces that are homotopy equivalent
have the same Betti numbers. Notice that, when X is not homotopy equivalent
to a finite simplicial complex, its Betti numbers might not be finite.

11.4 Betti Numbers Inference


Singular homology allows to consider Betti numbers of compact sets in Rd and
of their offsets. Using its connexion to simplicial homology and the distance
functions framework of Chapter 9, we derive explicit methods to infer the Betti
numbers of compact subsets with positive weak feature size.
Let K ⊂ Rd be a compact set with wfs(K) > 0 and let P ∈ Rd be a finite
set of points such that dH (K, P) < ε for some given ε > 0. Recall that, from
11.4 Betti Numbers Inference 205

the isotopy Lemma 9.5, all the r-offsets K r of K, for 0 < r < wfs(K), are
homeomorphic and thus have isomorphic homology groups. The goal of this
section is to provide an effective method to compute the Betti numbers βk (K r ),
0 < r < wfs(K), from P.
Theorem 11.9 Let K ⊂ Rd be a compact set with wfs(K) > 0 and let P ∈ Rd
be a finite set of points such that dH (K, P) < ε for some given ε > 0. Assume
that wfs(K) > 4ε. For α > 0 such that 4ε + α < wfs(K), let i : Pα+ε #→
Pα+3ε be the canonical inclusion. Then for any non-negative integer k and any
0 < r < wfs(K),
 
Hk (K r ) ∼
= im i" : Hk (Pα+ε ) → Hk (Pα+3ε )

where im denotes the image of the homomorphism and ∼


= means that the two
groups are isomorphic.
Proof Because dH (K, P) < ε, we have the following sequence of inclusion
maps
K α ⊆ Pα+ε ⊆ K α+2ε ⊆ Pα+3ε ⊆ K α+4ε

that induces the following sequence of homomorphisms (the one induced by


the canonical inclusion maps) at the homology level

Hk (K α ) → Hk (Pα+ε ) → Hk (K α+2ε ) → Hk (Pα+3ε ) → Hk (K α+4ε ).

Because wfs(K) > α + 4ε, it follows from the isotopy Lemma 9.5 that
the homomorphisms Hk (K α ) → Hk (K α+2ε ) and Hk (K α+2ε ) → Hk (K α+4ε )
induced by the inclusion maps are indeed isomorphisms. Notice that the
aforementioned sequence implies that the rank of these isomorphisms is finite
(see Exercise 11.5). It immediately follows that the rank of Hk (Pα+ε ) →
Hk (Pα+3ε ) is equal to the rank of these isomorphisms, which is equal to
βk (K α ).
Theorem 11.9 shows that the Betti numbers of the offsets of K can be
deduced from the offsets of P. However, the direct computation of the
homology groups of a union of balls, which is a continuous object and not
a finite simplicial complex, is not obvious. To overcome this issue, recall that
the Nerve Theorem 2.8 implies that for any r ≥ 0, Pr is homotopy equivalent
to Čech(P, r). As a consequence Hk (Pr ) and Hk (Čech(P, r)) are isomorphic.
Moreover, one can show that the isomorphisms can be chosen to commute
with the ones induced by inclusions maps [50], making the following diagram
commutative
206 Homology Inference

Hk (Pr ) → Hk (Pr )
↑ ↑ (11.1)
Hk (Čech(P, r)) → Hk (Čech(P, r ))
We immediately obtain the following result.
Proposition 11.10 Assume that wfs(K) > 4ε. For α > 0 such that 4ε + α <
wfs(K), let i : Čech(P, α + ε) #→ Čech(P, α + 3ε) be the canonical inclusion.
Then for any non-negative integer k and any 0 < r < wfs(K),

Hk (K r ) ∼
= im(i" : Hk (Čech(P, α + ε)) → Hk (Čech(P, α + 3ε)).
Thanks to the previous proposition, inferring the Betti numbers of K r now
boils down to homology computation on finite Čech complexes. However,
as already noticed in Section 2.5, computing Čech complexes require to
determine if finite sets of balls intersect, which quickly becomes prohibitive
as d and the cardinality of P increase. Using the interleaving property between
Čech and Vietoris-Rips filtrations established in Lemma 2.13, we obtain the
following theorem.
Theorem 11.11 Assume that wfs(K) > 9ε. For any 2ε ≤ α ≤ 14 (wfs(K) − ε)
and any 0 < r < wfs(K) we have

βk (K r ) = rk(Hk (Rips(P, α) → Hk (Rips(P, 4α))

where rk(Hk (Rips(P, α) → Hk (Rips(P, 4α)) denotes the rank of the homo-
morphism induced by the inclusion Rips(P, α) ⊆ Rips(P, 4α).
This last result raises two questions. The first one is about how to compute
the rank of the homomorphisms induced by the inclusion maps between the
homology groups of the subcomplexes of the Vietoris − Rips complex. This
question will be answered in next Section when the persistence algorithm will
be presented. The second, and more tricky, question is about the effective
choice of α when K and wfs(K) are not known. This is an ill-posed problem
because wfs(K) does not depend continuously of K; see Section 9.3. However,
it is possible for the user to try to guess a good choice of α using the following
algorithm.
When applied to a point cloud sampled around a compact subset of Rd
with positive weak feature size, the algorithm provides the diagrams of rank
numbers βk,4α16α that are constant on some intervals of values α as illustrated in

Figure 11.5. Identifying these intervals allows the user to determine the scales
at which the topological features of K r can be infered. Notice that intervals on
which the persistent Betti numbers are constant can appear at different scales,
reflecting multiscale topological features of the offsets of K; see Figure 11.6.
11.4 Betti Numbers Inference 207

Algorithm 10: Betti numbers inference


Input: P ⊂ Rd a finite set.
Let L := ∅, α := +∞;
while L  P do ..
Let p := argmaxw∈P minv∈L w − v ; pick arbitrary p if L = ∅
L ← L ∪ {p};
α ← maxw∈P minv∈L w − v ;
Update Rips(L, 4α) and Rips(L, 16α);
Compute βk,4α16α = rk(i : H (Rips(L, 4α)) → H (Rips(L, 16α)));
" k k
Output: diagram showing the evolution of persistent Betti numbers, i.e. the
ranks of i" versus α.

16δ
βk,4δ

k=0

100

10 k=1

1
k=2

18/wfs(K) 1/ε 1/δ

Figure 11.5 An example of persistent Betti numbers curves obtained from a point
cloud sampled on a torus. They are plotted as functions of 1/α. These numbers are
constant on an interval containing [18/wfs(K), 1/ε] and correspond to the three
first Betti numbers of the torus: β0 = 1, β1 = 2 and β2 = 1.

The previous algorithm comes with the following theoretical guarantees


justifying the existence of intervals of constant persistent Betti numbers [50].
Theorem 11.12 Let K ⊂ Rd be a compact set with wfs(K) > 0 and let
P ∈ Rd be a finite set of points such that dH (K, P) < ε for some given ε > 0.
Assume that wfs(K) > 18ε. Then at each iteration of the algorithm such that
1
ε < α < 18 wfs(K),
βk (K r ) = βk,4α
16α

for any r ∈ (0, wfs(K)) and any non-negative integer k.


The example of Figure 11.6 where P is sampled around a smooth two-
dimensional torus in R1000 illustrates this property: it would not have been
possible to do the computation if the complexity was exponential in d = 1000.
208 Homology Inference

Figure 11.6 The persistent Betti numbers curves obtained from a point cloud
sampled on a closed curve spiraling on a torus which was itself non linearly
embedded into R1000 . They are plotted as functions of 1/δ. We distinguish
two intervals on which the computed ranks are constant. The right-most one
(corresponding to the smaller range of δ) exhibits the Betti numbers of a circle
(1, 1, 0), while left most one (intuitively corresponding to a larger scale) exhibits
the Betti numbers of the torus (1, 2, 0).

11.5 Persistent Homology


The algorithm of Section 11.2 to compute the Betti numbers of a filtered
simplicial complex also provides the Betti numbers of all the subcomplexes
of the filtration. Intuitively, the goal of persistent homology is to keep track of
all this information and to pair the creation and destruction time of homology
classes appearing during the process.

11.5.1 A Simple Example


Before formally indroducing persistent homology, we first consider a very
simple example. Let f : [0, 1] → R be the function whose graph is represented
in Figure 11.7. We are interested in studying the evolution of the topology of
the sublevel sets f −1 ((−∞, t]) as t increases. The topology of the sublevel sets
changes when t crosses the critical values a, b, c, d, and e. Passing through
the critical value a creates a connected component and for a ≤ t < b,
f −1 ((−∞, t]) is a connected set (an interval). When t passes through the
critical value b a second connected component appears and for b ≤ t < c,
f −1 ((−∞, t]) has two connected components. When t reaches the value c, the
two connected components are merged: the most recently created component,
when t passed through b, is merged into the older one. One then pairs the two
values b and c corresponding to the “birth” and “death” of the component.
11.5 Persistent Homology 209

e e

c c
b

a b d

Figure 11.7 The persistence diagram of a real valued function.

In the persistent homology framework, this pairing is either represented by


the interval on the left of the graph of f in Figure 11.7 or by the point with
coordinates (b, c) in the plane on the right of Figure 11.7. The length c−b of the
interval (b, c) represents the lifespan of the component created at b. Intuitively,
the larger the interval is, the more relevant the corresponding component is.
Now, continuing to increase t, a new connected component is created when
one reaches d, which is merged at t = e giving rise to a new persistence
interval (d, e). Notice that a is not paired to any (finite) value since the first
created component is never merged into another one. As a consequence it is
paired with +∞ and represented by the interval (a, +∞). At the end, the pairs
are either represented as a set of intervals (called a barcode) or as a diagram
in the plane (called the persistence diagram; see Figure 11.7 on the right).
For technical reasons that will become clear later in this chapter the diagonal
{y = x} is added to the diagram.
When one considers functions f defined over higher dimensional spaces,
passing through critical values may not only change the connectedness of the
sublevel sets but also other topological features: creation/destruction of cycles,
voids, etc. All these events corresponds to a change in the corresponding
homology groups (H0 for connected components, H1 for cycles, H2 for
voids,. . . ). In the sequel of this section we show that we can define pairs and
persistence diagrams for each dimension.
Now, if we replace the function f by a function g on the Figure 11.8 which
is close to f , we observe that the number of pairs of g is much larger than the
one of f . However most of these pairs correspond to intervals with short length
(points close to the diagonal) while the pairs corresponding to long interval are
close to the ones of f . In other words, the topological features having a large
persistence with respect to the size of the perturbation are preserved while
210 Homology Inference

b d

Figure 11.8 An approximation g of f and its persistence diagram.

the topological features created by the perturbation have a small persistence.


We will see that this is a general phenomenon: two close functions have close
persistence diagrams. The stability properties of persistence diagrams are of
fundamental importance to formalize and quantify the notion of topological
noise and to handle noisy data.

11.5.2 Persistent Homology of a Filtration


We first define the notion of persistence for a filtration of a simplicial complex.
Its goal is to study the evolution of the homology of the subcomplexes of the
filtration.
Let K be a d-dimensional simplicial complex and let

∅ = K0 ⊂ K1 ⊂ · · · ⊂ Km = K

be a filtration of K such that, for any i = 0, · · · , m − 1, K i+1 = K i ∪ σ i+1


where σ i+1 is a simplex.
For any 0 ≤ n ≤ m, we denote by Ckn the set of k-chains (with coefficients
in Z/2Z) of K n . Notice that the restriction of the boundary operator to Ckn has
n−1
its image contained in Ck−1 . We denote by Zkn and Bnk the sets of k-cycles and
k-boundaries of K n , respectively. The kth homology group of K n is thus

Hkn = Zkn /Bnk

With these notations, we have the following inclusions

Zk0 ⊂ Zk1 ⊂ · · · ⊂ Zkn · · · ⊂ Zkm = Zk (K)

B0k ⊂ B1k ⊂ · · · ⊂ Bnk · · · ⊂ Bm


k = Bk (K)
11.5 Persistent Homology 211

Definition 11.13 (Persistent Betti numbers) For p ∈ {0, · · · , m} et l ∈


{0, · · · , m − p}, the kth persistent

l
 number of K is the dimension of the
Betti
l,p l+p
vector space Hk = Zk / Bk ∩ Zk .
l l

The kth persistent Betti number of K l represents the number of independent


homology classes of k-cycles in K l that are not boundaries in K l+p . Intuitively,
l,p
a k-cycle in K l generating a nonzero element in Hk is a cycle that has appeared
in the filtration before the step l + 1 and that is still not a boundary at step l + p.
We have seen in Section 11.2 that a homology class is created when a positive
simplex is added in the filtration and that a homology class is destroyed when
a negative simplex is added. Persistent homology provides a natural way to
pair positive and negative simplices such that whenever a positive simplex is
added to the filtration it creates a homology class and a corresponding cycle
that becomes a boundary when the negative simplex to which it is paired is
added.

Cycle Associated to a Positive Simplex


Lemma 11.14 Let σ = σ i be a positive k-simplex in the filtration of K. There
exists a unique k-cycle c that is not a boundary in K i , that contains σ and that
does not contain any other positive k-simplex.
Proof The lemma is proven by induction on the order of the positive k-
simplices in the filtration. Assume that for any positive k-simplex added to the
filtration before σ there exists a k-cycle, that is not a boundary and that contains
σ but no other positive k-simplex. Because σ is positive, there exists a k-cycle
d that is not a boundary in K i and that contains σ . Let σij , j = 1, · · · , p be the
positive k-simplices different from σ contained in d and let cj be the cycles
that are not boundaries containing them and not containing any other positive
simplices. Then
c = d + c1 + · · · + cp
is a k-cycle in which σ is the only positive simplex. Because σ = σ i is the last
simplex added in K i there does not exist any (k + 1)-simplex in K i containing
σ in its boundary. As a consequence, c cannot be a boundary cycle.
The uniqueness of c is proven in a similar way.

Persistent Homology Basis and Persistent Pairs


The k-cycles associated to the positive k-simplices in Lemma 11.14 allow to
maintain a basis of the k-dimensional homology groups of the subcomplexes
of the filtration. At the beginning, the basis of Hk (K 0 ) is empty. Bases of the
Hk (K i ) are built inductively in the following way. Assume that the basis of
212 Homology Inference

Hki−1 has been built and that the ith simplex σ i is positive and of dimension k.
We add to the basis of Hki−1 the homology class of the cycle ci associated
to σ i to obtain a basis of Hki . Indeed, because ci is the sum of σ i and negative
simplices, it is not homologous to any linear combination of cycles defining the
basis of Hki−1 . Because dim Hki = dim Hki−1 + 1 we thus obtain a basis of Hki .
j−1
Now assume that the basis of Hk is built and the jth simplex σ j is negative
and of dimension k + 1. Let c 1 , · · · , cip be the cycles associated to the positive
i
j−1
simplices σ i1 , · · · σ ip whose homology classes form a basis of Hk . The
boundary d = ∂σ j of σ j is a k-cycle in K j−1 , which is not a boundary in
K j−1 but is a boundary in K j (see the proof of the algorithm to compute Betti
numbers in the previous section). So it can be written in a unique way as

p
d = ∂σ j = εk cik + b
k=1

where εk ∈ {0, 1} and b is a boundary. We then denote l(j) = max{ik : εk = 1}


j−1
and we remove the homology class of cl(j) from the basis of Hk .
j
Claim: We obtain a basis of Hk .
j−1 j
Because dim Hk = dim Hk + 1 we just need to prove that cl(j) is, up to
j
a boundary, a linear combination of the cycles cik in Zk , ik = l(j), which is
equivalent to the aforementioned decomposition of d.
Definition 11.15 (Persistent pairs) The pairs of simplices (σ l(j) , σ j ) are
called the persistence pairs of the filtration of K.
Intuitively, the homology class created by σ l(j) in K l(j) is destroyed by σ j in K j .
The persistence of this pair is j − l(j) − 1. From the aforementioned discussion,
we deduce a first algorithm to compute the persistent pairs of a filtration of a
simplicial complex K of dimension d with m simplices.

Algorithm 11: Persistent pairs computation


Input: A filtration of a d-dimensional simplicial complex K containing m
simplices.
L0 = L1 = · · · = Ld−1 = ∅
for j = 0 to m do
k = dim σ j − 1
if σ j is negative then
l(j) = the largest index of the positive k-simplices associated to ∂σ j ;

Lk ← Lk ∪ {(σ l(j) , σ j )};


Output: Return the persistent pairs in each dimension L0 , L1 , · · · , Ld−1 ;
11.5 Persistent Homology 213

Notice that, as for the algorithm to compute the Betti numbers, the main
issue with this algorithm is to determine l(j). We overcome it by considering a
matrix version of the aforementioned algorithm.

Persistence Algorithm: The Matrix Version


We now present an easy to implement version of the persistence algorithm.
It relies on a simple reduction of the matrix of the boundary operator.
Let K be a simplicial complex of dimension d and

∅ = K0 ⊂ K1 ⊂ · · · ⊂ Km = K

be a filtration of K such that for any i = 0, · · · , m − 1,

K i+1 = K i ∪ σ i+1 where σ i+1 is a simplex.

Let M = (mi,j )i,j=1,···m be the matrix with coefficients in Z/2Z of the boundary
operator defined by:

mi,j = 1 if σ i is a face of σ j and mi,j = 0 otherwise.

Hence, if σ j is a (k + 1)-simplex the jth column of M represents the set of


the k-dimensional faces of the boundary of σ j . Since the simplices of K are
ordered according to the filtration, the matrix M is upper triangular. For any
column Cj of M, we denote by l(j) the index of the lowest line of M containing
a nonzero term in the column Cj :

(i = l(j)) ⇔ (mi,j = 1 and mi ,j = 0 ∀i > i)

Notice that l(j) is not defined when the column Cj does not contain any non
zero term. We then have the following very simple algorithm to compute the
persistent pairs.

Algorithm 12: Persistent computation—Matrix version


Input: A filtration of a d-dimensional simplicial complex K containing m
simplices and the matrix M of the boundary operator.
for j = 0 to m do
while there exists j < j such that l(j ) == l(j) do
Cj = Cj + Cj mod(2);
Output: Return the pairs (l(j), j);

Proposition 11.16 The previous algorithm computes the persistent pairs of


the filtration ∅ = K 0 ⊂ K 1 ⊂ · · · ⊂ K m = K.
214 Homology Inference

Proof The result immediately follows from a sequence of elementary facts.


Fact 1: At each step of the algorithm, the column Cj represents a chain of the
following form

∂ σj + εi σ i with εi ∈ {0, 1}.
i<j

This is proven by an immediate induction.


Fact 2: At the end of the algorithm, if j is such that l(j) is defined, then σ l(j) is
a positive simplex.
Indeed, the column Cj represents a chain of the form

σ l(j) + ηp σ p with ηp ∈ {0, 1},
p<l(j)

but according to Fact 1, Cj also represents a boundary in K j . So the previous


chain is a cycle (since ∂ ◦ ∂ = 0) in K l(j) containing σ l(j) . The simplex σ l(j) is
thus positive.
Fact 3: If at the end of the algorithm the column Cj only contains zero terms,
then σ j is positive.
Indeed, according to Fact 1, we have

∂ σj + εi σ i = 0,
i<j

so σ j is contained in a cycle of K j .
Fact 4: If at the end of the algorithm, the column Cj contains non zero terms,
then (σ l(j) , σ j ) is a persistence pair.
Combining Facts 1 and 2, the boundary of σ j can be written as
 
∂σ j = σ l(j) + ηp σ p + ∂ εi σ i
p<l(j) i<j

Moreover σ l(j) is positive and thus was added to the persistent homology basis
at time l(j) and has not been paired before time j. Remarking that at the end of
the algorithm a line of the matrix cannot contain more than one lowest nonzero
term of a column, we deduce that (σ l(j) , σ j ) is a persistence pair.
11.5 Persistent Homology 215

Remark 11.17 Notice that the time complexity of the above algorithm is
O(m3 ) in the worst case. However in practical applications it usually happens
to be much faster (O(m) or O(m log m)).

11.5.3 Persistence Diagrams and Bottleneck Distance


For a fixed k, the persistent pairs of simplices of respective dimensions k and
k + 1 are conveniently represented as a diagram in the plane R2 : each pair
(σ l(j) , σ j ) is represented by the point of coordinates (l(j), j). For each positive
simplex σ i which is not paired to any negative simplex in the filtration, we
associate the pair (σ i , +∞). For technical reasons that will become clear in
the next section, we add to this finite set the diagonal {y = x} of R2 to get
the k-dimensional persistence diagram of the filtration. More generally, if the
filtration is indexed by a non decreasing sequence of real numbers, as, e.g., in
the case of a filtration associated to the sublevel sets of a function,

∅ = K α0 ⊂ K α1 ⊂ · · · ⊂ K αm = K with α0 ≤ α1 · · · ≤ αm

a persistent pair of simplices (σi , σj ) is represented in the diagram as the point


of coordinates (αi , αj ). In this later case, we have to take care that, since
the sequence (αi ) is non decreasing, several pairs can be associated to the
same point in the plane. A persistence diagram is thus a multiset and the
multiplicity of a point is defined as the number of pairs associated to this
point. By convention, the points on the diagonal have infinite multiplicity. By
convention, if a simplex σi is not paired, we then add the point of coordinates
(αi , +∞) to the persistence diagram. Notice that, as a consequence, the
2
persistence diagram is a multiset in R where R = R ∪ +∞.
Persistence diagrams can be compared using a matching distance called the
bottleneck distance.
Definition 11.18 (Bottleneck distance) Let D1 and D2 be two persistence
diagrams The bottleneck distance between D1 and D2 is defined as

dB (D1 , D2 ) = inf sup p − γ (p) ∞


γ p∈D
1

where γ is the set of bijections between the multisets D1 and D2 (a point with
multiplicity m > 1 is considered as m disjoint copies) and p − q ∞ = max
(| xp − xq |, | yp − yq |). By convention, if yp = yq = +∞, then p − q ∞ =
| xp − xq |.
The above definition motivates the inclusion of the diagonal of R2 in the
definition of persistence diagram: it allows to compare diagrams that do not
216 Homology Inference

dB

Figure 11.9 The bottleneck distance between two diagrams

have the same numbers of off-diagonal points by matching them with points
on the diagonal (see Figure 11.9).

11.5.4 Persistence Modules, Interleaving, and Stability


Persistence can be defined in a purely algebraic way that turns out to be
particularly useful and powerful in many settings. The proofs of the results
presented in this section are beyond the scope of this book but the algebraic
framework introduced in this section allows to efficiently prove the results of
the next sections.
The notion of persistence can be extended to more general sequences of
vector spaces in the following way.
Definition 11.19 (Persistence modules) A persistence module V over a
subset I of the real numbers R is an indexed family of vector spaces (Va |
a ∈ I) and a doubly-indexed family of linear maps (vba : Va → Vb | a ≤ b)
which satisfy the composition law vcb ◦vba = vca whenever a ≤ b ≤ c, and where
vaa is the identity map on Va .
Definition 11.20 (q-tameness) The persistence module V is said to be q-tame
if rk(vba ) < +∞ whenever a < b.
11.5 Persistent Homology 217

The sequence of homology groups of the filtration of K considered in the


previous section together with the homomorphisms induced by the inclusion
maps is a persistence module indexed over the set I = {0, 1, · · · , m}. It can be
shown that the persistence diagram of a filtration {∅ = K α0 ⊂ K α1 ⊂ · · · ⊂
K αm = K} is completely determined by the rank of the homomorphisms
Hk (K αi ) → Hk (K αj ) for any i < j. This property extends to q-tame modules.
Theorem 11.21 If a persistence module V is q-tame, then it has a well-
2
defined persistence diagram dgm(V) ⊂ R . When V is the persistence module
defined by a filtration of a finite simplicial complex, this diagram coincides
with the one defined in Section 11.5.3.
To avoid technical difficulties in the sequel of this section, we assume that all
the considered persistence modules are indexed by R. This is not a restrictive
assumption in our setting: if V is a persistence module indexed by a finite set
α1 < α2 < · · · < αm it can be extended to a piecewise constant module
indexed by R by defining Vα = Vαj for α ∈ [αj , αj+1 ) with the convention
α0 = −∞ and αm+1 = +∞. The linear maps are then defined in an obvious
way by letting vba = Id whenever αj ≤ a ≤ b < αj+1 .
Let U, V be persistence modules over R, and let ε be any real number.
A homomorphism of degree ε is a collection  of linear maps

(φa : Ua → Va+ε | a ∈ R)

such that vb+ε


a+ε ◦ φa = φb ◦ ua for all a ≤ b. We write
b

Homε (U, V) = {homomorphisms U → V of degree ε},


Endε (V) = {homomorphisms V → V of degree ε}.

Composition is defined in the obvious way. For ε ≥ 0, the most important


degree-ε endomorphism is the shift map

1εV ∈ Endε (V),

a ) from the persistence structure on V.


which is the collection of maps (va+ε
If  is a homomorphism U → V of any degree, then by definition 1εU =
1εV  for all ε ≥ 0.
Definition 11.22 (Interleaving of persistence modules) Two persistence
modules U, V are said to be ε-interleaved if there are maps

 ∈ Homε (U, V),  ∈ Homε (V, U)

U and  = 1V .
such that  = 12ε 2ε
218 Homology Inference

The notion of interleaving allows to state the fundamental stability theorem


for persistence diagrams.
Theorem 11.23 (Stability of persistence diagrams) Let U, V be two q-tame
persistent modules that are ε-interleaved for some ε ≥ 0. Denoting by dgm(U)
and dgm(V) their persistence diagrams, we have

dB (dgm(U), dgm(V)) ≤ ε.

In the next sections, we apply the stability to different settings.

11.5.5 Persistence Stability for Functions


Let f : X → R be a real-valued function defined on a topological space X.
Let consider the sublevel set filtration {Fα = f −1 ((−∞, α])}α∈R and consider
the (singular) homology groups Hk (Fα ) of these sublevel sets. Notice that the
canonical inclusion Fα ⊆ Fβ whenever α ≤ β induces an homeomorphism
Hk (Fα ) → Hk (Fβ ). So, the sublevel sets filtration of f induces a persistence
module Fk .
Definition 11.24 A real-valued function f defined on a topological space X
is said to be q-tame if its associated persistence modules Fk are q-tame for any
non-negative integer k.
The following result provides sufficient conditions for f and g to be q-tame.
Proposition 11.25 If X is homeomorphic to a finite simplicial complex and
f : X → R is continuous, then f is q-tame. In particular, dgm(Fk ) is well-
defined.
Proposition 11.26 Let f , g : X → R be two functions defined on a topological
space X such that f − g ∞ = supx∈X |f (x) − g(x)| < ε. Then the persistence
modules Fk and Gk induced by the sublevel sets filtrations of f and g are
ε-interleaved.
Proof Since f − g ∞ < ε, we have, for any α ∈ R, Fα ⊆ Gα+ε ⊆ Fα+2ε ⊆
Gα+3ε ⊆ · · · These inclusions induce homomorphisms Hk (Fα ) → Hk (Gα+ε )
and Hk (Gα ) → Hk (Fα+ε ) for all α ∈ R. The sets of these homomorphisms
define an ε-interleaving between Fk and Gk .
In the sequel, when there is no ambiguity, the notation dgm(f ) denotes
the persistence diagram of Fk , for any k. Applying the Persistence Stability
Theorem 11.23, we immediately obtain the following stability result for
functions.
11.5 Persistent Homology 219

e
e

d
c c

b d

b d

Figure 11.10 Comparing the persistence diagrams of two close functions defined
on a segment

Theorem 11.27 Let X be a topological space and let f , g : X → R be two


q-tame functions. Then
dB (dgm(Fk ), dgm(Gk )) ≤ f − g ∞.

From a practical point of view, the above theorem provides a rigorous way
to approximate the persistence diagrams of continuous functions defined on a
triangulated space. For example, assume that X is a triangulated manifold in
Rd where the diameter of each simplex is upper bounded by some δ > 0 and
assume f : X → R to be c-Lipschitz for some c > 0, i.e. |f (x) − f (x )| ≤
c x − x . Then, given a non-negative integer k, one can easily check that the
bottleneck distance between the persistence diagram of f and the persistence
diagram of the filtered complex induced by the values of f at the vertices of the
triangulation is upper bounded by cδ (see Exercise 11.8).

11.5.6 Persistence Stability for Compact Sets and Complexes


Built on Top of Point Clouds
Proposition 11.28 Let X ⊂ Rd be a compact set. The distance function dX :
Rd → R is q-tame.
220 Homology Inference

Proof Given 0 ≤ α < β and a non-negative integer k, we just need to prove


that the homomorphism Hk (X α ) → Hk (X β ) induced by the inclusion of the
offsets, X α ⊂ X β , has finite rank. Denoting ε = (β − α)/2 > 0, because X is
compact, there exists a finite subset P ⊆ X of X such that dH (X, P) < ε. As a
consequence, we have the following inclusion
X α ⊆ Pα+ε ⊆ X β
that induces the following sequence of homomorphisms
Hk (X α ) → Hk (Pα+ε ) → Hk (X β ).
Now, it follows from the nerve Lemma that Pα+ε is a finite union of balls
homotopy equivalent to Čech(P, α + ε), which is a finite simplicial complex.
As a consequence dim Hk (Pα+ε ) < +∞ and rk(Hk (X α ) → Hk (X β )) ≤
dim Hk (Pα+ε ) < +∞.
The aforementioned proposition implies that distance functions to compact
subsets of Rd have well-defined persistence diagrams. Recalling that if X, Y ⊂
Rd are compact, then dH (X, Y) = dX − dY ∞ , we immediately obtain the
following corollary.
Corollary 11.29 Let X, Y ⊂ Rd be compact. Then
dB (dgm(dX ), dgm(dY )) ≤ dH (X, Y).
In particular, if P, Q ⊂ Rd are finite point clouds, then for any non-negative
integer k,
dB (dgm(Hk (Čech(P))), dgm(Hk (Čech(Q)))) ≤ dH (P, Q)
where Čech(.) denotes the Čech filtration.
The second part of the corollary follows from the nerve Lemma 2.8 and
the paragraph before Proposition 11.10 showing that Pα and Čech(P, α) are
homotopy equivalent for any α and the homotopy equivalences can be chosen
to commute with the inclusion maps at the homology level. As a consequence
the persistence modules induced by the sublevel sets of dP and the Čech
filtration are 0-interleaved. Using that Pα is also homotopy equivalent to the
alpha-complex A(P, α) the same result also holds when Čech(P) is replaced
by the alpha-complex filtration A(P).
Application: Topological Signatures for Shapes. The same kind of result
can be also established for the Vietoris-Rips complex and, thanks to these
stability properties, the obtained persistence diagrams can be considered as
robust multiscale topological signatures associated to point clouds. They can
11.5 Persistent Homology 221

thus be used to compare the topological structure of points clouds sampled


from different shapes. Notice that if the finite point cloud P is transformed by
an isometry of Rd into another point cloud P , then the Čech, the Vietoris-
Rips and alpha-shape filtrations of P and P are the same. However, dH (P , Q)
can become much larger than dH (P, Q) while the bottleneck distance between
persistence diagrams remains unchanged, making the second inequality of
Corollary 11.29 less interesting. To overcome this issue one can consider the
Gromov-Hausdorff distance defined in the following way.
Definition 11.30 Let X, Y ⊂ Rd be two compact sets and let ε ≥ 0. An
ε-correspondence between X and Y is a subset C ⊆ X × Y such that
(i) for any x ∈ X, there exists y ∈ Y such that (x, y) ∈ C;
(ii) for any y ∈ Y, there exists x ∈ X such that (x, y) ∈ C;
(iii) for any (x, y), (x , y ) ∈ C, |d(x, x ) − d(y, y )| ≤ ε, where d(x, x ) =
x − x is the Euclidean distance.
The Gromov-Hausdorff distance between X and Y is defined by

dGH (X, Y) = inf{ε ≥ 0 : there exists an ε-correspondence between X and Y}.


Notice that the aforementioned definition can be extended verbatim to any
pair of compact metric spaces. Indeed the Gromov-Hausdorff distance allows
to compare compact metric spaces, up to isometry, independently of any
embedding. Coming back to the point clouds P, P , and Q where P is the image
of P by an ambient isometry of Rd , we have that dGH (P, Q) = dGH (P , Q).
Moreover, Corollary 11.29 has the following generalization.
Theorem 11.31 Let P, Q ⊂ Rd be finite point clouds and let Filt(.) be any
of the Čech , Vietoris-Rips or alpha-shape filtered complexes. Then for any
non-negative integer k,

dB (dgm(Hk (Filt(P))), dgm(Hk (Filt(Q)))) ≤ dGH (P, Q).

This theorem can be extended to point clouds in non-Euclidean metric


spaces, except for the alpha-shape filtration which is no longer defined. In
particular, to define the Vietoris-Rips complex, one just needs to know the
pairwise distances between the points. As the computation of the Gromov-
Hausdorff distance is usually intractable in practice, we can thus use the
persistence diagrams of the Vietoris-Rips filtrations to compare the topolog-
ical structure of finite data sets coming with pairwise distance information.
Thanks to Theorem 11.31, the bottleneck distance provides a discriminative
comparison tool: if the bottleneck distance between the diagrams is large, the
222 Homology Inference

two corresponding sets are far away from each other with respect to dGH .
The reverse is not true.

11.6 Exercises
Exercise 11.1 Let K be a finite simplicial complex. Prove that β0 (K) is equal
to the number of connected components of K.
Hint: Use the result of Exercise 2.1.
Exercise 11.2 Compute the Betti numbers of the simplicial complexes of
Figure 11.3.
Exercise 11.3 (Difficult) Let P be a finite set of points in R2 . Prove that for
any α ≥ 0
& &
d d
Rips(P, α) ⊆ Čech(P, α ) ⊆ Rips(P, 2α )
2(d + 1) 2(d + 1)
Hint: see [63], Theorem 2.5.
Exercise 11.4 Chains with coefficient in Z/2Z have an obvious geometric
interpretation: because any k-chain can be uniquely written as c = σi1 + σi2
+ · · · σim where the σij are k-simplices, c can be considered as the union of
the simplices σij . Show that the sum of two k-chains is equal to their symetric
difference 1 .
Exercise 11.5 Let P ⊂ Rd be a finite set of points. Prove that, for any r ≥ 0,
the Betti numbers βk (Pr ) of the r-offset Pr are finite.
Hint: Use the Nerve theorem.
Exercise 11.6 Let F be a filtration of a simplicial complex K. Prove that all
the vertices of K are positive and that an edge σ i is positive if and only if the
two ends (vertices) of σ i are in the same connected component of K i−1 .
Exercise 11.7 Let F be a filtration of a simplicial complex K.
1. Prove that any cycle in K contains at least one positive simplex.
2. Prove that the cycle associated to a positive simplex in lemma 11.14 is
uniquely defined.
Exercise 11.8 Let X be a (finitely) triangulated subset of Rd and let f : X →
R be a c-Lipschitz function, c > 0. Let Kf be the filtration induced by f on the
1
The symetric difference of two sets A and B is defined by AB = (A ∪ B)\(A ∩ B).
11.7 Bibliographical Notes 223

triangulation of X. Denoting by δ > 0 the largest diameter of the simplices of


the triangulation of X, prove that,
dB (dgm(Kf ), dgm(f )) ≤ cδ.

11.7 Bibliographical Notes


A detailed introduction to algebraic topology and simplicial and singular
homology can be found [110, 96].
The results of Section 11.4 are derived from [50] where complete proofs are
given.
Persistent homology has been independently introduced by different authors
[74, 83, 118] and has know important developments during the last decade. The
stability of persistence diagrams has been initially proven by [60] for tame
continuous functions defined on triangulable spaces. It was then extended and
generalized by [36] and [51] to a more algebraic framework that appeared of
fundamental importance in topological data analysis. An introductory course
to computational topology is provided in [72] and a recent and general
presentation of persistent homology theory is given in [114].
Theorem 11.31 is a particular case of a result proven in [43] and it has found
various applications in shape classification [37] and in statistical analysis of
data; see, e.g., [53, 79, 10, 44].
Bibliography

[1] N. Alon and J. H. Spencer. The Probabilistic Method. Wiley-Interscience,


New York, 2nd edition, 2008.
[2] N. Amenta and M. Bern. Surface reconstruction by Voronoi filtering. Discrete
Comp. Geom., 22(4):481–504, 1999.
[3] D. Attali, J.-D. Boissonnat, and H. Edelsbrunner. Stability and computation
of the medial axes. A State-of-the-Art Report. In T. Möller, B. Hamann,
and R. Russell, editors, Math. Foundations of Scientific Visualization, Comp.
Graphics, and Massive Data Exploration, volume 555 of Mathematics and
Vizualization, pages 109–125. Springer-Verlag, Berlin, Germany, 2009.
[4] D. Attali, H. Edelsbrunner, and Y. Mileyko. Weak witnesses for Delaunay trian-
gulations of submanifolds. In Proc. ACM Symp. Solid and Physical Modeling,
pages 143–150, 2007.
[5] D. Attali, A. Lieutier, and D. Salinas. Efficient data structure for representing
and simplifying simplicial complexes in high dimensions. Int. J. Comp. Geom.
Appl., 22(4):279–304, 2012.
[6] F. Aurenhammer. Power diagrams: Properties, algorithms and applications.
SIAM J. Comp., 16:78–96, 1987.
[7] F. Aurenhammer, R. Klein, and D.-T. Lee. Voronoi Diagrams and Delaunay
Triangulations. World Scientific, Singapore, 2013.
[8] M. Berger. Géométrie (vols. 1-5). Fernand Nathan, Paris, 1977.
[9] G. Biau, F. Chazal, D. Cohen-Steiner, L. Devroye, and C. Rodriguez. A weighted
k-nearest neighbor density estimate for geometric inference. Electronic J. Stat.,
5:204–237, 2011.
[10] A. J. Blumberg, I. Gal, M. A. Mandell, and M. Pancia. Robust statistics,
hypothesis testing, and confidence intervals for persistent homology on metric
measure spaces. Found. Comp. Math., 14(4):745–789, 2014.
[11] J.-D. Boissonnat, C. S. Karthik, and S. Tavenas. Building efficient and compact
data structures for simplicial complexes. Algorithmica, Vol. 79, No 2, 2017.
[12] J.-D. Boissonnat, O. Devillers, S. Pion, M. Teillaud, and M. Yvinec. Triangula-
tions in CGAL. Comp. Geom. Theory Appl., 22:5–19, 2002.
[13] J.-D. Boissonnat, R. Dyer, and A. Ghosh. Delaunay stability via perturbations.
Int. J. Comp. Geom. Appl., 24(2):125–152, 2014.
224
Bibliography 225

[14] J.-D. Boissonnat, R. Dyer, and A. Ghosh. The Stability of Delaunay Triangula-
tions. Int. J. Comp. Geom. Appl., 23(4 & 5):303–333, 2014.
[15] J.-D. Boissonnat, R. Dyer, and A. Ghosh. A probabilistic approach to reducing
algebraic complexity of Delaunay triangulations. In Proc. 23rd European Symp.
on Algorithms, Patras, Greece, pages 595–606, September 2015.
[16] J.-D. Boissonnat, R. Dyer, A. Ghosh, and M. Wintraecken. Local criteria
for triangulation of manifolds. In Proc. 34st Symp. Comp. Geom., Budapest,
Hungary, June 2018.
[17] J.-D. Boissonnat and J. Flötotto. A coordinate system associated with points
scattered on a surface. Comp.-Aid. Des., 36:161–174, 2004.
[18] J-D. Boissonnat and A. Ghosh. Manifold reconstruction using tangential
Delaunay complexes. Discrete & Comp. Geom., 51(1):221–267, 2014.
[19] J.-D. Boissonnat, A. Lieutier, and M. Wintraecken. The reach, metric distortion,
geodesic convexity and the variation of tangent spaces. In Proc. 34st Symp.
Comp. Geom., Budapest, Hungary, June 2018.
[20] J.-D. Boissonnat and C. Maria. The simplex tree: An efficient data structure for
general simplicial complexes. Algorithmica, 70(3):406–427, November 2014.
[21] J.-D. Boissonnat, F. Nielsen, and R. Nock. Bregman Voronoi diagrams. Discrete
Comp. Geom., 44(2), 2010.
[22] J.-D. Boissonnat and S. Oudot. Provably good sampling and meshing of surfaces.
Graphical Models, 67:405–451, 2005.
[23] J.-D. Boissonnat, C. Wormser, and M. Yvinec. Curved Voronoi diagrams.
In J.-D. Boissonnat and M. Teillaud, editors, Effective Computational Geom-
etry for Curves and Surfaces, pages 67–116. Mathematics and Visualization.
Springer-Verlag, Berlin, 2006.
[24] J.-D. Boissonnat, C. Wormser, and M. Yvinec. Anisotropic Delaunay mesh
generation. SIAM J. Comput., 44(2):467–512, 2015.
[25] J.-D. Boissonnat and M. Yvinec. Algorithmic Geometry. Cambridge University
Press, New York, NY, 1998. Translated by Hervé Brönnimann.
[26] J.-D. Boissonnat, O. Devillers, K. Dutta, and M. Glisse. Delaunay triangulation
of a random sample of a good sample has linear size. Technical report, Inria,
2018.
[27] J.-D. Boissonnat, R. Dyer, and A. Ghosh. Delaunay triangulation of manifolds.
Found. Comp. Math., 18(2):399–431, 2018.
[28] F. Bolley, A. Guillin, and C. Villani. Quantitative concentration inequalities
for empirical measures on non-compact spaces. Probab. Theory Rel., 137(3):
541–593, 2007.
[29] M. Buchet, F. Chazal, S. Y. Oudot, and D. R. Sheehy. Efficient and robust
persistent homology for measures. In Proc. 36th ACM-SIAM Symp. on Discrete
Algorithms, pages 168–180. SIAM, 2015.
[30] D. Burago, Y. Burago, and S. Ivanov. A Course in Metric Geometry, Volume 33
of Grad. Studies in Math. American Mathematical Society, Providence, RI,
2001.
[31] C. Caillerie, F. Chazal, J. Dedecker, and B. Michel. Deconvolution for the
Wasserstein metric and geometric inference. Electron. J. Stat., 5:1394–1423,
2011.
226 Bibliography

[32] S. S. Cairns. A simple triangulation method for smooth maniolds. Bull. Amer.
Math. Soc., 67:380–390, 1961.
[33] P. B. Callahan and S. R. Kosaraju. A decomposition of multidimensional point
sets with applications to k-nearest-neighbors and n-body potential fields. J. ACM,
42(1):67–90, 1995.
[34] P. Cannarsa and C. Cinestrari. Semiconcave Functions, Hamilton-Jacobi
Equations, and Optimal Control, volume 58. Brikhauser, Boston, 2004.
[35] R. Chaine. A geometric convection approach of 3d-reconstruction. In 1st Symp.
Geom. Processing, pages 218–229, 2003.
[36] F. Chazal, D. Cohen-Steiner, M. Glisse, L. J. Guibas, and S. Y. Oudot. Proximity
of persistence modules and their diagrams. In Proc. Comp. Geom., Aarhus,
Denmark, pages 237–246, 2009.
[37] F. Chazal, D. Cohen-Steiner, L. J. Guibas, F. Memoli, and S. Y. Oudot. Gromov-
Hausdorff stable signatures for shapes using persistence. Comp. Graph. Forum,
pages 1393–1403, 2009.
[38] F. Chazal, D. Cohen-Steiner, and A. Lieutier. Normal cone approximation and
offset shape isotopy. Comp. Geom. Theory Appl., 42(6–7):566–581, 2009.
[39] F. Chazal, D. Cohen-Steiner, and A. Lieutier. A sampling theory for compact
sets in euclidean space. Discrete Comp. Geom., 41(3):461–479, 2009.
[40] F. Chazal, D. Cohen-Steiner, A. Lieutier, and B. Thibert. Shape smoothing using
double offsets. In Proc. ACM Solid Phy. Model., Beijing, China, pages 183–192,
2007.
[41] F. Chazal, D. Cohen-Steiner, A. Lieutier, and B. Thibert. Stability of curvature
measures. Comp. Graph. Forum, pages 1485–1496, 2009.
[42] F. Chazal, D. Cohen-Steiner, and Q. Mérigot. Geometric inference for probabil-
ity measures. Found. Comp. Math., 11(6):733–751, 2011.
[43] F. Chazal, V. de Silva, and S. Oudot. Persistence stability for geometric
complexes. Geometriae Dedicata, 173(1):193–214, 2014.
[44] F. Chazal, B. Fasy, F. Lecci, B. Michel, A. Rinaldo, and L. Wasserman.
Subsampling methods for persistent homology. In D. Blei and F. Bach, editors,
Proc. 32nd Int. Conf. on Machine Learning, pages 2143–2151. JMLR Workshop
and Conference Proceedings, Lille, France, 2015.
[45] F. Chazal, B. T. Fasy, F. Lecci, B. Michel, A. Rinaldo, and L. Wasserman. Robust
topological inference: Distance to a measure and kernel distance. arXiv preprint
arXiv:1412.7197 (to appear in JMLR), 2014.
[46] F. Chazal and A. Lieutier. The λ-medial axis. Graphical Models, 67(4):304–331,
July 2005.
[47] F. Chazal and A. Lieutier. Weak feature size and persistent homology:
Computing homology of solids in Rn from noisy data samples. In Proc. 21st
Symp. Comp. Geom., Pisa, Italy, pages 255–262, 2005.
[48] F. Chazal and A. Lieutier. Stability and computation of topological invariants of
solids in Rn . Discrete Comp. Geom., 37(4):601–617, 2007.
[49] F. Chazal, P. Massart, and B. Michel. Rates of convergence for robust geometric
inference. Electron. J. Stat., 10(2):2243–2286, 2016.
[50] F. Chazal and S. Y. Oudot. Towards persistence-based reconstruction in
Euclidean spaces. In Proc. 24th Sympos. Comp. Geom., pages 232–241, 2008.
Bibliography 227

[51] Frédéric Chazal, Vin de Silva, Marc Glisse, and Steve Oudot. The structure
and stability of persistence modules. Springer Briefs in Mathematics. Springer,
Basel, 2016.
[52] B. Chazelle. An optimal convex hull algorithm in any fixed dimension. Discrete
Comp. Geom., 10:377–409, 1993.
[53] F. Chazal, M. Glisse, C. Labruère, and B. Michel. Convergence rates for
persistence diagram estimation in topological data analysis. J. Mach. Learn.
Res., 16:3603–3635, 2015.
[54] J. Cheeger. Critical points of distance functions and applications to geometry. In
Geometric Topology: Recent developments, Montecani Terme, volume 1504 of
Lecture Notes in Math., pages 1–38. Springer, Basel, 1990.
[55] J. Cheeger, W. Müller, and R. Schrader. On the curvature of piecewise flat spaces.
Comm. Math. Phys., 92:405–454, 1984.
[56] S.-W. Cheng, T. K. Dey, H. Edelsbrunner, M. A. Facello, and S.-H. Teng. Sliver
Exudation. J. ACM, 47:883–904, 2000.
[57] S.-W. Cheng, T. K. Dey, and E. A. Ramos. Manifold Reconstruction from
Point Samples. In Proc. 16th ACM-SIAM Symp. Discrete Algorithms, Vancouver,
Canada, pages 1018–1027, 2005.
[58] F. H. Clarke. Optimization and Nonsmooth Analysis. Wiley-Interscience,
New-York, 1983.
[59] K. L. Clarkson and P. W. Shor. Applications of random sampling in computa-
tional geometry, II. Discrete Comp. Geom., 4:387–421, 1989.
[60] D. Cohen-Steiner, H. Edelsbrunner, and J. Harer. Stability of persistence
diagrams. Discrete Comp. Geom., 37(1):103–120, 2007.
[61] M. de Berg, M. van Kreveld, M. Overmars, and O. Schwarzkopf. Computational
Geometry: Algorithms and Applications, 2nd edition. Springer-Verlag, Berlin,
Germany, 2000.
[62] V. de Silva. A weak characterisation of the Delaunay triangulation. Geometriae
Dedicata, 135(1):39–64, 2008.
[63] V. de Silva and R. Ghrist. Coverage in sensor networks via persistent homology.
Algebraic & Geom. Topol., 7:339–358, 2007.
[64] B. Delaunay. Sur la sphère vide. Izv. Akad. Nauk SSSR, Otdelenie Matematich-
eskii i Estestvennyka Nauk, 7:793–800, 1934.
[65] T. K. Dey. Curve and Surface Reconstruction: Algorithms with Mathematical
Analysis. Cambridge University Press, New York NY, 2007.
[66] R. Dyer, G. Vegter, and M. Wintraecken. Riemannian simplices and triangula-
tions. Geometriae Dedicata, 179:91–138, 2015.
[67] H. Edelsbrunner. Algorithms in Combinatorial Geometry, volume 10 of EATCS
Monographs on Theoretical Comp. Science. Springer-Verlag, Heidelberg, West
Germany, 1987.
[68] H. Edelsbrunner. The union of balls and its dual shape. Discrete Comp. Geom.,
13(1):415–440, 1995.
[69] H. Edelsbrunner. Geometry and Topology for Mesh Generation. Cambridge
University Press, Cambridge, 2001.
[70] H. Edelsbrunner. Surface reconstruction by wrapping finite point sets in space.
In B. Aronov, S. Basu, J. Pach, M. Sharir (Eds.), Ricky Pollack and Eli Goodman
Festschrift, pages 379–404. Springer-Verlag, Berlin, 2003.
228 Bibliography

[71] H. Edelsbrunner, M. Facello, and J. Liang. On the definition and the construction
of pockets in macromolecules. Discrete Appl. Math., 88(1-3):83–102, 1998.
[72] H. Edelsbrunner and J. L. Harer. Computational Topology: An Introduction.
American Mathematical Soc., Providence, RI, 2010.
[73] H. Edelsbrunner, D. Kirkpatrick, and R. Seidel. On the shape of a set of points
in the plane. IEEE Trans. on Inform. Theory, 29(4):551–559, 1983.
[74] H. Edelsbrunner, D. Letscher, and A. Zomorodian. Topological persistence and
simplification. Discrete Comp. Geom., 28:511–533, 2002.
[75] H. Edelsbrunner, X.-Y. Li, G. L. Miller, A. Stathopoulos, D. Talmor, S.-H. Teng,
A. Üngör, and N. Walkington. Smoothing and cleaning up slivers. In Proc. 32nd
ACM Symp. on Theory of Comput., May 21–23, 2000, Portland, OR, pages
273–277, 2000.
[76] H. Edelsbrunner and E. P. Mücke. Three-dimensional alpha shapes. ACM Trans.
Graph., 13(1):43–72, 1994.
[77] H. Edelsbrunner and H. Wagner. Topological data analysis with Bregman
divergences. In 33rd Symp. Comp. Geom, pages 39:1–39:16, Brisbane, Australia,
July 2017.
[78] D. Eppstein, M. Löffler, and D. Strash. Listing all maximal cliques in sparse
graphs in near-optimal time. In Proc. 21st Int. Symp. on Algorithms and
Computation, Jeju Island, Korea, December 15–17, pages 403–414, 2010.
[79] B. T. Fasy, F. Lecci, A. Rinaldo, L. Wasserman, S. Balakrishnan, A. Singh, et al.
Confidence sets for persistence diagrams. Ann. Stat., 42(6):2301–2339, 2014.
[80] T. Feder and D. Greene. Optimal algorithms for approximate clustering. In Proc.
of 20th ACM Sympos. Theory of Computing, pages 434–444, New York, NY,
1988. ACM.
[81] H. Federer. Curvature measures. Trans. American Math. Society, 93(3):418–491,
1959.
[82] D. Freedman. Efficient simplicial reconstructions of manifolds from their
samples. IEEE Trans. on Pattern Analysis and Machine Intelligence, 24(10):
1349–1357, 2002.
[83] P. Frosini and C. Landi. Size theory as a topological tool for computer vision.
Pattern Recognition and Image Analysis, 9:596–603, 1999.
[84] J. H. G. Fu. Convergence of curvatures in secant approximations. J. Diff. Geom.,
37:177–190, 1993.
[85] J. H. G. Fu. Tubular neighborhoods in Euclidean spaces. Duke Math. J.,
52(4):1025–1046, 1985.
[86] W. Fulton. Algebraic Topology: A First Course. Springer-Verlag, New York,
1995.
[87] J. Gallier. Notes on convex sets, polytopes, polyhedra combinatorial topology,
Voronoi diagrams and Delaunay triangulations. Research Report RR-6379, Inria,
2007.
[88] S. Gallot, D. Hulin, and J. Lafontaine. Riemannian Geometry. Springer-Verlag,
Berlin Heidelberg, 1990.
[89] J. Giesen and M. John. The flow complex: a data structure for geometric
modeling. In Proc. 14th ACM-SIAM Symp. Discrete Algorithms (SODA), pages
285–294, 2003.
Bibliography 229

[90] J. Giesen and U. Wagner. Shape dimension and intrinsic metric from samples of
manifolds. Discrete Comp. Geom., 32:245–267, 2004.
[91] T. F. Gonzales. Clustering to minimize the maximaum intercluster distance.
Theoretical Comp. Science, 38(2-3):293–306, 1985.
[92] K. Grove. Critical point theory for distance functions. In Proceedings of
Symposia in Pure Mathematics, American Mathematical Society, Providence,
RI, volume 54, 1993. Part 3.
[93] L. Guibas, D. Morozov, and Q. Mérigot. Witnessed k-distance. Discrete Comp.
Geom., 49(1):22–45, 2013.
[94] S. Har-Peled. Geometric approximation algorithms, volume 173. American
Mathematical Society, Providence, RI, 2011.
[95] S. Har-Peled and M. Mendel. Fast construction of nets in low-dimensional
metrics and their applications. SIAM J. Comp., 35(5):1148–1184, 2006.
[96] A. Hatcher. Algebraic Topology. Cambridge University Press, Cambridge, UK,
2002.
[97] M. W. Hirsch. Differential Topology. Springer-Verlag, New York, NY, 1976.
[98] I. T. Jolliffe. Principal Component Analysis. Springer, New York, 2002.
[99] X.-Y. Li. Generating well-shaped d-dimensional Delaunay meshes. Theor.
Comp. Science, 296(1):145–165, 2003.
[100] J. Liang, H. Edelsbrunner, and C. Woodward. Anatomy of protein pockets and
cavities: Measurement of binding site geometry and implications for ligand
design. Prot. Sci., 7:1884–1897, 1998.
[101] A. Lieutier. Any open bounded subset of Rn has the same homotopy type as it
medial axis. Comp.-Aid. Design, 36(11):1029–1046, September 2004.
[102] Y. Ma, P. Niyogi, G. Sapiro, and R. Vidal Ed. Dimensionality reduction via
subspace and submanifold learning. IEEE Sig. Process. Mag., 28(2), 2011.
[103] C. Maria, J.-D. Boissonnat, M. Glisse, and M. Yvinec. The Gudhi Library:
Simplicial complexes and persistent homology. In The 4th Int. Congress on
Math. Software, Hanyang University, Seoul, Korea, France, August 2014.
[104] T. Martinetz and K. Schulten. Topology representing networks. Neural Net-
works, 7(3):507–522, 1994.
[105] J. Milnor. Morse Theory. Princeton University Press, Princeton, NJ, 2006.
[106] R. A. Moser and G. Tardos. A constructive proof of the generalized Lovász
lemma. J. ACM, 57(2), 2010.
[107] R. Motwani and P. Raghavan. Randomized Algorithms. Cambridge University
Press, New York, NY, 1995.
[108] K. Mulmuley. Computational Geometry: An Introduction through Randomized
Algorithms. Prentice Hall, Englewood Cliffs, NJ, 1994.
[109] J. R. Munkres. Elementary Differential Topology. Princeton University Press,
Princeton, NJ, 1966.
[110] J. R. Munkres. Elements of Algebraic Topology. Addison-Wesley, Redwood City,
CA, 1984.
[111] J. R. Munkres. Topology. Prentice Hall, Upper Saddle River, NJ, 2000.
[112] P. Niyogi, S. Smale, and S. Weinberger. Finding the homology of submanifolds
with high confidence from random samples. Discrete Comp. Geom., 39(1):
419–441, 2008.
230 Bibliography

[113] A. Okabe, B. Boots, and K. Sugihara. Spatial Tessellations: Concepts and


Applications of Voronoi Diagrams. John Wiley & Sons, Chichester, UK, 1992.
[114] S. Y. Oudot. Persistence Theory: From Quiver Representations to Data Analysis,
volume 209 of AMS Mathematical Surveys and Monographs. American Mathe-
matical Society, Providence, RI, 2015.
[115] D. Pedoe. Geometry, A Comprehensive Course. Dover Publications, New York,
1970.
[116] S. Peleg, M. Werman, and H. Rom. A unified approach to the change of
resolution: Space and gray-level. IEEE Trans. Pattern Anal. Mach. Intell.,
11(7):739–742, 1989.
[117] A. Petrunin. Semiconcave functions in alexandrov’s geometry. In Surveys in
Differential Geometry: Metric and Comparison Geometry, volume XI, Boston,
2007. Internationational Press of Boston.
[118] V. Robins. Towards computing homology from finite approximations. Topol.
Proceed., 24:503–532, 1999.
[119] R. T. Rockafellar. Convex Analysis. Princeton University Press, Princeton, NJ,
1970.
[120] Y. Rubner, C. Tomasi, and L. J. Guibas. The earth mover’s distance as a metric
for image retrieval. Int. J. Comp. Vision, 40(2):99–121, 2000.
[121] R. Seidel. The upper bound theorem for polytopes: An easy proof of its
asymptotic version. Comp. Geom. Theory Appl., 5:115–116, 1995.
[122] J. Shewchuk. Star splaying: An algorithm for repairing delaunay triangulations
and convex hulls. In Proc. 21st Symp. on Comp. Geom., pages 237–246, 2005.
[123] R. Sibson. A vector identity for the Dirichlet tesselation. Math. Proc. Camb. Phil.
Soc., 87:151–155, 1980.
[124] R. Sibson. A brief description of natural neighbour interpolation. In Vic Barnet,
editor, Interpreting Multivariate Data, pages 21–36. John Wiley & Sons,
Chichester, 1981.
[125] J. Spencer. Robin Moser makes Lovász Local Lemma Algorithmic! https://www
.cs.nyu.edu/spencer/moserlovasz1.pdf, 2009.
[126] The GUDHI Project. GUDHI User and Reference Manual. GUDHI Editorial
Board, 2015.
[127] L. N. Trefethen and D. Bau. Numerical Linear Algebra. Society for Industrial
and Applied Mathematics, 1997.
[128] C. Villani. Topics in Optimal Transportation. American Mathematical Society,
Providence, RI, 2003.
[129] E. Welzl. Smallest enclosing disks (balls and ellipsoids). In H. Maurer, editor,
New Results and New Trends in Comp. Science, volume 555 of Lecture Notes
Comp. Sci., pages 359–370. Springer-Verlag, Berlin, 1991.
[130] J. H. C. Whitehead. On C1 -complexes. Ann. Math., 41:809–824, 1940.
[131] H. Whitney. Geometric Integration Theory. Princeton University Press, Prince-
ton, NJ, 1957.
[132] G. M. Ziegler. Lectures on Polytopes, volume 152 of Graduate Texts in Mathe-
matics. Springer-Verlag, Heidelberg, 1994.
Index

ε-correspondence, 221 μ-critical point, 169


(κ, μ)-approximation, 176 of distance function, 166
cycle, 199
adjacency graph, 17, 19
affine diagrams, 57 deformation retract, 7
affinely independent, 10
Delaunay
alpha complex, 99, 138
ball, 48
altitude, 78
complex, 48
Betti number, 200 filtration, 100
persistent, 211 tangential complex, 142
boundary, 3 triangulation, 49, 52
boundary operator, 199 dense sample, 70
Bregman diameter, 78
complex, 61 diffeomorphism, 115
diagram, 59, 60 distance
divergence, 59 bottleneck, 215
Euclidean distance, 4
Čech complex, 15 Gromov-Hausdorff, 221
cell complex, 26, 46 Hausdorff, 8
chain complex, 199
Wasserstein, 186
closure, 3
weighted distance, 52
combinatorial manifold, 17
distance function, 164
compact space, 4
distance-like function, 181
connected space, 4
contractible space, 6 distance-to-measure, 187
convex polyhedron, 25 distortion, 121
convex polytope, 23 dual complexes, 28
boundary complex, 26
face, 24 embedding, 5
supporting hyperplane, 24 natural embedding, 13
cover, 13 empty ball property, 48, 99
good cover, 14 Euclidean space, 4
critical function, 173
critical point filtration, 14
α-critical point, 182 flake, 84

231
232 Index

Gabriel simplex, 101 persistence diagram, 215


general position, 25 persistence module, 216
general position wrt spheres, 49 homomorphism, 217
geometric realization, 12 interleaving, 217
persistent pair, 212
Hasse diagram, 18 polytope, 23
homeomorphism, 5 protection, 92
homologous, 200 δ-protected, 92
homology group δ-protection center, 92
simplicial, 200 pseudo-inverse, 78
singular, 203
homotopy, 6 q-tameness, 216
homotopy equivalence, 6 function, 218

isomorphism reach, 117, 175


of simplicial complexes, 12 α-reach, 182
isotopy μ-reach, 175
ambient, 5 reconstruction
lemma, 167, 182 distance-like functions, 183
homotopy, 138
Kullback-Leibler isotopic, 176
divergence, 60 submanifold, 149
restriction, 71
Legendre duality, 62
sampling radius, 70
link, 16
semiconcave, 180
lower envelope, 45
separation ratio, 70
lower hull, 28
simplex, 10
adjacent, 18
maximization diagram, 45, 53
boundary, 198
measure
incident, 18
Borel, 184
positive, negative, 203
Dirac, 184
tree, 18
empirical, 184
simplicial chain, 198
probability, 184
simplicial complex, 11
submeasure, 189 abstract, 12
support, 184 boundary complex, 17
uniform, 184 dimension of, 11
medial axis, 116 pure, 17
medial ball, 116 simplicial polytope, 25
metric space, 4 singular value, 78
discrete metric space, 75 skeleton, 11
Euclidean space, 4 space
minimization diagram, 45, 53 compact, 4
Moser Tardos algorithm, 150 connected, 4
contractible, 6
nerve, 13 discrete metric space, 75
Nerve Theorem, 13 path connected, 4
net, 70, 119 underlying, 11
(ε, η̄)-net, 70 star, 16
subcomplex, 11
offset, 8, 164 submanifold, 115
Index 233

tangent space, 116 Vietoris-Rips complex, 15


tangential complex, 142 Voronoi
thickness, 78 k-order diagram, 57
topological cell, 45
ball, 5 diagram, 45
invariant, 7
space, 3 weak feature size, 168, 182
topological space weighted
triangulation, 17, 126 center, 83
topology, 3 distance, 52
induced, 3 orthogonal weighted points, 83
metric, 4 point, 52
transport plan, 185 radius, 83
triangulation weighted α-complex, 102
of a point set, 17 weighted α-shape, 102
of a topological space, 17, 126 weighted Delaunay
tubular neighborhood complex, 54
see offset, 8 triangulation, 56
weighted Voronoi
upper bound theorem, 29 cell, 53
upper envelope, 28, 45, 53 diagram, 53
weighting scheme, 82, 150
vertex, 10 witness complex, 105
scheme, 12 relaxed witness complex, 109

You might also like