A good command of linear algebra over finite fields (we will be working over the field of two elements for the most part).
Basic knowledge of programming in Python.
An undergraduate course in topology (e.g., chapters 1-3 of J.R. Munkres: Topology should be familiar).

Aim of the course
Topological Data Analysis (TDA) is a recent approach to data analysis in which tools from (algebraic) topology are applied to gain a qualitative understanding of data - or, in other words - to infer properties of the shape of the data. The ‘’simplest’’ of the topological invariants is the number of connected components of a data set. Translated into the language of traditional data analysis, this would correspond to the task of clustering the data, i.e., the process of grouping a set of objects in such a way that objects in the same group (called a cluster) are more similar (in some sense) to each other than to those in other groups (clusters). TDA can also detect many other types of non-linearity in data, e.g., tendrils, voids, and periodicity in time-dependent data.

The aim of this course is for the students to learn about the algorithms and mathematics underlying the core tools of TDA, as well as the applicability of TDA to the sciences.

  • Simplicial theory: fundamentals of simplicial complexes, simplicial (co-)homology (incl. algorithms), simplicial complexes from data (Cech, Rips), Nerve Lemma, sensor networks.
  • Persistent (co-)homology: algorithms, algebraic foundations, stability, homological inference, interleavings, circular coordinates, kernel methods, applications, a proof of the isometry theorem.
  • Generalized persistence: zigzag and multiparameter persistence, Reeb graphs.
  • Clustering: ToMATo, Kleinberg’s theorem, clustering in multiple parameters, Mapper.
  • Low-dimensional embeddings: ISOMAP, UMAP

Algebraic topology and category theory elements, such as homotopy equivalence and functoriality, will be introduced when needed.

Magnus Bakke Botnan