Breaking News:

The class final be in 380-380W on Saturday, 6/4, 7-8:30 pm. See Piazza for more details.

May 24: A new version of homework 4 [v4] has be posted -- be sure to use the new version.


Data today often has a geometric character, as is the case with 1D GPS traces, 2D images / videos, 3D scans / 3D models, and so on. Even non-geometric data, e.g. social networks or genomic microarrays, are often best analyzed by embedding them in a multi-dimensional geometric feature space. The goal of this course is to cover the rudiments of geometric and topological methods that have proven useful in the analysis of such data.

The course also aims to show that there can be multiple perspectives or views on the same data, and that a particular piece of data is often best understood not alone but within a "social network" of related data sets that provide a useful context for its analysis.

Topics to be covered include:

  • Linear algebraic techniques, such as PCA and CCA (useful when the data can be viewed as points in a high dimensional Euclidean space)
  • Non-linear dimensionality reduction methods
  • Spectral methods for data in the form of graphs
  • Rudiments of computational topology and specifically persistent homology
  • Optimization algorithms for maps and correspondences between geometric data sets
  • Function spaces and functional maps
  • Networks of related data sets and the extraction of shared structure (latent spaces)
  • Applications to computer graphics, computer vision, as well as other areas
Extant visual data repositories, such as Imagenet and Shapenet, will be covered and used.

This course presumes an elementary knowledge of algorithms and linear algebra. It will require four assignments (w. programming) and a final exam.

These pages are maintained by Leonidas Guibas guibas@cs.stanford.edu.
Last update May 25, 2016.