# NUMPHYsandML

## Contents

# Numerical Physics and Machine Learning

## Course description

We will cover many algothims used in many-body problems and complex systems: Monte Carlo methods, molecular dynamics and optmization in complex landscapes. We shall also discuss the use of some machine learning algorithms (Boltzmann machines, Auto-encoder, Deep Learning) for physics problems. We focus on algorithms and physics, not on programming and heavy numerics. The theoretical lecture is followed by a tutorial introducing concrete numerical exercises. You will have to hand in 3 homeworks.

Lectures on machine learning will be done remotely. You will be able to access them on https://epfl.zoom.us/my/krzakalaflorent Tutorials will take place as usual on the gotomeeting.

## The Team

- Alberto Rosso (Numerical Physics)
- Florent Krzakala (Machine Learning)
- Marko Medenjak (Tutorials)

## Where and When

- Lectures on Fridays: 14:00-16:00
- Tutorials on Fridays: 16:00-18:00
- ENS, 24 rue Lhomond, room L367 (third floor)

## Computer Requirements

**No previous experience in programming is required.**

**Programming Language: Python**

For practical installation, we recommand either to use Anaconda (See Memento Python) or use google colab.

The Colaboratory platform from Google is quite good way to use powerful computer without buying one: It requires no specific hardware or software, and even allows you to use GPU computing for free, all by writting a jupyter notebook that you can then share.

## Grading

Homeworks (10 points each) + 1 MCQ (30 points)

** Here you can find a trial of the MCQ** 10 Questions about numerical physics

**you can find a short presentation video of the MCQ on the Dropbox by A. Rosso**

## Schedule

** Project in Markox Chain Monte Carlo** Manon Michel's Project

**Friday, September 4, 2020 **

- Lecture 1 Introduction to Monte Carlo

- Tutorial 1 Markov Matrix

**Friday, September 11, 2020**

- Lecture 2 Basic Sampling

- Tutorial 2 Markov matrix problems

**Friday, September 18, 2020**

- Lecture 3: Errors and Precision

- Tutorial 3 Thumb rule problems

Homework: Download

**Friday, September 25, 2020**

- Lecture 4: Ising model and phase transitions

- Tutorial 4: Ising model and phase transitions problems

**Friday, October 2, 2020**

Lecture 5: Quantum particle

Tutorial 5: Time evolution (quantum) problems

Homework 2: Download

**Friday, October 9, 2020**

Lecture 6: Importance sampling

Tutorial 6: Faster than the clock algorithms problems

** Friday, October 16, 2020**

**GoToMeeting link** [1] (Room 1 M2 ICFP)

Lecture 7: Optimization & Dijkstra algorithm

Tutorial 7: Simulated annealing problems

**Friday, October 23, 2020**

Lecture 8: Maximum Likelyhood estimation: follow the link [2]

Tutorial 8: Maximum Likelyhood estimation problems

** Due: Homework 2 (send it to Marko)**

**Friday, November 06, 2020**

Lecture 9: Restricted Boltzmann machines

Tutorial 9: Restricted Boltzmann machines problems

**Friday, November 13, 2020**

Tutorial 10: k-NN and regression problems

**Homework 3** Due by December 4, 2020
Homework
Data

**Friday, November 27, 2020**

Tomorrow Florent cannot really give the talk in direct live ... but never fear:

- he can make a short Q/A tomorrow at, say, 15h or 15H30

- he registered the whole lecture in video, and put it here:

Tutorial 11 Deep neural networks problems

**Friday, December 4, 2020**

Modern neural networks

**Due: Homework 3** (send it to me (Marko))

**Friday, December 11, 2020**

**Multiple Choice Questions: the final test**

## References

- SMAC W. Krauth Statistical Mechanics: Algorithms and Computations (Oxford: Oxford University Press) (2006)
- Other references are specified in each lectures