Advanced Computational Physics Lab

Scope and Goals

In the advanced computational lab module (M.Phy.1405), students will become acquainted with advanced computational methods and implement these methods themselves using standard programming languages (Python). They will have to demonstrate the correctness of the implementation, apply the methods to a given physics problem, discuss and analyze numerical errors and interpret the numerical data. Students enrolled into the Theoretical physics strand in the Master of Physics program are encouraged to take this module.

The course is divided into 3 topical blocks, and students will work on three programming projects for 4 weeks each. The programming topics will be selected from different branches of theoretical physics such as:

• High-Energy Physics
• Statistical Physics
• Condensed Matter Theory
• Quantum Many-Body Systems
• Soft Condensed Matter Physics
• Theoretical Biophysics
• Theoretical Astrophysics
• Theoretical Geophysics

The specific topics and projects will vary from year to year.

Prerequisites (recommended)

• Programming experience with e.g., Python, C++ or similar languages
• Advanced Quantum Mechanics or equivalent
• Advanced Statistical Physics or equivalent
• Methods of Computational Physics or equivalent

Course credit

Credit (6ECTS) is earned by passing an oral exam (30mins).
For the oral exam, the students can choose the examiner from the list of instructors posted in Stud.IP and Uni.VZ.

The prerequisites for being admitted to the oral exam are:

• Successful implementation of codes in the three different programming projects. The codes need to be submitted.
• Submission of a written report on each project. 50% of the point total are required for each report to be admitted to the oral exams. The reports need to be prepared individually by each participant.
• One meeting per project with the tutor to discuss the reports.

Important dates

• Onsite course times: Wed., 2-6pm, Fri., 2-4pm
• Organizational Meeting: See Stud.IP announcement.
• Introductory lectures project 1: See Stud.IP announcement.
• Introductory lectures project 2: See Stud.IP announcement.
• Introductory lectures project 3: See Stud.IP announcement.

Programing projects

Details will be provided in the organizational meeting at the beginning of each term.

In each term, projects are offered by three instructors from this list:

• Prof. Dr. Fabian Heidrich-Meisner
• Prof. Dr. Stefan Klumpp
• Prof. Dr. Marcus Müller
• Prof. Dr. Steffen Schumann

Project from Statistical Physics


One project will study a problem of statistical physics, biophysics, or polymer physics. The students will use classical particle-based simulations or continuum models. The task consists in implementing and validating a simulation strategy to investigate the dynamics of structure formation or rare events in soft mater systems like e.g., the thermally activated diffusion in a self-assembled nanostructure.

Project from Particle Physics


Another project will stem from the field of particle physics. The students will have to implement, validate and apply an algorithm to simulate parton cascades, i.e. the subsequent emission process of strongly interacting particles. This accounts for the semi-classical evolution of final states produced in high-energetic particle collisions.

Project from Quantum Many-Body Physics

One Project will cover quantum many-body physics. The students will learn how to efficiently implement exact diagonalization routines or Lanczos methods for lattice Hamiltonians such as Heisenberg models or Hubbard models. The project will deal with either the thermodynamics, real-time evolution, dynamical quantities of such systems.

The figures shows the a matrix product state and unitary gates U, which one can use for time evolution. Adapted from Stolpp et al. Phys. Rev. B 101, 035134 (2020).