Graph Laplacians and Spectra: Theory and Applications
Computer Science 290H, Spring 2014
Schedule, Readings, and Homework
nvsble
Definitions, Theorems, and Notation
nvsble
References
nvsble
Discussion and Announcements
John R. Gilbert
Mon/Wed 9:00-10:45
Phelps 2510
Perhaps the most powerful of the many connections between graphs
and matrices is the Laplacian matrix of a graph.
The definition
is easy -- start with an undirected graph, put the vertex degrees
on the diagonal, and put -1 in each off-diagonal position where
there's an edge. The consequences are profound, ranging from data
mining and analysis (where spectral clustering uses graph Laplacians),
to parallel computing (spectral partitioning), to graph algorithms
(flows in networks), to topological graph theory (the planar
separator theorem), to applications in ecology (genetic
connectivity of populations), electrical engineering (resistive
networks), PDEs (Laplacians on manifolds), and many more.
The material of this course will range over both theoretical
and applied aspects of graph Laplacians.
What can they be used for?
What is the mathematics behind them?
How can we compute with them in practice?
The prerequisites are some basic knowledge of linear algebra and graph theory.
While this background is elementary, the course will move at a quick pace.
The work for the course will consist of approximately 4 problem sets,
plus your choice between a final computational project, survey paper, or take-home exam.
Reading will be assigned in (online) papers. There is no required textbook,
but I'll post a list of reference materials.
Here is an approximate list of topics. We won't have time to do all of these,
and to some extent my choice will be guided by the interests of the students.
- Spectral graph theory.
- The Laplacian matrix and its quadratic form.
- Quick background review: eigenvalues, eigenvectors, Rayleigh quotients, etc.
- Eigenvalues and eigenvectors of common graphs: paths, trees, cliques, grids, products.
- Resistive networks, effective resistance, and linear equations.
- Random walks on graphs.
- Conductance, isoperimetric numbers, and Cheeger's inequality.
- Approximations of graphs and sparsification.
- Low-stretch spanning trees.
- Eigenvalues of random graphs.
- Applications of graph Laplacians.
- Graph partitioning: Spectral bisection, the planar separator theorem, etc.
- Data analysis: Spectral clustering, stochastic blockmodels, etc.
- Engineering and science: Control theory, electrical engineering, ecology, etc.
- Graph theory and algorithms: Constructing expanders, approximating max flow, multicommodity flow, etc.
- Algorithms for computation with graph Laplacians.
- Solving Laplacian linear systems:
Conjugate gradients, combinatorial preconditioning, random Kaczmarz projections, and others.
- Computing eigenvalues and eigenvectors of graphs:
Power iterations, Lanczos, and others.
- Considerations for parallel and large-scale computation.
To some extent this course is inspired by
Dan Spielman's course at Yale,
but my version will have a little less theory and a little more computation than his.