Applied Math 205: Advanced Scientific Computing

two photos of the Lights Out game
The Lights Out electronic toy, which can be viewed as a numerical linear algebra problem and solved with the methods in AM205.

Each fall semester from 2014–2020, Chris Rycroft has taught the graduate course Applied Math 205: Advanced Scientific Computing: Numerical Methods. This course provides a broad overview to scientific computing, covering data fitting, numerical linear algebra, numerical calculus, optimization, and eigenvalue methods

Over the past seven years the enrollement of Applied Math 205 has quadrupled to about 80 students annually. It is a core requirement of the Harvard IACS master's program in computational science and engineering. It is also taken by Ph.D. students in a variety of fields, as well as advanced undegraduates in a variety of fields such as mathematics, applied mathematics, and physics.

Due to the COVID-19 pandemic, Applied Math 205 was taught fully online during the Fall 2020 semester, and was taken by students in many locations around the world. A number of adjustments were made to the course to account for this, including online workshops for small numbers of students, a social photo hour, and the development of a sequence of YouTube videos covering the course material.

Applied Math 225: Advanced Scientific Computing II

DOP853 sample integration
An example of using the amazing DOP853 integration method, which is highly accurate and efficient.

Applied Math 205 provides a broad overview of scientific computing, but does not go as far into the field as some other courses at peer institutions like UC Berkeley, MIT, and New York University. To address this need in the curriculum Chris Rycroft developed Applied Math 225, a second graduate course in scientific computing.

The course covers mathematical underpinnings of finite volume methods, finite element methods, advanced numerical linear algebra, level set methods, and fluid simulation. Advanced techniques for integrating ODEs are also discussed. There is an emphasis on understanding the interplay of algorithms and computer hardware, such how to best take advantage of the cache hierachy. The design principles behind popular scientific software libraries such as BLAS, LAPACK, and FFTW are also discussed.

Students must program in a compiled language such as C++, and the course also covers multithreading using the OpenMP library. The course has been offered roughly every two years, and is usually taken by between 10–20 students.

Teaching at UC Berkeley

From 2010–2013 Chris Rycroft was a Morrey Assistant Professor in the UC Berkeley Mathematics Department. Websites containing material from three courses that he taught are available here:

In addition, Chris Rycroft gave three weeks of guest lectures for Math 126: Introduction to Partial Differential Equations to cover Prof. Benjamin Stamm's paternity leave. Several homework assignments and solutions about scalar conservation laws and the method of characteristics are available.