Weekly Schedule

Note that the lecture on Thursdays (Parallel 1) and Fridays (Parallel 2) are given online due to a lack of available large enough lecture halls. We will either give them via a Zoom webinar, where you will find the link in Blackboard, or as a pre-recorded lecture video. We will inform you beforehand and provide the links for you.

Lecture Plan

The following plan is preliminary and subject to change.

For the analytical parts of the lecture, we will mostly follow the textbook Advanced Engineering Mathematics by Erwin Kreyszig, 10th edition, John Wiley & Sons, and the chapter numbers in the table below refer to this textbook. Previous editions and the latest one (https://www.akademika.no/realfag/matematikk/advanced-engineering-mathematics-international-adaptation/9781394319466) of this book should also be usable, so if you have another edition, there is no need to purchase the 10th edition.

We have also used Morten Nome's excellent lecture notes from 2019 edition of TMA4215 and the material in Anne Kvœrnø's Jupyter Notebooks.

The numerical parts are based on our own notes; some of them will be published during the course of the semester. To be able to be up and running with the code, refer to the guidelines present in the section Exercises. For certain weeks, you may need to rely on your own notes from the lectures.

Week Book chapter Content Lecturer Material Additional Material
34 Introduction and preliminaries Kurusch
35 19.3 Interpolation Elisabeth Lecture 3 (Lecture 3 given as physical lecture)
Lecture 3 with handwritten notes
Lecture 4 (Lecture 4 given as Zoom Webinar, link has been sent via email)
Lecture 4 with handwritten notes
Lagrange Interpolation (Jupyter-file)
Lagrange Interpolation (pdf)
Newton Interpolation (Jupyter-file)
Netwon Interpolation (pdf)
Error Theory (Jupyter file)
Error Theory (pdf)
36 Numerical integration Kurusch notes
37 19.2 Numerical methods for nonlinear equations Elisabeth Lecture 7
Lecture 7 with handwritten notes
Lecture 8
Lecture 8 with handwritten notes (On slide 26, it should read: In practice: Jacobian linear system \[ J(\mathbf{x}_k) \mathbf{h}_k = - \mathbf{f}(\mathbf{x}_k) \] via Gaussian elimination.)
Nonlinear Equations (Jupyter-file)
38 6.1-6.2 Laplace transform Kurusch
39 6.3-6.7 Laplace transform Elisabeth Lecture 11
Lecture 11 with handwritten notes
Lecture 12
Lecture 12 with handwritten notes
40 Numerical methods for ODEs Kurusch notes
41 Numerical methods for ODEs Kurusch
42 11.1-11.4 Fourier series Elisabeth Slides Lecture 17
Lecture 17 - with handwritten notes
Link to Video: Lecture 17
Slides Lecture 18
Lecture 18 Friday - with handwritten notes
Link to Video: Lecture 18
lecture_17_additional_material.ipynb
43 11.1-11.4 Fourier series Elisabeth Lecture 19 - Slides with handwritten notes
Lecture Notes Lecture 19 (there is no video for Lecture 19 - please go through the lecture notes and the course book)
Lecture 20 - Slides with handwritten notes
Link to Video: Lecture 20, Part 1 (note that this is a recording from 2024, and the information about the Lars Ohnsager lecture is outdated)
Link to Video: Lecture 20, Part 2
Fourier Series with Complex Exponentials
44 11.7 & 11.9 Fourier transforms Kurusch
45 12.5-12.7 Heat Equation Elisabeth Slides Lecture 23
Lecture 23 - with handwritten notes
Slides Lecture 24
Lecture 24 - Slides with handwritten notes
Link to Video: Lecture 24
46 12.1-12.4 Wave Equation Kurusch
47 Numerical methods for PDEs, Revision Elisabeth Slides Lecture 27
Lecture 27 - with handwritten notes
Slides Lecture 28
Lecture 28 - with handwritten notes
Link to Video: Lecture 28

How to obtain Python and Jupyter

Jupyterhub

The fastest way to get started with Python and the Jupyter ecosystem is to use our Jupyterhub, which provides a cloud-based Jupyter environment which you can simply use in your browser. Just click on the link, enter your NTNU/Feide credantials and voilà, a Jupyter notebook application will show up in your browser tab.

Local installation

If you prefer a local installtion, the easiest way to obtain installation of a full-fledged Python distribution which includes the most important scientific computing packages and a Jupyter environment, is to install the Anaconda Python Distribution. Detailed instructions for installing Anaconda on Windows, Linux and MacOS can be found in the Anaconda Documentation.

Tutorials on Python and Jupyter

If you want to quickly brush up your Python, we recommend you to take a look at https://www.learnpython.org/, but if you are more interested into a deep-dive into Python, you might want to visit https://www.w3schools.com/python/default.asp. In particular, there are detailed tutorials on three most important Python modules we will use throughout the course:

  • NumPy, a Python library/module used for working with arrays
  • SciPy, a Python library/module for scientific computing
  • Matplotlib, a Python library/module for visualization of scientific data.

Detailed documentation for the most fundamental Python libraries in scientific computations can be found at https://scipy.org/.

2025-11-24, Elisabeth Anna Sophia Köbis