This page collects the Jupyter notebook used for the graduate course on Computational and Variational Methods for Inverse Problems, taught by Prof. Ghattas at UT Austin in the Fall 2017 semester.
Notebooks

Inverse problem prototype: An illustrative example of an illposed inverse problem (.ipynb).
 Introduction to FEniCS:

Spectrum of Hessian operator: This notebook illustrates the spectral properties of the preconditioned Hessian misfit operator (.ipynb). This notebook requires hIPPYlib.

Unconstrained Minimization: This notebook illustrates the minimization of a nonquadratic energy functional using Netwon Method (.ipynb).

Poisson SD: This notebook illustrates the use of FEniCS for solving an inverse problem for the coefficient field of a Poisson equation, using the steepest descent method (.ipynb). Note that SD is a poor choice of optimization method for this problem; it is provided here in order to compare with Newton’s method, which we’ll be using later in the class.

Poisson INCG: This notebook illustrates the use of FEniCS for solving an inverse problem for the coefficient field of a Poisson equation, using the inexact Newton CG method (.ipynb). This notebook requires hIPPYlib.

Poisson Bayesian: This notebook illustrates how to solve a nonlinear parameter inversion for the Poisson equation in a Bayesian setting using hIPPYlib (.ipynb).
 Advection Diffusion Bayesian: This notebook illustrates how to solve a timedependent linear inverse problem in a Bayesian setting using hIPPYlib (.ipynb, meshfile).
Instructions
See here for a list of introductory material to FEniCS and installation guidelines.
See here for instructions on how to use jupyther notebooks (files *.ipynb).