Computational Topology
Project IV (MATH4072)
Project IV (MATH4072)
Jeffrey Giansiracusa - email: jeffrey.giansiracusa@durham.ac.uk
Much of topology is concerned with reasoning about abstract shapes such as cell complexes, manifolds, and knots, and one of the main things we do with them is compute invariants such as connected components, the fundamental group, and homology.
Over the past decade many people have started to realize that the abstract mathematical tools of topology can have interesting and important things to say about data science! Data sets sometimes come with complicated topological and geometric structure, and understanding this structure can lead to insights about the data and the process that might have generated it. There have been fascinating applications across many disciplines, including neuroscience, physics, finance, materials science, politics, and many more.
Working with data means that we need computer algorithms capable of manipulating topological objects and computing their invariants. But the subject is not all about appications. Applications have inspired new invariants that can also be interesting to study from a purely theoretical perspective.
This project will start with the basics of how topological objects can be constructed and represented in computers. The fundamental objects are simplicial complexes and open covers. Then we will look at some of the key concepts of computational topology, such as Vietoris-Rips and Alpha compelexes, the Mapper algorithm, and persistent homology. The project can either go in a theoretical direction by focussing on the abstract properties of these objects, or an applied direction by working with Python software and real data sets.
This project is flexible in its mode of operation. We will begin with reading books and research papers to gain an understanding of the foundations of the subject. As we progress further, students can individually choose either to go deeper in the reading with explorations of theoretical aspects or applications in published papers. or to focus on computational aspects that involve writing code and working with data, or a mixture of these two modes.
Evidence of learning will depend entirely on which mode your pursue. For a reading-based approach, the evidence of learning will include exploring examples and theoretical applications of the material, synthesising ideas, methods, and results, from the literature. For a computational mode, evidence of learning will include producing code that implements methods from computational topology and/or applies them to relevant and possibly novel data sets (which can either be existing publicly available data sets, or the result of a simulation process). In both cases, evidence will also consist of clearly communicating in both written and oral formats.
Geometric Topology III (MATH3491) would be very useful (we'll be building on some of the content from the 1st term).
Taking Algebraic Topology IV (MATH4161) alongside this project is recommended.
Data Science and Statistical Computing (MATH2801) would be good if you want to look at applications.
Herbert Edelsbrunner and John Harer, Computational Topology: An Introduction. Available as a PDF here.
Lecture notes and videos of Math 529 Computational Topology, taught by Bala Krinshnamoorthy at Washington Sate Univesity and his TEDx talk.
Many more good resources can be found on Peter Bubenik's page.