## 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.zip, generate_data.py, data_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.py, b_model.py, c_tebd.py, tfi_exact.py)

Exercise sheet 9 [PDF] (d_dmrg.py)

Exercise sheet 10 [PDF] (e_tps.py)

Exercise sheet 11 [PDF] (network.py, data_loader.py, generate_mc_data.py, mnist.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.