To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
My goal in this book is to enable a non-specialist to grasp and participate in current research in computational topology. Therefore, this book is not a compilation of recent advances in the area. Rather, the book presents basic mathematical concepts from a computer scientist's point of view, focusing on computational challenges and introducing algorithms and data structures when appropriate. The book also incorporates several recent results from my doctoral dissertation and subsequent related results in computational topology.
The primary motivation for this book is the significance and utility of topological concepts in solving problems in computer science. These problems arise naturally in computational geometry, graphics, robotics, structural biology, and chemistry. Often, the questions themselves have been known and considered by topologists. Unfortunately, there are many barriers to interaction:
Computer scientists do not know the language of topologists. Topology, unlike geometry, is not a required subject in high school mathematics and is almost never dealt with in undergraduate computer science. The axiomatic nature of topology further compounds the problem as it generates cryptic and esoteric terminology that makes the field unintelligible and inaccessible to non-topologists.
Topology can be very unintuitive and enigmatic and therefore can appear very complicated and mystifying, often frightening away interested computer scientists.
In Chapter 6, we discussed a topological invariant called the linking number and extended this invariant to simplicial complexes. In this chapter, we provide data structures and algorithms for computing the linking numbers of a filtration, using the canonical cycles and manifolds generated by the persistence algorithm. After motivating this computation, we describe the data structures and algorithms. We end this chapter by discussing an alternate definition of the linking number that may be helpful in understanding the topology of molecular structures.
Motivation
In the 1980s, it was shown that DNA, the molecular structure of the genetic code of all living organisms, can become knotted during replication (Adams, 1994). This finding initiated interest in knot theory among biologists and chemists for the detection, synthesis, and analysis of knotted molecules (Flapan, 2000). The impetus for this research is that molecules with nontrivial topological attributes often display exotic chemistry. Such attributes have been observed in currently known proteins. Taylor recently discovered a figure-of-eight knot in the structure of a plant protein by examining 3,440 proteins using a computer program (Taylor, 2000). Moreover, chemical self-assembly units are being used to create catenanes, chains of interlocking molecular rings, and rotaxanes, cyclic molecules threaded by linear molecules.
The goal of this chapter is to identify and describe a feasible combinatorial method for computing topology. I use the word “feasible” in a computational sense: We need a method that will provide us with fast implementable algorithms. Our method of choice will be simplicial homology, which complements our representation of spaces in simplicial form. Homology utilizes finitely generated Abelian groups for describing the topology of spaces. Fortunately, we fully understand the structure of these groups from Chapter 3. We may now define homology easily, and even venture confidently into some advanced topics.
But first, I need to justify the choice of homology, which is weaker than both forms of topological classification we have seen earlier. I do so in the first section of this chapter. I devote the next section to the definition of simplicial homology, a quick history of the proof of its invariance, and the relationship of homology and the Euler characteristic. In the final section, I examine the Universal Coefficient Theorem in order to develop a faster procedure for computing the topology of subcomplexes of ℝ3.
I borrow heavily from Hatcher (2001) and Munkres (1984) for the content of this chapter. I am also influenced by great introductory books in algebraic topology, including Giblin (1981), Henle (1997), and, my first encounter with the subject, Massey (1991).
Having examined the structure of the input to our computations in the last chapter, we now turn to developing the machinery we need for characterizing the topology of spaces. Recall that we are interested in classification systems. Group theory provides us with powerful tools to define equivalence relations using homomorphisms and factor groups. In the next chapter, we shall utilize these tools to define homology, a topological classification system. Unlike homeomorphy and homotopy, homology is discrete by nature. As such, it is the basis for my work.
The rest of this chapter is organized as follows. In Section 3.1, I will introduce groups. I devote Section 3.2 to developing techniques for characterizing a specific type of groups: finitely generated Abelian groups. In Section 3.3, I examine advanced algebraic structures in order to generalize the result from the previous section.
Abstract algebra is beautifully lucid by its axiomatic nature, capturing familiar concepts from arithmetic. The plethora of arcane terms, however, often makes the field inscrutable to nonspecialists. My goal is to make the subject thoroughly accessible by not leaving anything obscure. Consequently, there is a lot of ground to cover in this chapter. My treatment is derived mostly from the excellent introductory book on abstract algebra by Fraleigh (1989), which also contains the proofs to most of the theorems stated in this chapter. I used Dummit and Foote (1999) for the advanced topics.
This chapter concludes the first part of this book by introducing the nonalgorithmic aspects of some of the recent results in computational topology. In Chapter 1, we established the primary goal of this book: the computational exploration of topological spaces. Having laid the mathematical foundation required for this study in the previous four chapters, we now take steps toward this goal through
persistence;
hierarchical Morse-Smale complexes;
and the linking number for simplicial complexes.
The three sections of this chapter elaborate on these topics. In Section 6.1, we introduce a new measure of importance for topological attributes called persistence. Persistence is simple, immediate, and natural. Perhaps precisely because of its naturalness, this concept is powerful and applicable in numerous areas, as we shall see in Chapter 13. Primarily, persistence enables us to simplify spaces topologically. The meaning of this simplification, however, changes according to context. For example, topological simplification of Morse-Smale complexes corresponds to geometric smoothing of the associated function. To apply persistence to sampled density functions, we extend Morse-Smale complexes to piece-wise linear (PL) manifolds in Section 6.2. This extension will allow us to construct hierarchical PL Morse-Smale complexes, providing us with an intelligent method for noise reduction in sampled data.
In the last two chapters, we studied combinatorial methods for describing the topology of a space. One reason for our interest in understanding topology is topological simplification: removing topological “noise,” using a measure that defines what “noise” is. But as we saw in Section 1.2.3, the geometry and topology of a space are intricately related, and modifying one may modify the other. We need to understand this relationship in order to develop intelligent methods for topological simplification. Morse theory provides us with a complete analysis of this relationship when the geometry of the space is given by a function. The theory identifies points at which level-sets of the function undergo topological changes and relates these points via a complex. The theory is defined, however, on smooth domains, requiring us to take a radical departure from our combinatorial focus. We need these differential concepts to guide our development of methods for nonsmooth domains. Our exposition of Morse theory, consequently, will not be as thorough and axiomatic as the accounts in the last two chapters. Rather, we rely on the reader's familiarity with elementary calculus to focus on the concepts we need for analyzing 2-manifolds in ℝ3.
We begin this chapter by extending some ideas from calculus to manifolds in Sections 5.1 and 5.2.
In Chapter 6, we motivated the definition of persistence by the need for intelligent methods for topological simplification. In this chapter, we look at algorithms for simplifying a space topologically, using persistence as a measure. We begin by reviewing prior work and formalizing a notion of topological simplification within the framework of filtrations in Section 8.1. We then look at a simple algorithm for computing persistent Betti numbers, which motivates the reordering algorithms for simplification in Section 8.2. There are conflicts, however, between the goals established for simplification. We formalize these conflicts, and discuss their resolution or diminution in Section 8.3. To view the entire persistent history of a filtration, we develop color maps in Section 8.4. We end this chapter with visualizations of simplified complexes.
Motivation
Topological issues arise in surface reconstruction and mesh optimization. Surface reconstruction is, by itself, a topological question, but it is often addressed with geometric methods. Consequently, fast ad-hoc heuristics for surface reconstruction usually give rise to defective surfaces, requiring hole-filling or filtering as a post-processing step (Curless and Levoy, 1996; Turk and Levoy, 1994). Furthermore, surface modification methods such as decimation, refinement, thickening, and smoothing may cause changes in the surface's topology. We gave an example of this connection in the discussion in Section 1.2.3 in relation to surface decimation.
In this chapter, we describe the input to all of the algorithms described in this book, and the process by which such input is generated. We begin by formalizing the kind of spaces that we are interested in exploring. Then, we introduce the primary approach used for computing topology: growing a space incrementally and analyzing the history of its growth. Naturally, the knowledge we derive from this approach is only as meaningful as the growth process. So, we let the geometry of our space dictate the growth model. In this fashion, we encode geometry into an otherwise topological history. The geometry of our space controls the placement of topological events within this history and, consequently, the life-span of topological attributes. The main assumption of this method is that longevity is equivalent to significance. This approach of exploring the relationship between geometry and topology is not new. It is the hallmark of Morse theory (Milnor, 1963), which we will study in more detail in Chapter 5.
The rest of the chapter describes the process outlined in Figure 2.1. We begin with a formal description of topological spaces. We then describe two types of such spaces, manifolds and simplicial complexes, in the next two sections.
The focus of this book is capturing and understanding the topological properties of spaces. To do so, we use methods derived from exploring the relationship between geometry and topology. In this chapter, I will motivate this approach by explaining what spaces are, how they arise in many fields of inquiry, and why we are interested in their properties. I will then introduce new theoretical methods for rigorously analyzing topologies of spaces. These methods are grounded in homology and Morse theory, and generalize to high-dimensional spaces. In addition, the methods are robust and fast, and therefore practical from a computational point of view. Having introduced the methods, I end this chapter by discussing the organization of the rest of the book.
Spaces
Let us begin with a discussion of spaces. A space is a set of points as shown in Figure 1.1(a). We cannot define what a set is, other than accepting it as a primitive notion. Intuitively, we think of a set as a collection or conglomeration of objects. In the case of a space, these objects are points, yet another primitive notion in mathematics. The concept of a space is too weak to be interesting, as it lacks structure.
I devote this chapter to a brief description of the implementation of some of the algorithms in Part Two. After discussing the programming methodology, I give an overview of the organization of the code and sketch some of the fundamental data structures. Finally, I introduce a software program, CView, for viewing persistent simplicial complexes, homology cycles and their manifolds, and Morse complexes of grid data.
Methodology
Computer science solves problems by translating them into the language of very fast machines. We could claim that fast programs are the primary goal of this field. Fast software enables a user to quickly scrutinize a problem, observe patterns, gather data, and conjecture. There are two components to fast software: efficient data structures and algorithms, grounded in theory, and lean implementations, tailored to computer architectures. Knuth observes that “the best theory is inspired by practice, and the best practice is inspired by theory (Knuth, 1996).” I apply this observation not only to my work in general, but also to implementations in particular. The theory of practice in computer science has provided numerous abstractions to tackle the complexity of programming, from high-level languages, compilers, and interpreters, to the recent advent of “patterns.” Most of these abstractions, however, depend on extra levels of indirection, consume memory for the services they provide, and yield bloated and slow programs.
In this chapter, we sample some of the potential applications of topology to problems in disparate scientific domains. Some of these questions motivated the theoretical concepts in this book to begin with, so it is reasonable to scrutinize the applicability of the work by revisiting the questions. I am not an expert in any of these domains. Rather, my objective is to demonstrate the utility of the theory, algorithms, and software by giving a few illustrative examples. My hope is that researchers in the fields will find these examples instructive and inspiring, and utilize the tools I have developed for scientific inquiry. Applied work is an on-going process by nature, so I present both current and future work in this chapter, including nonapplied future directions.
Computational Structural Biology
The field of computational structural biology explores the structural properties of molecules using combinatorial and numerical algorithms on computers. The initial impetus for the work in this book was understanding the topologies of proteins through homology. In this section, I look at three applications of my work to structural biology: feature detection, knot detection, and structure determination.
Topological Feature Detection
In Chapter 6, the small protein gramicidin A motivated our study of persistence, as we were incapable of differentiating between noise and feature in the data captured by homology.