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

**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.

Motivation for studying errors in eigenvalue problems

Types of simulation error

Residual-error relationships for eigenvalue problems

Perturbation theory and parametrised eigenvalue problems

Subtleties of infinite-dimensional eigenvalue problems

Discretisation and discretisation error

Plane-wave basis sets

Errors due to uncertain parameters (if time permits)

Non-linear eigenvalue problems (if time permits)

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

Analysis

Linear algebra

Exposure to numerical linear algebra

Exposure to numerical methods for solving partial differential equations (such as finite-element methods, plane-wave methods)

Exposure to implementing numerical algorithms (e.g. using Python or Julia)

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.

Youssef Saad.

*Numerical Methods for Large Eigenvalue Problems*, SIAM (2011). A PDF is available free of charge on Youssef Saad's website.Nicholas J. Higham.

*Accuracy and Stability of Numerical Algorithms*, SIAM (2002).Peter Arbenz.

*Lecture notes on solving large scale eigenvalue problems*, ETHZ. A PDF is available from Peter Arbenz' website.Mathieu Lewin.

*Théorie spectrale et mécanique quantique*, Springer (2022).

**IS academia:** MATH-251(b)

**Semester:** *Spring*

**Target audience:** 2nd year Bachelor materials science, electrical engineering, chemistry

**Moodle link:** https://go.epfl.ch/numerical-analysis

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:

Properties and issues with numerical computation

Finding roots and fixed points

Polynomial interpolation

Solving linear and non-linear equations

Gradient-based methods for solving linear and eigenproblems

Numerical integration and differentiation

Basic numerical techniques for solving differential equations

Giray Ökten

*First Semester Numerical analysis*(2023). Online pdfTobin A. Driscoll, Richard J. Braun

*Fundamentals of Numerical Computation*, SIAM (2022). Web version, FundamentalsNumericalComputation julia packageMIT's

*Introduction to computational thinking*, which introduces Julia as well as its way of solving scientific problems in a hands-on and fun way.

For this course the recruitment of AEs (assistante-étudiant) is directly processed through STI. If you want to become an AE for this course please register via the respective STI platform and do not apply by email. All such direct application emails will be ignored.

Last modified: February 29, 2024. Website built with Franklin.jl and the Julia programming language.