Fast analysis-based algorithms

Course number: MATH-GA 2830.002, CSCI-GA 2930.001
Semester: Fall 2015
Time & Location: Mon, 1:25pm - 3:15pm in WWH 512
Instructor: Mike O'Neil (
Office hours: By appointment
Course description

This course will be an introduction to several numerical methods known as "fast analysis-based algorithms," including fast multipole methods, butterfly algorithms, hierarchical matrix compression and fast direct solvers. These algorithms can be used to solve many of the PDEs governing classical mathematical physics, namely electromagnetics, acoustics, heat diffusion, and fluid dynamics. There are additional applications in signal processing and data analysis. Methods from potential theory, applied analysis, functional analysis, numerical linear algebra, complex analysis, and asymptotic analysis are central to the construction of almost all such algorithms.


There is no one textbook for this course. Instead, there will be continually updated lectures notes available here. These lecture notes will contain many useful references for each of the topics and algorithms covered in class. As they become relevant, original journal articles and textbooks will be listed below in the table of lecture topics.

Relevant code examples will be posted on


The grades in the course will be determined by a final project and presentation.


Important information for the course will appear below as necessary.

  • First class on September 14
  • October 12 is Columbus day, class will be held on October 13 instead (at the usual time, place)

Below is an updated list of lecture topics along with any documents that were distributed, or relevant code.

Date Topics Materials
September 14 Introduction & overview: The need for fast algorithms
September 21 Tree codes and multipole expansions Jackson, Classical Electrodynamics
Appel, 1985
Barnes & Hut, 1986
September 28 Error estimation, multipole translations Wallace, Math. Anal. of Physical Problems
Greengard, 1987
Epton & Dembart, 1995
Sarin, et. al., 1998
October 5 Local expansions, the fast multipole method Greengard, 1987
Lecture 4 written notes
October 13 (Tues!!!) Accelerating multipole translations Greengard & Rokhlin, 1997
Yarvin & Rokhlin, 1998
Gimbutas & Greengard, 2009
Lecture 5 written notes
October 19 The Helmholtz FMM Greengard, et. al., 1998
Darve, 2000
Cheng, et. al., 2006
Lecture 6 written notes
October 26 The Fast Fourier Transform Briggs & Henson, The DFT
November 2 Non-Uniform Fast Fourier Transforms Dutt & Rokhlin, 1993
Greengard & Lee, 2004
November 9 Randomized linear algebra Liberty, et. al., 2007
Halko, et. al., 2011
Martinsson lectures, 2014
Lecture 9 written notes
November 16 Kernel independent methods Gimbutas & Rokhlin, 2002
Ying, Biros, & Zorin, 2004
Fong & Darve, 2009
November 23 Recursive skeletonization Martinsson & Rokhlin, 2007
Ho & Greengard, 2012
November 30 Butterfly algorithms Michielssen & Boag, 1996
Candès, et. al., 2009
O'Neil, et. al., 2010
December 7 Fast direct solvers George, 1973
Greengard, et. al., 2009
Martinsson School, 2014
December 14 Project presentations