Inverse Problems in Geophysics
The course
These are the lecture notes for the module Inverse Problems in Geophysics., tailored for Master’s students of Geophysics, Geoinformatics, Applied Geoscience or Mathematics for Data and Resource Sciences at the Institute of Geophysics and Geoinformatics, TU Bergakademie Freiberg. You can access all the sources on the GitHub repository or the slides.
Enjoy studying!
Background
This course was already existing in the early 2000s when I did my PhD that was a lot about inversion and regularization, back then with exercises in Matlab. In 2020, I held this course using Julia as programming language. After starting as professor, I mainly transferred the slides from LaTeX to Quarto and switched back from Julia to Python in 2026. As the course is again slightly adapted, the content of the slides is step by step moving into the script and enriched by the Notebooks shown in the lectures. Any feedback (mistakes, ideas, missing content) is highly welcome!
Code
The website’s course material includes sections with embedded Python code. You can easily copy the code and execute it in a compatible Python runtime environment. For an optimal experience, we recommend installing Python via miniforge. You mainly need the numerical base library NumPy for doing the computations, and Matplotlib for visualization purposes. For higher-dimensional problems, we use the pyGIMLi package to generate meshes and matrices, but stay with its core and equation levels for didactic reasons.
Moreover, you have the freedom to explore your own concepts and delve deeper into the course content by creating your personalized Jupyter notebooks. You can utilize use either Visual Studio Code or Jupyterlab Working with Jupyter Notebooks in Visual Studio Code is exceptionally straightforward.
The material was created by Quarto.
Self study
There are individual small tasks for self-study that are scattered throughout the lecture.
Introduction
- Content and dates
- Literature and Links
- definition of data and model
- error and noise
- linear vs. non-linear
- linear inversion: simple matrix problem
Subject and Objectives
Determine a model describing the subsurface that can explain our data!
- understand the process of imaging/inversion
- solve inverse problems by simple scripts
- actively control the inversion process
- use tools to get a feeling for the value of models
Content
- Introduction, data, models
- Simple matrix problems, linear regression
- Method of least squares
- Resolution and Singular Value Decomposition
- Regularization methods
- Ray tomography
- Non-linear minimization
- Time-lapse inversion
- Global optimization methods
What should you know already?
- Higher mathematics: differential equations, algebra (1.-2. BGIP)
- Experimental and theoretical physics: governing equations
- Numerics for engineers (2. BGIP)
- Programming (1. BGIP), Software development (3. BGIP)
- Geophysics: feeling for physical fields & methods (2.-4. BGIP)
- MSc level: Scientific programming, HPC, seismic imaging
Text books
- Menke (2012): Geophysical Data Analysis: Discrete Inverse Theory, Academic
- Richter (2016): Inverse Problems: Basics, Theory and Applications in Geophysics
- Günther (2004): Inversion Methods and Resolution Analysis for the 2D/3D Reconstruction of Resistivity Structures from DC Measurements, PhD thesis
- Gubbins (2004): Time series analysis and inverse theory for geophysicists (Cambridge Univ. Press)
- Tarantola (1978): Inverse problem theory (Amsterdam: Elsevier)
- Zhdanov (2002): Geophysical inverse theory and regularization problems (Amsterdam - New York - Tokyo: Elsevier)
- see also Reference list (refs?)
Further links
- pyGIMLi: Python Geophysical Inversion and Modelling Library https://pygimli.org
- Geoscience.XYZ: https://geosci.xyz
- https://github.com/halbmy/IJulia - Julia Notebooks for Inverse Problems
- Electromagnetics & Geoelectrics (5. BGIP, in German)
- Theory of Electromagnetic Methods,
License
This material is licensed under the Creative Commons License CC-by 2.0.