Skip to main content
Ctrl+K

This book is under construction. The version currently shared with students: mude.citg.tudelft.nl/book

Textbook

Q1 Topics

  • 1. Modelling concepts
    • 1.1. Model classification
    • 1.2. Model decisions
    • 1.3. Uncertainty Classification
    • 1.4. Verification, Calibration and Validation
    • 1.5. Goodness of Fit
  • 2. Numerical Modelling
    • 2.1. Revision of Concepts
    • 2.2. The First Derivative
    • 2.3. Finite Difference Method
    • 2.4. Taylor Series Expansion
      • Exercises on Taylor expansion
    • 2.5. Numerical Integration
    • 2.6. Initial Value Problem for ODE: single-step methods
    • 2.7. Implicit methods for nonlinear ODE
    • 2.8. Multi-step and multi-stage methods
    • 2.9. Boundary-value Problems: second-order ODE
  • 3. Univariate Continuous Distributions
    • 3.1. PDF and CDF
    • 3.2. Empirical Distributions
    • 3.3. Non-Gaussian distributions
    • 3.4. Parametric Distributions
      • Uniform distribution
      • Gaussian distribution
      • Lognormal distribution
      • Gumbel distribution
      • Exponential distribution
      • Beta distribution
      • Summary of parametric distributions
    • 3.5. Location, Shape and Scale: Consistent Parameterization
    • 3.6. Fitting a Distribution
      • Method of moments
      • Maximum Likelihood Estimation
      • Goodness of Fit
  • 4. Multivariate Distributions
    • 4.1. Discrete events
    • 4.2. Continuous Random Variables
    • 4.3. Covariance and correlation coefficient
    • 4.4. Multivariate Gaussian distribution
  • 5. Uncertainty Propagation
    • 5.1. Transforming random variables
    • 5.2. Mean and Variance propagation laws
    • 5.3. Linear propagation of mean and covariance
    • 5.4. Monte Carlo simulations for uncertainty propagation
  • 6. Observation theory
    • 6.1. Introduction
    • 6.2. Least-squares estimation
      • Notebook exercise: fitting different models
    • 6.3. Weighted least-squares estimation
      • Notebook exercise: playing with the weights
    • 6.4. Best linear unbiased estimation
      • Estimation of a single sample vs many samples
    • 6.5. Precision and confidence intervals
      • Notebook: factors influencing precision
    • 6.6. Maximum Likelihood Estimation
    • 6.7. Non-linear least-squares estimation
      • Notebook Gauss-Newton iteration for GNSS Trilateration
    • 6.8. Model testing
    • 6.9. Hypothesis testing for Sensing and Monitoring
      • Notebook exercise: which melting model is better?
      • Notebook exercises: is my null hypothesis good enough?
    • 6.10. Notation and formulas

