About
The goal for this course is for students to become proficient in techniques from topological data analysis. We will cover both theory and applications and topics such as constructing filtrations, clustering, persistent homology, mapper, and many more. Take a look at this introduction video for a quick overview. Here is the syllabus for the course and here is an introduction to the team.
More in-depth details on course topics can be found in the syllabus. Communication outside of class time will function through the course gmail account, and the course Slack workspace (link to join). Exercises will be assigned via email and Slack, and updated in the Schedule section below, as well as in the Exercises folder.
Office Hours
Alex McCleary will be offering office hours on Tuesdays from 1 to 2 and Wednesdays from 10 to 11 both in person and over zoom. Here is the zoom link. To meet in person please come to math tower 546.
Nate Clause will be offering office hours on Mondays from 3:30 to 4:30 and Thursdays from 12 to 1 both in person and over zoom. Here is the zoom link. To meet in person please come to math tower 549.
Prerequisites
Students should be familiar with the following concepts:
- Linear Algebra:
- Vector spaces, basis of a vector space, span of a set of elements. Sub-vector space. Direct sum.
- Linear maps between vector spaces.
- Dimension of a vector space.
- Images and Kernels of linear maps.
- Matrices, and matrix manipulations.
- See Khan Academy lessons for a review of these topics.
- Coding:
- Basic familiarity with Matlab.
- Foundational concepts such as if/else statements and for loops.
- See the Matlab tutorial here.
- Other Concepts:
- Definition of a metric space. Basic examples, familiarity with these concepts.
- Inner products and norms.
- See this lecture for more details.
- Other Useful but non-Prerequisite Topics:
- Normal forms and Gaussian elimination.
- Basics of graph theory:
- Basic concepts about clustering.
Required Software
JavaPlex must be installed and students should start running the tutorial before the first day of class. The main interface for JavaPlex is Matlab. The JavaPlex software can be found here. The tutorial can be found at JavaPlex tutorial. Matlab can be downloaded from the Matlab website.
Acknowledgements
This course was developed by Nate Clause, Alex McCleary, Facundo Mémoli, and Yusu Wang. Funding for this course is provided by NSF-IIS-1901360 and NSF-CCF-1839358.