Introduction Scientific Computing (WISB356), 2024/2025
Location and time
Monday 13:15-17:00 and Thursday 9:00-12:45 starting on Thursday April 24, 2025. Please check MyTimeTable for the (irregularly) scheduled locations at the Uithof!
Teachers
Module 1: Paul Zegeling (Mathematics, UU)
Module 2: Tristan van Leeuwen (CWI/UU)
Teaching assistant: Hamid
Course material and software
Module 1: in this Module we use Matlab, see Free software at the UU for students. Please install Matlab before the lectures start! And bring your own laptop!
Module 2: Python will be used. If you haven't installed Python yet, please go to: [Anaconda]. A tutorial about jupyter notebooks you may find [here].
Information
All information on module 1 can be found on the present page.
All information on module 2 can be found on Tristan van Leeuwen's ISC webpage.
Grading
Based on two reports, one per module. Report 1 and Report 2 have equal weight and count for 50% of the final grade of the course. Each of the reports needs to obtain a grade of at least 5, and the rounded final grade must be at least 6. The reports can be written in either Dutch or English.
The reports can be written together with (at most) one fellow student.
====> Every student is individually accountable for the whole report.
Reports can be discussed individually afterwards.
This may influence the final grade.
Credits
7,5 ECTS
Description
The aim of this course is to provide a first orientation towards the area of
scientific computing by some case studies from various application areas. Topics treated are widely used techniques
from numerical linear algebra such as the solution of linear systems and eigenvalue problems, within the context of an application such as computing the square root of a matrix (connected to fractional derivatives and Levy flights in epidemiology simulation models) or the processing of images obtained by an MRI scanner. We will also study algorithms for numerically solving space-fractional (and other) partial differential equations.
Both theoretical aspects and practical, software-related
aspects will be treated. Every week there will be frontal lectures alternating with exercise/computer laboratory classes.
This course presents a taste of the master track Applied Mathematics, Complex systems, and Scientific Computing
and it represents an overview of scientific computing.
Prerequisites
Linear algebra (WISB121),
Calculus A (WISB132),
Calculus B (WISB137).
The Bachelor courses Programmeren in de Wiskunde (WISB152) and Numerieke Wiskunde (WISB251) are very useful.
It is not necessary to know Matlab already, as we will start with a gentle introduction to Matlab. Warning: be aware that the level of difficulty of the course will gradually increase during the period of the course, both conceptually and practically, so that near the end (in the second module) we expect the maximum effort from the student.
Schedule
We roughly follow the schedule below. Ch5 means Chapter 5 from the book by Cleve Moler,
"Experiments with Matlab", 2011. Small changes may still occur depending on our progress.
Module 1
We begin with an introduction in Matlab: Chapters 1, 2 (basic calculations, functions, plotting) and Chapters 4, 5 (matrices, linear systems) from the online book by Cleve Moler (2011), Experiments with Matlab. Next, we continue with nonlinear solvers for scalar equations, systems and matrix equations. These will be applied to solve space-fractional partial differential equation models from practice.
Monday April 21:
no lecture today! (Easter Monday)
Day 1 (Thursday April 24, 2025):
Introduction to Matlab (Ch1 and Ch2)
- Iterations, logistic equation, chaotic behaviour, Fibonacci sequence, plotting, while/if, flow diagrams.
- Demos from .m files from the book.
- Today's lecture notes.
- Some additional notes on Matlab (in Dutch).
- Exercise 1a on the use of the "abc-formula" for solving quadratic equations. 1a (English summary of 1a).
- Exercise 1b to "simulate" a hurricane. 1b (English summary of 1b).
Example solutions for 1a and 1b.
- Exercise 1c on the logistic differential equation (DE). An explanation of the different options to treat the logistic DE numerically.
Create a matlab file to solve this problem (make graphs of the solution values as a function of the index).
An interesting video on the logistic differential equation that explains the (possible) chaotic behaviour and its applications in many areas.
- Extra exercises to practice basic Matlab commands: exercises Ch1: 1, 6, 9, 10, 15 and Ch2: 3, 4, 5, 6, 7, 8.
- Useful slides: A quick introduction to Matlab, Johns Hopkins University, Computer Science Dept. 2007
Day 2 (Monday April 28, 2025)
Matrix laboratory and linear systems (Ch4)
-
Matrices and Matlab
-
Solving systems, finding eigenvalues, determinants, norms, etc
-
Euler Backward, Method of Jacobi
- Exercises Ch4: 2, 3, 4, 5, 8, 14.
- Exercise 2a on a basic method for solving linear systems (Jacobi method). More information can be found here.
- Useful videos on linear algebra:
Essence of linear algebra
by 3Blue1Brown, a YouTube channel on animating mathematics.
Additional useful slides: Solving Systems of Linear Equations by Greg Fasshauer, Illinois Institute of Technology.
Day 3 (Thursday May 1, 2025):
Nonlinear equations
-
Basic methods and their properties
-
Continuous Newton versus Euler-Forward
-
Two dimensions, the complex version and Newton fractals
-
Today's lecture notes (available: May 1).
- Exercise 3a
Exercise 3b
Exercise 3c
Exercise 3d
Exercise 3e
Note that you need to specify the functions f, its derivative fprime, the Jacobian jac, etcetera in separate files!
- How to plot a Newton-fractal can be found
here.
- Exercise 3f on Newton's method for calculating eigenvalues and eigenvectors.
Monday May 5:
no lecture today! ("bevrijdingsdag")
Day 4 (Thursday May 8, 2025):
The diffusion-advection equation and nonlinear ordinary differential equations
Day 5 (Monday May 12, 2025):
Square roots of matrices
Day 6 (Thursday May 15, 2025):
The space-fractional diffusion-advection equation
Day 7 (Monday May 19, 2025; between 13:15 and 15:00):
Questions can be asked about Project 1 (for Report 1).
You can find the information about Project 1 of Module 1 here (available: May 12).
The deadline for Report 1 is FRIDAY May 23 23:59; via e-mail to P dot A dot Zegeling AT uu dot nl in ONE pdf-file! (Matlab codes in the Appendix of the report).
Last update of this page by
Paul Zegeling: April 22, 2025.