Q2 Topics

  • 1. Numerical Methods for PDEs
    • 1.1. Introduction to PDEs
    • 1.2. Diffusion Equation
    • 1.3. Advection Equation
    • 1.4. Advection-diffusion equation
  • 2. Finite Element Method
    • 2.1. Strong form of the 1D Poisson equation
    • 2.2. From strong to weak form
    • 2.3. From weak to discrete form
    • 2.4. Finite element implementation
    • 2.5. Elements and shape functions
    • 2.6. Numerical integration
    • 2.7. Poisson equation in 2D
    • 2.8. Isoparametric mapping
  • 3. Signal Processing
    • 3.1. Fourier Series
      • Square wave example
    • 3.2. Complex Fourier Series
    • 3.3. Fourier Transform
    • 3.4. Sampling
    • 3.5. Discrete Fourier Transform
    • 3.6. Spectral Estimation
    • 3.7. Supplementary Videos
  • 4. Time Series Analysis
    • 4.1. Time series components
      • Components of time series
    • 4.2. Noise and stochastic model
    • 4.3. Modelling and Estimation
      • Time series modelling
    • 4.4. Time Series Stationarity
    • 4.5. Autocovariance function
    • 4.6. Autoregressive process
      • Fit AR(p) model (Optional)
    • 4.7. Autocorrelation and PSD
    • 4.8. Forecasting
      • Forecasting example
    • 4.9. Appendix on Moving Average (optional)
  • 5. Optimization
    • 5.1. Optimization origins
    • 5.2. Optimization basics
    • 5.3. Taxonomy of optimization models
    • 5.4. Example Linear Programming
      • Implementation in Python
    • 5.5. Augmented form of a mathematical program
    • 5.6. SIMPLEX method
      • Exercise 1: Simple Exercise
      • Exercise 2: Cargo airplane (Optional)
        • Cargo Airplane: Implementation in Python
    • 5.7. Integer problems and solving with Branch-and-Bound
    • 5.8. Some constraints that take advantage of integer/binary variables
    • 5.9. Genetic Algorithm
    • 5.10. Exercise Airlines Problem
    • 5.11. Project Amsterdam
  • 6. Machine Learning
    • 6.1. Introduction and k-Nearest Neighbors
    • 6.2. Decision Theory
    • 6.3. Linear Basis Function Models and Regularization
    • 6.4. Stochastic Gradient Descent
    • 6.5. Feedforward Neural Networks
      • MLP Application: Predicting Pressure in a Water Network
    • 6.6. Review and Quiz
  • 7. Extreme Value Analysis
    • 7.1. Concept of Extremes
      • Return Period
      • Sampling Techniques
    • 7.2. Block Maxima & GEV
      • Block Maxima
      • Asymptotic Model
      • GEV Distribution
      • Return Period & Design Life
    • 7.3. Peak Over Threshold & GPD
      • Peak Over Threshold (POT)
      • Intermezzo: Poisson
      • Threshold & Declustering
      • GPD: Introduction
      • GPD: m Return Levels
      • Return Period & Design Life
    • 7.4. Supplementary Material
      • Bernoulli and Binomial
      • EVA videos
  • 8. Risk Analysis
    • 8.1. Introduction to Risk Analysis
      • Definition of Risk
      • Steps in a Risk Analysis
      • Risk Curve
    • 8.2. Risk Evaluation
      • Decision Analysis
      • Cost Benefit Analysis
      • Economic Optimization
        • Optimization Example
      • Safety Standards
    • 8.3. Exercises
      • FN Curve
      • Dam and River
      • Paint System

Programming

  • 1. Getting Started!
    • 1.1. Computers
    • 1.2. Environments and Environment Managers
    • 1.3. Command Line Interface
    • 1.4. Files and Folders
  • 2. Sharing code in reports
    • 2.1. File Paths
    • 2.2. Markdown
  • 3. Version control with Git
    • 3.1. Version Control
    • 3.2. Jupyter notebooks and git
    • 3.3. Branching and merging
    • 3.4. Merge conflicts
  • 4. Large language models
    • 4.1. Effective prompting
    • 4.2. Generating code exercise
    • 4.3. Debugging errors exercise
    • 4.4. The importance of human-in-the-Loop
  • 5. Object-oriented programming
    • 5.1. Classes and Object-Oriented Programming in Python
    • 5.2. What are classes?
    • 5.3. Encapsulation
    • 5.4. Inheritance
    • 5.5. Polymorphism
    • 5.6. Exercise
  • 6. Programming with large matrices
    • 6.1. Assembly and np._ix
    • 6.2. Sparse matrices with scipy.sparse
    • 6.3. Solving systems of equations
  • 7. Errors in Python
    • 7.1. Error Types
    • 7.2. The Python Traceback
  • 8. Testing in Python
    • 8.1. Assertions
    • 8.2. Raising errors
    • 8.3. Handling errors: the try - except block
    • 8.4. Unit Testing
  • 9. Python packaging
    • 9.1. Packaging

Miscellaneous

  • References
  • Changelog
  • Credits and License
  • Repository
  • Open issue

Index

By MUDE Teachers and the Student Army from Delft University of Technology, built with TeachBooks and Jupyter Book, CC BY 4.0