This page gives an overview of the classes we teach regularly. For some earlier teaching by Michael Herbst, see https://michael-herbst.com/teaching/.

Error control in scientific modelling

IS academia: MATH-500
Semester: Autumn
Target audience: Mathematics Master, Materials science Master
Moodle link: https://go.epfl.ch/error-control


Errors are ubiquitous in computational science as neither models nor numerical techniques are perfect. With respect to eigenvalue problems motivated from materials science (transfer problems, atomistic modelling) we discuss, implement and apply numerical techniques for estimating simulation error.


Algorithm demonstrations and implementations will be based on the Julia programming language and interactive Pluto notebooks.


This course delivers a mathematical viewpoint on materials modelling and it is explicitly intended for an interdisciplinary student audience. To keep it accessible, the key mathematical and physical concepts will both be revised as we go along. However, the learning curve will be steep and an interest to learn about the respective other discipline is required. The problem sheets and the projects require a substantial amount of work and feature both theoretical (proof-oriented) and applied (programming-based and simulation-based) components. While there is some freedom for students to select their respective focus, students are encouraged to team up across the disciplines for the course work.


There is no single textbook corresponding to the content of the course. Parts of the lectures have substantial overlap with the following resources, where further information can be found.

Numerical analysis

IS academia: MATH-251(b)
Semester: Spring
Target audience: Materials science Bachelor
Moodle link: https://go.epfl.ch/MATH-251_b


The students will learn key numerical techniques for solving standard mathematical problems in science and engineering. The underlying mathematical theory and properties are discussed.


The topics covered include:

Edit this page on
Last modified: November 23, 2023. Website built with Franklin.jl and the Julia programming language.