# Introduction to Computational Topology

Question: Besides generally learning Algebraic Topology, what are some prerequisites for studying Computational Topology? Are there any accessible papers which introduce the field and the methods being used?

Motivation: A number of my peers do applied mathematics where I go to school, and upon hearing how they solved problems for their applied math classes I often think that the same sort of techniques could be used in topology. I am often referred to Stanford's computation topology page, though a number of the preprints on this page are not quite accessible to me. Of course, accessibility is subjective, but I wanted to see if anyone had any suggestions regarding how to proceed. It would be a shame to give up on this interesting looking subject just because I can't get my foot in the door!

-
Upper management disabled the CW option for ordinary users; only moderators can enable it now (which I've just done). – Qiaochu Yuan Apr 2 '11 at 20:46
Take a look at the Wikipedia page: en.wikipedia.org/wiki/Computational_topology in particular the Edelsbrunner & Harer book referenced. Your "motivation" section isn't clear to me. Could you clarify your 1st sentence from "Motivation"? What topology problems do you have in mind? Computational topology in the sense of the Stanford group is completely the opposite -- it's about using topology to solve practical problems, not about using "applied math" techniques to solve topology problems. – Ryan Budney Apr 2 '11 at 21:27
The book of Matousek "Using the Borsuk-Ulam Theorem" is an excellent introduction to applications of topology to combinatorics and geometry. This a very young topic which is gaining a lot of interest and is definitively worth checking out. – David Kohler Apr 2 '11 at 23:09
Okay. IMO the best way to get a sense for how you could apply algebraic topology would be to learn the basics of the subject first. This is a bit like asking how one could apply calculus to physics without first knowing any calculus. Would you like an explanation at that level of vagueness? I suppose I could try for something like that. – Ryan Budney Apr 3 '11 at 1:31
Check out the following paper: The computational complexity of knot genus and spanning area, by Ian Agol, Joel Hass, and William Thurston. Not easy reading, but several of the references are, and the whole field is really pretty. – Sam Nead Jun 27 '11 at 18:11

I suggest you take a look at computational homology http://www.amazon.com/Computational-Homology-ebook/dp/B000RENIA8 by Tomasz Kaczynski and the notion of persistence. This is where I first encountered the stuff. There are many fine examples in the book on how to get started. In my own work as a quant I am often presented with high-dimensional data sets and I need to classify them. Often there is pattern recognition involved and in such cases I can use the techniques of computational homology to extract algebraic information from the dataset.

Usually this involves something along the lines of:

• Using cubical homology (easy to calculate with on a computer) and look for features in the homology groups which are 'persistent' across different sizes (resolutions) of cubes.

• Convert the algebraic information into a barcode (something like the analog of a betti number) for easy manipulation in code.

To get started with this you'll need to know how to code in something like C++ or Python. There are libraries that already do the heavy lifting and you wouldn't want to redo all that yourself. Google around on persistent homology and they'll pop up. You'll also need some good higher-dimensional data to work with which likely means you'll have to deal with databases b/c you'll need somewhere to hold it all. MySQL or postgres are both fine choices.

Good luck!

-