This course will present a broad introduction to stochastic processes. The main focus will be on their application to a variety of modeling situations and on numerical simulations, rather than on the mathematical formalism. After a brief resume of the main concept in probability theory, we will explain what stochastic processes are and the concept of stochastic trajectory. We will then broadly classify stochastic processes (discrete/continuous time and space, Markov property, forward and backward dynamics). The rest of the course is devoted to the most commonly used types of stochastic processes: Markov chains, Master Equations, Langevin/Fokker-Planck equations. For each process, we will review the main applications in physics, biology, and neuroscience, and discuss the simplest algorithms to simulate them on a computer. The course will include “hands-on” sessions in which the students will write their own Python code (based on a template) to simulate stochastic processes, aided by the instructor. These numerical simulations will be finalized as homework and will constitute the main evaluation of the course.
1) Basic concepts of probability theory. Discrete and continuous distributions, main properties. Moments and generating functions. Random number generators.
2) Definition of a stochastic process and classification of stochastic processes. Markov chains.
Concept of ergodicity. Branching processes and Wright-Fisher model in population genetics.
3) Master equations, main properties and techniques of solution. Gillespie algorithm. Stochastic chemical kinetics.
4) Fokker-Planck equations and Langevin equations. Main methods of solution. Simulation schemes for Langevin equations. Random walks and colloidal particles in physics.
5) First passage-time problems. Concept of absorbing state and main methods of solution. First passage times in integrate-and-fire neurons.
• Basic calculus: students should be able to calculate integrals, know what a Fourier transform is, and solve simple differential equations.
• Basic probability theory: students should be familiar with basic concepts in probability theory, e.g. discrete and continuous distributions, random variables, conditional probabilities, mean and
variance, correlations. A resume will be made at the beginning of the course.
• Scientific programming: the students are expected to be already able to write, for example, a program to integrate a differential equation numerically via the Euler scheme and plot the results. Python is the standard language for the course. The students are required to install the Jupiter notebook system and bring their own laptop for the hands-on sessions.