Course Coordinator: 
Simone Pigolotti
Stochastic Processes with Applications

A broad introduction to stochastic processes, focusing on their application to describe natural phenomena and on numerical simulations rather than on mathematical formalism.  Define and classify stochastic processes (discrete/continuous time and space, Markov property, and forward and backward dynamics). Explore common stochastic processes (Markov chains, Master equations, Langevin equations) and their key applications in physics, biology, and neuroscience. Use mathematical techniques to analyze stochastic processes and simulate discrete and continuous stochastic processes using Python.

Course Content: 

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.

6) Elements of stochastic thermodynamics

Course Type: 

Reports (numerical simulations): 60% hands-on sessions, 20% homework assignments, 20% participation in class

Text Book: 

Random Walks in Biology by H. C. Berg (1993) Princeton University Press
Stochastic Methods: A Handbook for the Natural and Social Sciences by C. Gardiner (2009) Springer

Reference Book: 

An Introduction to Probability Theory and its Applications, Vol 1 by W. Feller (1968) Wiley
The Fokker-Planck Equation, by H. Risken (1984) Springer

Prior Knowledge: 
Calculus, Fourier transforms, probability theory, scientific programming in Python.

Students must install the Jupyter notebook