CO923 Computational Methods for Complex Systems
Module Leader: Samuel Johnson (Mathematics and Complexity)
Context:
This is an option for the CDT in Mathematics of RealWorld Systems taught programme.
Taken by students from:
Code  Degree Title  Year of study  core or option  credits 
PG1PG  MSc in Mathematics of Systems 
1 
option 
18 CATS 
PG1PF  Mathematics of Systems MSc+PhD 
1 
option 
18 CATS 
PF3P6/7  Erasmus Mundus Masters in Complex Systems 
1 
option 
9 ECTS 
Module Aims
The module covers fundamental concepts of simulation of complex systems and numerical solution of related mathematical problems. It introduces several paradigms in the study of complexity, along with the methods used for their investigation and an overview of current research.
Syllabus
Basic numerical methods: systems of linear equations, solution of eigenvalue problems, matrix problems.
Introduction to Monte Carlo methods: ergodicity, detailed balance, the Ising model, uncertainty estimation.
Complex systems: emergence, selforganization, computational techniques.
Paradigms in complexity: cellular automata, percolation, selforganised criticality; applications to sociophysics, ecology and neuroscience.
Generation of complex networks: models, theorems, Monte Carlo algorithms.
Stability of networked dynamical systems.
PLEASE NOTE: This is NOT a programming module. Computer programming will NOT form a part of the material taught in class or assessed during the oral exam. Rather, this is a module about methods and algorithms. As such, it is assumed that all the students will have familiarity with some programming language and/or environment, which they will have to use for the coursework, which is computational in nature. The particular choice of the programming language (MATLAB, FORTRAN, C, Mathematica, etc.) is left entirely to the student and is completely irrelevant for the purposes of the module. Of course, the chosen programming language should still be fast enough to complete the assignments in time. The coursework will not be assessed based on the details of the code, but rather on the correctness of the results and on a short report explaining in detail the choices made for the implementation and their reasons.
Illustrative Bibliography:
W. H. Press et al., “Numerical recipes in C”, Cambridge University Press.
M. E. J. Newman and G. T. Barkema, “Monte Carlo methods in statistical physics”, Oxford University Press.
K. Huang, "Introduction to Statistical Physics", CRC Press.
P. L. Krapivsky, S Redner & E BenNaim, "A Kinetic View of Statistical Physics", Cambridge University Press.
J. H. Holland, "Complexity: A Very Short Introduction", Oxford University Press.
S. H. Strogatz, "Nonlinear Dynamics and Chaos", Westview Press.
Teaching:

Lectures per week
2 x 2 hours
Module duration
10 weeks
Total contact hours
40
Private study and group working
100
Place and time:
Mondays: 24pm in D1.07
Tuesdays: 35pm in B1.01Viva_timetable_2
Assessment information 2016/ 2017:
There will be two computational problems set during the course, each worth 25% of the final mark based on written reports of the results. The deadlines for these will be 1 February and 7 March.
In week 10 there will be an oral examination which will be worth 50% of the final mark.
Suggested papers as basis for Assignment 2: List
Timetable for Assignment 2 presentations: Timetable
Viva date: 14 March 2017
Tentative viva schedule  updated!
Slides from past lectures:
Statistical Physics and Monte Carlo methods
Criticality and the Ising model
Introduction to complex networks
Neuroscience and the Hopfield model
Evolution and genetic algorithms
Data:
C elegans networks:
Gene regulatory networks:
Food webs: