Computational Methods in Many-Body Physics

Lecturers: Michael Knap, Frank Pollmann
Teaching Assistant: Johannes Hauschild

Summer Term 
Lectures: Tue 14:00-15:30, seminar room 3343 
Practicals: Fri 14:00-18:00, seminar room CIP1/2 

This course provides an introduction to numerical techniques used for solving quantum many-body problems. It covers (Quantum) Monte Carlo, Exact Diagonalization, Matrix Product States, Tensor Networks, and Non-Equilibrium Quantum Field Theory. This course is highly interactive. It consists of two hours lectures per week accompanied by four hours of practicals in which the newly acquired techniques will be applied to problems that directly touch upon current research in our groups.

Outline:

I. Introduction [PDF]
Lattice models

II. Classical Monte Carlo simulations [PDF]
Metropolis algorithm
Critical slowing down: cluster and loops algorithm

III. Finite size scaling analysis [PDF]

IV. Exact diagonalization [PDF]
Exact diagonalization
Sparse matrices and the Lanczos method 
Symmetries
Dynamical properties

V. Entanglement and matrix product states [PDF]
Area law 
Scaling in critical systems 
AKLT model
Canonical form 

VI Matrix product state based algorithms [PDF]
Time Evolving Block Decimation 
Density Matrix Renormalization Group 

VII. Tensor product states [PDF]
Tensor Renormalization
Boundary theories

VIII. Machine Learning [PDF]
Neural networks

IX. Quantum Monte Carlo methods [PDF]
Stochastic Series Expansion

Exercises

You will be given time to solve them during the Friday tutorials.

To get a bonus for the final exam, show up to the Friday tutorials or send some codes/plots to Johannes to prove that you worked on the exercises.

Exercise sheet 1 [PDF] (metropolis.py)
Exercise sheet 2 [PDF]
Exercise sheet 3 [PDF] (data_ising_square.zipgenerate_data.pydata_ising_triangular.zip)
Exercise sheet 4 [PDF]
Exercise sheet 5 [PDF] (ed_conserve.py)
Exercise sheet 6 [PDF] (lanczos.py)
Exercise sheet 7 [PDF]
Exercise sheet 8 [PDF] (a_mps.pyb_model.pyc_tebd.pytfi_exact.py)
Exercise sheet 9 [PDF] (d_dmrg.py)
Exercise sheet 10 [PDF] (e_tps.py)
Exercise sheet 11 [PDF] (network.pydata_loader.pygenerate_mc_data.pymnist.pkl.gz)
Exercise sheet 12 [PDF] (sse.py)

Literature

Introduction to Python, www.scipy-lectures.org/
Lecture Notes by Anders W. Sandvik, arxiv.org/abs/1101.3281v1
Lecture Notes by Johannes Hauschild, Frank Pollmann, arxiv.org/abs/1805.00055 
Review on DMRG by Ulrich Schollwoeck, arxiv.org/abs/1008.3477
Lecture Notes by Juergen Berges, arxiv.org/abs/1503.02907
Online book by Michael Nielsen, neuralnetworksanddeeplearning.com

Exam

We will give out numerical projects, which are extensions of the tutorials.
Students, who want to take the exam, need to choose and work on one of these projects.
In the oral exam, the students are asked to give a 10 minutes presentation on the basic ideas and results of the project, followed by 15 minutes of questions, which can be both about the project itself as well as general questions regarding other topics of the course.

List of projects: [PDF]
Write a short Email to Johannes stating the project you want.

The exam takes place on Thursday, July 26th, (individual times by E-mail) in the Room PH3344.