Tutorial hIPPYlib 2.3.0

These tutorials are the best place to learn about the basic features and the algorithms in hIPPYlib.

For the complete API reference click here.

  1. FEniCS101 notebook illustrates the use of FEniCS for the solution of a linear boundary value problem.
  2. Poisson Deterministic notebook illustrates how to compute gradient/Hessian information and solve a non-linear parameter inversion for the Poisson equation in a deterministic setting.
  3. Subsurface Bayesian notebook illustrates how to solve a non-linear parameter inversion for the Poisson equation in a Bayesian setting
  4. Advection-Diffusion Bayesian notebook illustrates how to solve a time-dependent linear inverse problem in a Bayesian setting.
  5. Hessian Spectrum notebook illustrates the spectral property of the Hessian operator for a linear source inversion problem.

Tutorials 3 and 4 contain a line-by-line explanation of the model problems presented in hIPPYlib: An Extensible Software Framework for Large-Scale Inverse Problems Governed by PDEs; Part I: Deterministic Inversion and Linearized Bayesian Inference.

Interactive tutorials

hIPPYlib 2.3.0 is available as source code or prebuilt docker image.

The interactive ipython notebooks are located in the tutorial folder of the hIPPYlib release.

To run the notebooks follow these instructions.

  1. Open a FEniCS terminal and type
$ cd tutorial
$ jupyter notebook
  1. A new tab will open in your web-brower showing the notebooks.
  2. Click on the notebook you would like to use.
  3. To run all the code in the notebook simply click on Cell --> Run All.

For more information on installing ipython and using notebooks see here.

Additional resources

For additional resources and tutorials please see the teaching material for the 2018 Gene Golub SIAM Summer School on Inverse Problems: Systematic Integration of Data with Models under Uncertainty available here.