Lars Ruthotto

Short Course on Numerical Methods for PDE-Constrained Optimization

This short course gives an introduction into numerical methods for PDE-constrained optimization. It covers numerical solution of PDEs and sensitivity computations and also briefly reviews some preliminaries from numerical linear algebra and numerical optimization. Finally, some more advanced topics are briefly outlined.
The 3 hour course was presented to a group of PhD students in the Doktorandenkolleg in Weissensee, Austria. The material consists of lecture slides and Julia code.
Thanks to Marie-Therese Wolfram for covering my travel expenses and to the Doktorandenkolleg for providing additional funds.
September 5-9, 2016
The slides can be downloaded here
Use the following Julia notebooks to re-produce the examples on the slides.
Some codes require the installation of our Julia package for PDE-constrained optimization jInv.
You can run these notebooks, for example, using JuliaBox. JuliaBox is also a great way to get started in Julia without installing it on your computer.
  1. exConvergenceGrad.ipynb - testing convergence of discrete derivative.
  2. checkDerivative.ipynb - example for testing derivatives.
  3. BacktrackedLinesearch.ipynb - illustration of backtracking and Armijo's condition.
  4. exLaplaceWithSD.ipynb - solving Laplace equation with Steepest Descent.
  5. exPCGforPoisson.ipynb - comparison of CG preconditioners.
  6. exDCResistivity.ipynb - case study of a small DC resistivity survey.