Applied Math Modeling (Python)
Applied Math Lab: course hub
Welcome to Applied Math Lab. This site brings together the lecture notes, computational labs, slides, and supporting materials for the course.
Quick links:
- Use the navigation bar at the left to explore sessions and modules.
- Syllabus / program overview
- Slide library
Course at a glance
- Format: 6 modules organized into 32 sessions
- Tools: Python, NumPy, SciPy, matplotlib, Streamlit, NetworkX
- Main goal: learn mathematical modeling through analysis, simulation, and interpretation
Learning Approach
- Start from a mathematical model and identify its main variables, parameters, and assumptions.
- Move from qualitative reasoning to numerical simulation and visual interpretation.
- Compare related models across sessions so each new topic extends a familiar workflow.
- Use the assignments to turn lecture examples into independent investigations.
Course map
Low-Dimensional Dynamics
S1 · Course overview
S2 · A first model: the spruce budworm
S3 · Lab: numerical tools for 1D models
- Solving Initial Value Problems
- Budworm: the Model in Code
- Budworm: Integration and Time Series
- Budworm: a Streamlit App
- Michaelis-Menten Kinetics
- Practice: Budworm App
- Reproducible Code
S4 · The budworm outbreak: hysteresis
S5 · Epidemics: SIR and SIS
S6 · Lab: epidemics and real data
S7 · Two-dimensional systems: oscillations
S8 · Lab: two-dimensional systems
- CDIMA: Phase Plane
- CDIMA: Nullclines and Fixed Points
- CDIMA: Stability and the Hopf Point
- Animations and Interactivity
- Van der Pol Oscillator
- Practice: Planar Systems
- CDIMA: Parameter Map
S9 · Excitable systems and neurons
Extra: the Lorenz system
Synchronization and Collective Behaviour
S10 · Synchronization: from one oscillator to many
S11 · The Kuramoto model
S12 · Lab: Kuramoto and the Millennium Bridge
- Initialization
- The ODE
- Pairwise vs Mean Field (optional)
- Animation
- Bifurcation Diagram
- Locating the Threshold
- Full Simulation (optional)
- Finite-Size Effects
- Kuramoto Assignment (graded)
S13 · Collective behaviour: Vicsek and Couzin
S14 · Lab: collective motion
Modelling with Randomness
S15 · From random walks to diffusion
S16 · Fat tails and anomalous diffusion
S17 · Modelling financial markets
S18 · Lab: financial time series
Space and Pattern Formation
S19 · Reaction-diffusion equations
S20 · Turing instability
S21 · Lab: pattern formation in 1D
- Gierer-Meinhardt Model in 1D
- Turing Numerics
- Unstable Modes in 1D
- Laplacian in 1D
- Boundary Conditions
- Gierer-Meinhardt Solver in 1D
- Time-Step Stability
- Animation in 1D
- Animal Coat Patterns
- Assignment: Pattern Formation (graded)
S22 · Lab: pattern formation in 2D
Complex Networks
S23 · Networks: fundamental concepts
- Network Concepts
- Robustness and Percolation
- NetworkX Basics
- Edges and Weights
- Drawing Graphs
- Drawing Attributes
- Graphs from Edge Lists
- Paths and Components
- Paths in Directed Graphs
- Degree and Clustering
- Centrality in NetworkX
S24 · Lab: cascading failures in power grids
S25 · Models of network growth
S26 · Lab: spreading processes on networks
Explorables and Discrete Models
S27-28 · Explorables
S29 · Modelling with cellular automata
S30 · Lab: cellular automata
- 1D Cellular Automata
- Space-Time Diagrams
- Rule Exploration
- Boundary Conditions
- Game of Life
- Random Soups
- Practice: Cellular Automata
S31 · Traffic flow and congestion
S32 · Lab: traffic models
What you will build
Across the course you will implement and experiment with:
- Low-dimensional dynamical systems (spruce budworm, SIR/SIS, CDIMA, Van der Pol, FitzHugh-Nagumo)
- Coupled oscillator simulations (Kuramoto synchronization and the Millennium Bridge)
- Collective motion models (Vicsek, Couzin, social force, predator response)
- Random walks and statistical modelling (diffusion, heavy tails, financial returns)
- Network analysis and spreading simulations (metrics, graph models, SIS/SIR)
- Reaction-diffusion solvers and Turing analysis (Gierer-Meinhardt, Gray-Scott)
- Discrete and agent-based explorables (cellular automata, traffic flow, congestion)
How to Use the Material
- Read each module overview first so the mathematical question and modeling goal are clear.
- Use the lecture slides as a compact guide to the main ideas and calculations.
- Work through the case studies in order before starting the assignment.
- Return to earlier modules when a later topic reuses the same analytical or numerical pattern.