**General information**

Time and place: Mon. 14:15-16:00, Philosophenweg 12, kHS (lecture), Wed. 14:15-16:00, KIP CIP-Pool 1.401 (programming exercise)

Please sign up for the exercise group. Your solutions of the programming exercises have to be uploaded there.

The aim of this lecture is to provide an introduction to computational methods used to model quantum mechanics problems. We will cover all aspects of the modeling process, from abstraction and representation of the wave function and exact and approximate numerical methods for solving the stationary and time-dependent Schrödinger equation to data handling and visualization of the simulation results. We will not go too deep into the subtleties of numerical methods but rather pursue a pragmatic hands-on approach guided by physical problems and learn to use a high-level programming language to model them.

The programming language we use is Python. The exercises will be provided as Jupiter notebooks that may already contain code fragments that are to be edited and completed. This choice is motivated by the fact that Python Scipy modules combine all necessary tools from numerical routines to data handing and visualization on a single non-commercial platform.

Installation instructions for Python with Jupyter notebooks can be found at: https://jupyter.readthedocs.io/en/latest/install.html

Alternatively, you can go to https://jupyter.kip.uni-heidelberg.de and log in with your uni-id.

**Prerequisites**

The course is directed at physics students from the 5^{th} semester onward and requires Theoretical Physics IV (Quantum mechanics) and basic programming skills, preferably in Python. An introductory Python tutorial will be provided, however, without any prior programming experience the programming exercises may be quite time consuming.

**Mode of examination**

Students are required to complete the programming exercises and a programming project. Both can be done in groups of two students. The programming projects will be focussed on and deepen one of the topics covered in the lecture and may include reproducing the results of a recent publication. Topics for the projects will be announced on moddle.

**Literature**

There are many books on computational physics. Here are some, which I can recommend:

- J. M. Thijssen, Computational Physics, Cambridge University Press, Cambridge, 1999
- Nicholas J. Giordano, Computational Physics, Pearson Education (1996) ISBN 0133677230.
- Harvey Gould and Jan Tobochnik, An Introduction to Computer Simulation Methods, 2nd edition, Addison Wesley (1996), ISBN 00201506041
- Tao Pang, An Introduction to Computational Physics, Cambridge University Press (1997) ISBN 0521485924

Moreover, some of the topics covered in the lecture, can be found in the following lecture notes:

- Computational quantum physics course by Matthias Troyer from ETH Zürich: http://edu.itp.phys.ethz.ch/fs09/cqp/Script1.pdf
- Lecture notes “Numerical methods in quantum mechanics” by Paolo Giannozzi (University of Udine): https://archive.org/details/Paolo_Giannozzi___Numerical_Methods_in_Quantum_Mechanics/page/n0

**Preliminary list of topics that will be covered**

- Single particle in a potential. Representing the wave function and operators on a grid. Finite difference method. Finding eigenstates of harmonic oscillator and more complex potentials. Exact diagonalization.
- Wave packet propagation in 1D potentials: Split step Fourier method.
- Higher dimensional systems, electronic structure: Overview of basis expansion and variational methods.
- Collective spin systems: Exploiting symmetry to reduce the Hilbert space size. Spin squeezing, Visualization on the Bloch sphere (Husimi distribution, phase space picture). Integrators for ordinary differential equations, mean field and semi-classical methods (truncated Wigner approximation).
- Lattice spin systems: Exact diagonalization, partial traces, entanglement.
- Matrix product states and DMRG. (variational approach, optimization)
- Open systems. Few level systems with dissipation (Spontaneous emission, EIT). Steady states and dynamics. Master equation and quantum jump approach. Mean field approximation. Bistability.