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, 2011, and the chapter numbers in the table below refer to this textbook.

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; we will publish them 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

Week Book chapter Content Lecturer 4N Material 4N Material 4D Additional material
34 Introduction and preliminaries Kurusch Notes1
Slides1
Notes2
Slides2
Jupyter2
Partial Derivatives
35 Interpolation Elisabeth Slides Lecture 3
Lecture 3 - with handwritten notes
Slides Lecture 4
Lecture 4 - with handwritten notes
Notes3
Slides3
Notes4
Slides4
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 Notes5
Slides5
Notes6
37 Numerical methods for nonlinear equations Elisabeth Slides Lecture 7
Lecture 7 Monday - with handwritten notes
Lecture 7 Thursday - with handwritten notes
Slides Lecture 8
Lecture 8 Tuesday - with handwritten notes
Lecture 8 Friday - with handwritten notes
Notes7
Slides7
Notes8
Slides8
Nonlinear Equations (Jupyter-file)
38 6.1-6.2 Laplace transform Kurusch Notes9
Notes10
39 6.3-6.7 (4N), 6.3-6.4 (4D) Laplace transform (4N and 4D) and Rounding errors (4D) Elisabeth Slides Lecture 11
Lecture 11 Monday - with handwritten notes
Lecture 11 Thursday - with handwritten notes
Slides Lecture 12
Lecture 12 Tuesday - with handwritten notes
Lecture 12 Friday - with handwritten notes
Notes11
Notes12
slides11/12
jupyter12
The Laplace transform and Convolutions
40 Numerical methods for ODEs Kurusch Notes13
Slides13
Notes14
Slides14
Numerical methods for ODEs
Problems from previous exams
ode.py
41 Numerical methods for ODEs Kurusch Notes15
Slides15
Notes16
Stiff differential equations
42 11.1-11.4 Fourier series Elisabeth Slides Lecture 17
Lecture 17 Monday - with handwritten notes
Lecture 17 Thursday - with handwritten notes
Link to Video from Lecture 17 (Monday)
Slides Lecture 18
Lecture 18 Tuesday - with handwritten notes
Lecture 18 Friday - with handwritten notes
Notes17
Slides17
Notes18
lecture_17_additional_material.ipynb
Problems from previous exams
43 11.1-11.4 Fourier series Elisabeth Slides Lecture 19
Lecture 19 Monday - with handwritten notes
Slides Lecture 20
Lecture 20 Tuesday - with handwritten notes
Lecture 20 Friday - with handwritten notes
Notes19
Slides19
Notes20
Fourier Series with Complex Exponentials
44 11.7 & 11.9 Fourier transforms Kurusch Notes21
Notes22
Problems from previous exams
45 12.5-12.7 Heat Equation Elisabeth Slides Lecture 23
Lecture 23 - with handwritten notes
Lecture 24 - with handwritten notes
Notes23
Slides23
Notes24
Problems from previous exams
46 12.1-12.4 Wave Equation Kurusch Notes25
Notes26
Problems from previous exams
47 Numerical methods for PDEs (4N), Revision (4D) Elisabeth Slides Lecture 27
Lecture 27 Monday - with handwritten notes
Slides Lecture 28
Lecture 28 Tuesday - with handwritten notes
Lecture 27 Thursday - with handwritten notes
Notes27
Slides27
Notes28
Slides28
* Finite difference methods for two-point boundary problems: Jupyter notebook TwoPointBoundaryProblems.ipynb, Pdf version: TwoPointBoundaryProblems.pdf
* Finite difference method for the Poisson problem in 2D: Jupyter notebook FDMPoissonProblem2D.ipynb (local copy), Pdf version:FDMPoissonProblem2D.pdf

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/.

2024-11-22, Karl Johan Douglas Svensson Seth