# Introduction

This module introduces scientific modelling, the various types of modelling paradigms and the basic analytical and numerical solutions to develop simulation models.

The module will teach us to develop models to address research problems, analyse these models and use numerical simulations to get insights into the behaviour of the model.

## Key Terms

### Modelling

Modelling is a key process in research. We need to know the role of models in science, how to build them, the practical aspects of the modelling, and the different paradigms.

### Scientific Computing

This is the process of "solving" models using computers. This involves the algorithms behind systems of linear and non-linear equations, derivatives and integrals, solving differential equations, agent-based models, networks, and maybe optimization and Monte Carlo methods.

## Applications of Modelling

Modelling is really useful in loads of different areas of science, including the swarming behaviour of a group of animals, how forest fires spread, how wealth is distributed, etc.

## Statistical vs Dynamical Models

Statistical models look at data initially, then build the model to fit the data and the correlation within that data. We build this with the idea that correlation is causation, which we have been told many times is not necessarily the case. Monte Carlo simulations are used with statistical models.

A dynamical model attempts to describe the system state, and the rules for evolution of the system. This is the main type of model used for natural science. This is the main focus of the modelling in this module.

Evolution rules for dynamical models are typically captured with differential equations.

A statistical model would usually involve observing something, e.g., a pendulum and then fitting the length of the period and the length of the rod, concluding that the period is \(T\approx \sqrt{L}\).

A dynamical model would be built on Newton's Laws, the differential equation for this solved, then a conclusion that \(T \approx \sqrt{L}\) as a property of the solutions.

Typically, we observe some pattern in the real world and want to explain how the pattern arose. We can do this in terms of the dynamics from the difference or differential equations, rule-based dynamics (in the case of ABM), or in terms of optimization or game theory.

## Difference vs. Differential Equations

These are ways of describing equations in either a discrete or continuous way. The discrete version is the difference equations, which work in fixed time intervals: $$ x_{t+1} = f(x_t, t) $$ or in the case of continuous: $$ dx/dt=f(x,t) $$

When we consider modelling, we think in terms of the populations. A system either comprises many similar entities, where we would use differential equations, or heterogeneous entities, where we would use agent-based models.

For example, when modelling a computer, this is a clocked time, so would be modelled with difference equations. A pendulum works in continuous time, so would be modelled in differential equations.

A herd of cattle would be solved with differential equations, but the interactions between them, known as the dynamics of the class would be done with an agent based model, as each cow is different.

For disease modelling, we traditionally use differential equations. Some of the details do matter, so ABM may also be used.

## Administrivia

The content of the module is covered in pre-recorded lectures, which we are expected to watch before the lecture sessions. The in person sessions will then cover the important points and look at the problem sheets which are set.

### Prerequisite Knowledge

This course is aimed at 4th year students with a computer science or electronics background. It looks into some basic maths (slightly beyond the scope of A-levels), including differentiation, integration, Taylor expansions (A level Further Mathematics). Some programming experience is also expected.

### Assessment

#### Formative Coursework

There is a formative assessment, which is a group coursework where we look at an exercise to develop an agent-based model. Progress is monitored in lecture slots. This is not marked.

#### Individual Presentation (30%)

There is also a presentation about a simulation modelling paper, giving an overview of the area the research addresses, the contribution and the simulation modelling that is being used.

#### Individual Report (70%)

The second part is a modelling problem, which we cave to develop using various techniques, comparing each of them, then writing a report that summarises the findings.

### Course Structure

The course is structured with in three main parts.

#### Scientific Computing

- Basic numerical methods (linear and non-linear equations),
- Taylor expansions,
- Numerical integration and differentiation, and
- Difference equations

#### Differential Equations

- differential equations
- analysis techniques and numerical methods for solving them
- Matlab and system dynamics.

#### Theory, ABM

- Modelling theory,
- Agent based models,
- Netlogo, and
- Networks, Monte Carlo simulation and optimization (if there is time).

## Problem Sheets

These are released weekly. Typesetting answers to these seems like a slight waste of time. My notes have, however, been scanned in. I often find that neither my notes nor the lecture slides are descriptive enough to understand the problem sheets, so I typically consult other online notes, Wikipedia, etc., to see if I can solve them before looking through the worked solutions.

- Week 1:
*No problem sheet* - Week 2: Gaussian elimination, Jacobi, Newton, FPI (sheet, worked solutions, my answers)
- Week 3: Numerical Differentiation and Integration (sheet, worked solutions part 1, part 2, my answers)
- Week 4: Difference Equations (hard one) (sheet, worked solutions part 1, part 2, my answers (missing Q5,6))
- Week 5: Differential Equations (also hard, 2+h to do Q1 and some of Q2) (sheet, worked solutions part 1, part 2, my answers (missing Q2cd,3+))
- Week 6: Numerical Solutions (very hard, think fundamental understanding not there, not yet complete

## Lectures

Info

This is mainly for me to track the work that I need to be doing to stay on top of things.

Date | What | Type | Done |
---|---|---|---|

Week 4 | Difference Equations | Problem Sheet | ✓ (Missing Q5&6) |

Week 5 | Differential Equations Intro | Lecture | ✓ (Needs Revision) |

Week 5 | Differential Equations Solution Methods | Lecture | ✓ (Needs Revision) |

Week 5 | Differential Equations | Problem Sheet | ✓ (Q1 and most of Q2, rest seem really difficult but good revision) |

Week 6 | Differential Equations Numerical | Lecture | ✓ |

Week 6 | Differential Equations More Numerical | Lecture | ✓ |

Week 6 | Differential Equations | Problem Sheet | ✓ |

Week 7 | Equilibrium Analysis | Lecture | |

Week 7 | Solving systems of linear ODEs | Lecture | |

Week 7 | Linear Stability Analyis | Problem Sheet | |

Week 8 | Equlibrium analysis in higher dimensions, competing bacteria and flu outbreaks | Lecture | |

Week 8 | Equlibrium analysis in higher dimensions, competing bacteria and flu outbreaks | Lecture | |

Week 8 | Equlibrium analysis in higher dimensions, competing bacteria and flu outbreaks | Problem Sheet | |

Week 9 | System Dynamics | Lecture | |

Week 9 | Monte Carlo Simulations | Lecture | |

Week 9 | Monte Carlo | Problem Sheet | |

*[ABM]: Agent Based Modelling |