Most of my research incorporates the development of fast
high-order analysis-based algorithms into problems in
computational physics, integral equations, singular
quadrature, statistics, and in general, computational
science. Almost all problems are rooted in engineering and
Integral equations, computational physics, and fast algorithms
Almost all partial differential equation occurring in classical mathematical physics can be reformulated as integral equations with an appropriate Green's function. Proper integral formulations are usually very stable, but result in large dense systems which require fast algorithms to solve. Over the last couple decades, the development of analysis-based algorithms such as fast multipole methods, butterfly algorithms, etc. has enabled these systems to be solved rapidly, usually in near-linear time. I have recently been working on particular problems in electromagnetics, acoustics, and magnetohydrodynamics.
The numerical solution of any of these problems via an integral method requires solving problems in mathematical analysis, numerical analysis (e.g. quadrature for singular integrals), geometry (e.g. well-conditioned triangulations and meshes), fast computational algorithms, and other niches of applied mathematics. The resulting codes are often long and complicated but very efficient.
Recently it has been observed that many of the fast analysis-based algorithms used throughout engineering physics have direct applications in statistics, machine learning, and data analysis. In particular, methods for rapidly inverting structured dense covariance matrices have immediately found applications in Gaussian processes.
Complementary to solving PDEs or integral equations, algorithms which stably and rapidly compute special functions, invert matrices, apply operators, etc. must be developed. These schemes fall broadly under numerical analysis, and constitute the components that go into necessary software toolboxes for applied mathematics.
Below are slides from a few selected talks that I've given over the years.
The largest computational task encountered when modeling
using Gaussian processes is the inversion of a (dense)
covariance matrix. Often, these matrices have a systematic
structure that can be exploited. george is a Python
interface for a C++ implementation of the HODLR
factorization. An optimized Fortran version is
currently in development.
george - HODLR
Two-dimensional and three-dimensional fast multipole codes
developed by Leslie Greengard and Zydrunas Gimbutas for
Laplace, Helmholtz, elastostatic, and Maxwell potentials can
be downloaded on the CMCL webpage.
Introductory numerical analysis intended for undergraduate and graduate students
covering fundamental topics such as floating-point arithmetic, numerical integration,
interpolation, linear algebra, solution of ODEs, etc.
A projects mentoring course for students concentrating on a data science track
within the computational science masters program at the Courant Institute.
Introductory linear algebra.
Fall 2012 & Spring 2012
This is the crowning project course for students enrolled
in the Data Science masters program at NYU through the
Center for Data Science. Working with industry and/or
faculty mentors, students complete and present a thorough
treatment of a real-world data science problem.
This course is a junior/senior level introduction to the mathematical
theory of statistics to be taken after a similarly focused course on the
theory of probability has been taken.
Spring 2014 & Spring 2013