# Computational topology for engineers

Increasingly, I see computational topology being applied to problems involving sensor networks, robotics, data analysis, signal processing and various other areas. The topics I mention are interesting to many of my engineering students, but they lack the background in abstract mathematics, especially group theory, to be able to comprehend material such as homology. I try to get them to the borders by way of some graph theory and computational geometry in the context of robust sensor networks, even touching on the Vietoris-Rips complex, but then the wall of abstraction looms up. I have also taught a short data analysis course focusing on cluster analysis, with a touch of anomaly detection, but so far I have stopped short of introducing topological data analysis.

Does anyone have any suggestions or experience in dealing with teaching material of this nature to advanced undergraduates who are not specializing in mathematics? What are good ways of making the abstract mathematics involved a little more concrete and manageable?

Related questions from Mathematics Stack Exchange:

An incomplete list of online resources on computational topology:

(Removed http://comptop.stanford.edu/ as this site seems to have been taken down. Clicking on the link now redirects you to http://appliedtopology.org/.)

• Teaching homology to engineers seems difficult. Will you give us some examples or links for the applications that would motivate them? – user173 Apr 17 '14 at 12:43
• Note that group theory isn't necessary -- for most applications, computation of Betti numbers suffices. This means that you can do simplicial homology with real coefficients, which should be accessible to anyone who has taken a course in linear algebra. – Jim Belk Apr 18 '14 at 0:17
• @JimBelk you know, on the other hand, it occurs to me, simplicial homology in this classical sense would make a really interesting application in an advanced linear algebra class. I covered the calculation of the Betti numbers for the circle and disk last week in my advanced calculus course, it was really quite easy and I think the students followed it pretty effortlessly. – James S. Cook Nov 21 '15 at 3:16

I'm just finishing up a graduate course in computational topology which could be adapted very effectively for this purpose. We're focusing on topological data analysis and computational homology. All the topology in the course has been self-contained, meaning that essentially no previous experience in topology was required.

The book we're using is Computational Topology: An Introduction, by H. Edelsbrunner and J. Harer. It's available online, or you buy it in print (I did this and found it worthwhile). The author works in computer science, and it is written in a style that engineers would appreciate.

The professor began the class by explaining our basic problem: if we have a bunch of data points from some topological space, how do we figure out what space the data came from? He continued by showing us various motivating examples to explain why this question is well-posed, e.g. a ton of points obviously taken from a circle. He moved on with illustrations and animations to explain (at least visually, in the 2D case) how the Vietoris-Rips complex works, then worked up to bar codes / persistence diagrams. We were exposed to essentially everything we were going to do over the course of the semester, so we had the "big picture" in our heads right away. This was very important, especially because I had no background in algebraic topology.

We spent the next couple weeks learning the basics of abstract simplicial complexes and their embeddings in $\mathbb{R}^n$. Everything here was intuitive. Most examples had dimension $2$ (i.e. visually, graphs with some triangles filled in). In this context, homology groups were easily motivated by Betti numbers, which conceptually bridge the gap to group theory. "What we want is to know the number of components, the number of missing 'circles', the number of missing 'spheres', etc."

To get the Betti numbers, we needed to learn how homology groups worked. Working in this discrete context everything is very constructible, so we could actually make the $C_p$, $Z_p$, and $B_p$ groups (cf p.96 of Edelsbrunner's book), along with the $\delta$ maps, for small examples. I went home and did this for a whole bunch of examples until I understood how ranks of the matrices related to the "missing pieces" interpretation. Shortly after this, the professor gave us homework where we had to compute the $\bmod{2}$ and $\bmod{3}$ Betti numbers of the Torus, Klein Bottle, and projective plane from given triangulations (which of course was expected to be done with computational algebra software, not by hand.) This really cemented the whole point of the course for me.

After some more theory about persistence, we started using javaplex (in conjunction with MATLAB, for most of us) to actually get our hands dirty with some data. A few weeks ago, we were given a few data sets, told which manifolds they came from, and told find the Betti numbers using a barcode analysis. For our final assignment, we were given several data sets, but no other information, and tasked with figuring out what topological space they came from. (One of the data sets was an embedding of a certain well known $3$-manifold in $\mathbb{R}^9$.) So, we got to take the whole thing to fruition.

Anyhow, it probably wouldn't take much to adapt this course towards engineering students. A few less proofs, a few more computation-based homeworks and lectures, and earlier introduction to javaplex (or another topology package) would suffice. The most critical aspect of adapting the course would be to keep the big picture in everyone's mind at all times, so that the definitions and influx of information doesn't become overwhelming. Including real world examples should keep the abstraction terror at bay.

• Thank you very much for the extensive answer. I have Computational Topology by Edelsbrunner and Harer. It has a lot of good material, but in my opinion it's somewhat terse, which could prove challenging for the beginner. It sounds like your professor took a good approach to the course. – J W Apr 18 '14 at 13:06
• @JW He's very good- one of my favourite courses I've taken, definitely a motivator to go deeper into topology. – Alexander Gruber Apr 18 '14 at 14:00
• This is a great answer, but doesn't address the need for something between the grad-level (excellent) material available, and what would be needed to reach those with less mathematical preparation. I think that, because the field is just emerging, there simply do not yet exist those intermediate-level materials. – Joseph O'Rourke Apr 19 '14 at 0:54
• @JosephO'Rourke I made my best attempt to include suggestions to adapt the course to a lower level of preparation. Maybe soon we will see the first such course. – Alexander Gruber Apr 19 '14 at 2:06
• @JosephO'Rourke Something roughly along the lines of your Discrete and Computational Geometry would be a valuable addition to the expository literature. – J W Apr 20 '14 at 8:45

Wow, thanks for the recent shout-out. I hope this is the right place for me to add a few references that might be useful and haven't already appeared in the answers.

1. Rob Ghrist has just written a fantastic new book called Elementary Applied Topology which provides a soaring and current overview of the field. There are no exercises (yet!) but the figures are exquisite, and if you want a big-picture survey of which aspects of algebraic topology have been applied to which problems, it is hard to beat this book right now.
2. Another text that really, really helped me out when I was in the late engineering undergrad stage is the very concrete and grounded Computational Homology by Tomasz Kaczynski, Konstantin Mischaikow and Marian Mrozek. Konstantin taught a wonderful undergrad course out of this book at Georgia Tech in 2004, so it can definitely be used in your context. The book is replete with exercises that students can get their hands around, but sadly it was released in the pre-persistence era and hence does not get into Vietoris-Rips complexes, etc. On the other hand, the introduction is masterfully written and will appeal to the undergrad scientist/engineer audience.
3. I wrote a recent survey article with Radmila Sazdanovic that deconstructs much of the topological data analysis pipeline: from point clouds to simplicial complexes to persistence diagrams to applications. The paper has a slight biological bias towards the end but the beginning is fairly domain-agnostic.
4. And certainly, don't miss the course schedule of Paul Bendich's 2012 Duke class on topology and applications, available here. I find that it is remarkably well laid-out!
• It's great to see you on MESE! Welcome and thanks for the suggestions. – J W Jan 15 '15 at 18:01
• @JW You're most welcome. Feel free to send me email if you want more resources. – Vidit Nanda Jan 15 '15 at 18:04

Edelsbrunner's new book,

A short course in computational geometry and topology. Springer, 2014. (Springer link)

might serve as a course skeleton. It is indeed short (110 pages), and written in his laconic but precise style. And beautifully illustrated.

• Thank you for bringing this book to my attention! I am also looking into the recently-published Topological Signal Processing by Michael Robinson. – J W Jun 25 '14 at 6:35