Resources
Topological data analysis is a field that has matured quite a bit in the last ten years. This page will serve as a collection of resources for the course.
Textbooks
Required Textbook
- “Persistence Theory: From Quiver Representations to Data Analysis” by Oudot - [UChicago Library] [Electronic Resource]
We’ll use this book as our guide through good portions of the course. It’s more a monograph than a textbook, and some material is more advanced than what we’ll cover in this course, but it is as close as we’ll get to a single resource. We’re going to skip around a bit.
Note that you can download a free electronic copy through the UChicago Library.
Optional Textbooks
- “Computational topology : an introduction” by Edelsbrunner and Harer - UChicago Library
- “Elementary Applied Topology” by Ghrist - Free on Author’s Website
These two books are good places to start for inspiration, and good references for parts of the course.
Additional References
- “Algebraic Topology” by Hatcher - UChicago Library, PDF on Author’s Webpage
- “Elements of Algebraic Topology” by Munkres - UChicago Library
These books are both graduate-level introductions to algebraic topology.
- “Topology for Computing” by Zomorodian - UChicago Library
This book contains early descriptions of persistent homology as well as some of the early motivating applications.
- “Topological Signal Processing” by Robinson - UChicago Library Online Resource
This book is gives another applied topology perspective with a focus on signal processing. There are a variety of interesting applications inside.
- “Algebraic Foundations for Topological Data Analysis” by Schenk - Draft on Author’s Site
This recent draft is a more-or-less self contained to algebraic aspects of TDA. The target audience is 1st year statistics students, similar to this course.
Papers
Review Papers
Review papers are a good place to look for high-level overviews of the field
- “Topological pattern recognition for point cloud data” by G. Carlsson. Acta Numerica (2014), pp. 289–368. Online.
Foundations
- “Towards Computing Homology From Finite Approximations” by V. Robbins. Topology Proceedings, Vol. 24, pp. 503-532 (1999). Link
- “Topological Persistence and Simplification” by H. Edelsbrunner, D. Letscher and A. Zomorodian. Discrete & Computational Geometry volume 28, pp. 511–533 (2002). Link
- “Topological Estimation Using Witness Complexes” by V. de Silva and G. Carlsson. Eurographics Symposium on Point-Based Graphics (2004). Link
- “Computing Persistent Homology” by A. Zomorodian and G. Carlsson. Discrete & Computational Geometry volume 33, pp. 249–274 (2005). Link
- “The Theory of Multidimensional Persistence” by G. Carlsson and A. Zomorodian. Discrete Comput Geom 42: pp. 71–93 (2009). Link
- “Zigzag Persistence” by G. Carlsson and V. de Silva. Foundations of Computational Mathematics, vol. 10: pp. 367–405, (2010). Link
Stability
- “Stability of Persistence Diagrams” by S. Cohen-Steiner, H. Edelsbrunner, and J. Harer. Discrete & Computational Geometry 37(1) pp. 103-120 (2007). Link
- “Gromov-Hausdorff Stable Signatures for Shapesusing Persistence” by F. Chazal, D. Cohen-Steiner, L.J. Guibas, F. Mémoli, and S.Y. Oudot. Eurographics Symposium on Geometry Processing 2009, Volume 28, Number 5. Link
- “Linear-Size Approximations to the Vietoris–Rips Filtrations” by D.R. Sheehy. Discrete Comput Geom 49 pp. 778–796, (2013). Link
- “The Theory of the Interleaving Distance on Multidimensional Persistence Modules” by M. Lesnick. Foundations of Computational Mathematics 15, pp. 613–650 (2015). Link
- “Metrics for Generalized Persistence Modules” by P. Bubenik, V. de Silva, and J. Scott. Foundations of Computational Mathematics, Vol 15, pp. 1501–1531 (2015). Link
Sampling
- “Finding the Homology of Submanifolds with High Confidence from Random Samples” by P. Niyogi, S. Smale, S. Weinberger. Discrete & Computational Geometry Vol 39: pp. 419–441 (2008). Link
- “A Sampling Theory for Compact Sets in Euclidean Space” by F. Chazal, D. Cohen-Steiner & A. Lieutier. Discrete & Computational Geometry Vol 41, pp. 461–479 (2009). Link
- “Geometric Inference for Probability Measures” by F. Chazal, D. Cohen-Steiner & Q. Mérigot. Foundations of Computational Mathematics, volume 11, pp. 733–751(2011). Link
- “Zigzag Zoology: Rips Zigzags for Homology Inference” by S.Y. Oudot, D.R. Sheehy. Found Comput Math 15 pp. 1151–1186 (2015). Link
- “Efficient and robust persistent homology for measures” by M. Buchet, F. Chazal, S.Y. Oudot, D.R. Sheehy. Computational Geometry 58 (2016) pp. 70–96. Link
- “Topological consistency via kernel estimation” by O. Bobrowski, S. Mukherjee, J. E. Taylor. Bernoulli 23 (1) 288 - 328, February 2017. https://doi.org/10.3150/15-BEJ744 Link
Features
- “The Ring of Algebraic Functions on Persistence Bar Codes” by A. Adcock, E. Carlsson, and G. Carlsson. Homology, Homotopy and Applications, vol. 18(1), pp. 381–402 (2016). Link
- “Statistical Topological Data Analysis using Persistence Landscapes” by P. Bubenik. Journal of Machine Learning Research 16 pp. 77-102 (2015). Link
Algorithms
- “Vines and vineyards by updating persistence in linear time” by D. Cohen-Steiner, H. Edelsbrunner, and D. Morozov. SCG ‘06: Proceedings of the twenty-second annual symposium on Computational geometry, June 2006, pp. 119–126 Link
- “A tutorial on spectral clustering” by U. von Luxburg. Statistics and Computing. 17, pp. 395–416 (2007) Online
- “Topological Methods for the Analysis of High Dimensional Data Sets and 3D Object Recognition” by G. Singh, F. Memoli, and G. Carlsson. Eurographics Symposium on Point-Based Graphics (2007). Link
- “Zigzag Persistent Homology and Real-valued Functions” by G. Carlsson, V. de Silva, and D. Morozov. Sympoosium on Computational Geometry ’09, pp. 247–256, (2009) Link, Link 2
- “Persistent Cohomology and Circular Coordinates” by V. de Silva, D. Morozov, and M. Vejdemo-Johansson. Discrete & Computational Geometry volume 45, pp. 737–759 (2011). Link
- “Dualities in persistent (co)homology” by V. de Silva, D. Morozov, and M. Vejdemo-Johansson. Inverse Problems 27 (2011). Link
- “Persistent Homology Computation with a Twist” by C. Chen and M. Kerber. EuroCG 2011, Morschach, Switzerland, March 28–30, 2011. Link
- “Morse Theory for Filtrations and Efficient Computation of Persistent Homology” by K. Mischaikow and V. Nanda. Discrete Comput Geom 50, pp. 330–353 (2013). Link
- “The Simplex Tree: An Efficient Data Structure for General Simplicial Complexes” by J.D. Boissonnat and C. Maria. Algorithmica (2014) 70:406–427. Link
- “Clear and Compress: Computing Persistent Homology in Chunks” by U. Bauer, M. Kerber, and J. Reininghaus. P.-T. Bremer et al. (eds.), Topological Methods in Data Analysis and Visualization III, Mathematics and Visualization (2014). Link
- “A roadmap for the computation of persistent homology” by N. Otter, M.A. Porter, U. Tillmann, P. Grindrod & H.A. Harrington. EPJ Data Science volume 6, Article number: 17 (2017). Link
- “Persistent and Zigzag Homology: A Matrix Factorization Viewpoint” by G. Carlsson, A. Dwaraknath, and B.J. Nelson. preprint (2019) arXiv:1911.10693
Applications
- “On the Local Behavior of Spaces of Natural Images” by G. Carlsson, T. Ishkhanov, V. de Silva & A. Zomorodian. International Journal of Computer Vision vol. 76, pp. 1–12 (2008). Link
- “Extracting insights from the shape of complex data using topology” by P. Y. Lum, G. Singh, A. Lehman, T. Ishkanov, M. Vejdemo-Johansson, M. Alagappan, J. Carlsson, and G. Carlsson. Scientific Reports volume 3, Article number: 1236 (2013). Link - this is about using Mapper for data analysis.
- “Topology of viral evolution” by J.M. Chan, G. Carlsson, and R. Rabadan. PNAS November 12, 2013 110 (46) 18566-18571. Link
- “Persistence-Based Clustering in Riemannian Manifolds” by F. Chazal, L.G. Guibas, S.Y. Oudot, and P. Škraba. Journal of the ACM, November 2013 Article No: 41. Link
- “Identification of type 2 diabetes subgroups through topological analysis of patient similarity” by L. Li, W.Y. Cheng, B.S. Glicksberg, O. Gottesman, R Tamler, R. Chen, E.P. Bottinger, and J.T. Dudley. Sci Transl Med. 2015 October 28; 7(311): 311ra174. doi:10.1126/scitranslmed.aaa9364. Link - Mapper used for identification of diabetes subgroups.
- “Sliding Windows and Persistence: An Application of Topological Methods to Signal Analysis” by J.A. Perea & J. Harer. Foundations of Computational Mathematics volume 15, pp. 799–838 (2015). Link
- “Two’s company, three (or more) is a simplex: Algebraic-topological tools for understanding higher-order structure in neural data” by C. Giusti, R. Ghrist & D.S. Bassett. Journal of Computational Neuroscience volume 41, pp. 1–14 (2016). Link
- “Hierarchical structures of amorphous solids characterized by persistent homology” by Y. Hiraoka, T. Nakamura, A. Hirata, E.G. Escolar, K. Matsue, and Y. Nishiura. PNAS June 28, 2016 113 (26) pp. 7035-7040/ Link
- “TopologyNet: Topology based deep convolutional and multi-task neural networks for biomolecular property predictions” by Zixuan Cang, and Guo-Wei Wei. PLoS Comput Biol 13(7): e1005690. Link
- “A Topological Regularizer for Classifiers via Persistent Homology” by C. Chen, X. Ni, Q. Bai, Y. Wang ; Proceedings of Machine Learning Research, PMLR 89:2573-2582, 2019. Link
- “A Topology Layer for Machine Learning” by R. Brüel-Gabrielsson, B.J. Nelson, A. Dwaraknath, P. Skraba, L.J. Guibas, and G. Carlsson. Twenty Third International Conference on Artificial Intelligence and Statistics, PMLR 108:1553-1563, 2020. Link
- “Hodge Laplacians on Graphs” by L.H. Lim. SIAM Review Vol. 62, No. 3, pp. 685–715, 2020. Link
- “Statistical ranking and combinatorial Hodge theory” by Jiang, Lim, Yao, Ye. Mathematical Programming. Vol. 127, No 1, pp. 203-244. 2011. Link
Seminars
Applied Algebraic Topology Research Network Online Seminar
Software
TDA Software
Persistent Homology
- Dionysus (Python/C++)
- GUDHI (Python/C++)
- BATS (Python/C++)
- Eirene (Julia)
- rtda ( R )
- JavaPlex (Java/MATLAB)
- Perseus (C++)
- Ripser (C++)
- scikit-tda (Python)
Mapper
- Keppler Mapper (Python)
- TDAMapper (R)
Multi-parameter persistence
- RIVET
Programming Language Help
I’m planning to use C++ and Python for demonstration purposes. The goal is to write things in a sensible way so even if you aren’t familiar with these languages, you can translate into a language you are familiar with. The reason for choosing these languages is that they are commonly used in TDA software, and in scientific computing and data analysis more broadly.
For Python help, you might consider looking at the course materials for CAAM 37830 / STAT 37830.
For C++, I highly recommend the book “From Mathematics to Generic Programming” by Stepanov and Rose.