## Basic Numerical Methods

Upon completing this module, the students will acquire the basics of numerical mathematics and numerical simulation methods. This includes the theoretical understanding of how a computer calculates with finite floating-point numbers and what kind of errors and inaccuracies may arise from these, and how to reduce or control them same. They will be familiar with basic numerical methods for modelling and simulating statistical models, linear algebra models, and ordinary and partial differential equations. They will be able to estimate the approximation errors of the methods and determine the algorithmic intensity, and will be able to implement these methods themselves.

**Contents**

Floating point arithmetic, rounding errors, cancellation, numerical interpolation (Lagrange, Newton, Splines), Taylor developments, finite differences and their approximation errors, explicit and implicit time integrators, direct and iterative algorithms for matrix inversion, matrix decomposition (LU), solution for the Poisson equation.

**Program / Module**

M.Sc. Computational Modeling and Simulation

Module: CMS-COR-NUM - Basic Numerical Methods

**Time/Place**

**Winter Term**

Lecture: Mondays, 5. DS (14:50-16:20) in APB-E001 (computer science building) / **FIRST LECTURE: OCT 8**

Exercises: Thursday, 3. DS (11:10-12:40) in APB-E006/U

**Format**

2 SWS lecture, 2 SWS exercise, self-study

5 credits

**Exam**

If there are more than 10 registered students, the module examination consists of a written examination, with a duration of 90 minutes. If there are 10 or fewer registered students, it consists of an oral examination as an individual examination performance amounting to 30 minutes; this will be announced to the enrolled students at the end of the enrollment period.

**Registration to the course**

For students of the Master program "Computational Modeling and Simulation: via CampusNet SELMA

For students of the Computer Science programs: via jExam

**Teachers**

Lecture: Prof. Ivo F. Sbalzarini

Exercises: Suryanarayana Maddu

**Teaching language:** ENGLISH

Lecture notes are available as PDF here.

Below is the weekly syllabus and the exercise/solution handouts:

- Lecture 1 - finite-precision arithmetics, IEEE number representation, roundoff and extinction, error propagation, condition numbers, inverse error analysis (Exercise 01 PDF)
- Lecture 2 - linear systems of equations, LU decomposition of matrices, Gaussian elimination, iterative linear solvers, Jacobi method
- Lecture 3 - Gauss-Seidel method, SOR method, Conjugate gradient methods
- Lecture 4 - gradient descent, preconditioning schemes
- Lecture 5 - Least-Squares methods, QR decomposition, singular value decomposition, GMRES algorithm
- Lecture 6 - Non-linear systems of equations, fixed points, Newton method, bisection search, quasi-Newton methods, rank-1 update, Broyden algorithm
- Lecture 7 - Interpolation algorithms: Lagrange interpolation, barycentric interpolation, Aitken-Neville algorithm, Hermite and Spline interpolation
- Lecture 8 - Trigonometric interpolation: Discrete Fourier transform and fast Fourier transform algorithms
- Lecture 9 - Numerical integration (quadrature): trapezoidal rule, midpoint rule, Simpson rule, Romberg extrapolation, Gauss quadrature
- Lecture 10 - Numerical differentiation: finite difference methods, Romberg extrapolation, Horner scheme, automatic differentiation (AD)
- Lecture 11 - Initial value problems of ordinary differential equations, the explicit Euler scheme, second-order schemes, Heun algorithm, Runge-Kutta schemes, variable step size control
- Lecture 12 - embedded Runge-Kutta, implicit schemes, Butcher tables, Adams-Bashforth formula, numerical stability, stiff problems
- Lecture 13 - Partial differential equations, method of lines, parabolic problems (diffusion), hyperbolic problems (waves), elliptic problems (Poisson equation), finite difference schemes, stencil methods, Courant-Friedrichs-Levy condition