Christian Lessig

Introduction to Scientific Computing

Spring/Summer 2019, Otto-von-Guericke Universität Magdeburg

Details: Vorlesungsverzeichnis

Lecturer: Christian Lessig

Lectures: Tuesdays, 13:00-15:00, G29-335

Tutorials: Thursdays, 11:00-13:00, G29-426

Content: The course provides an introduction into important concepts in scientific computing, including the solution of linear systems, least squares problems, matrix decomposition, and (fast) Fourier representations. Each subject will be exemplified by a practical application which is developed in detail and implemented by the students.



Week 1:

Linear algebra recap

Week 2:

Floating point numbers

Week 3/4:

Linear systems

Week 5/6:

Least squares, Cholesky, and LU decomposition

Week 7:

Eigen decomposition and diagonalization of matrices

Week 8:

Principal component analysis and singular value decomposition

Week 9 and 10:

Discrete Fourier transformComplex numbers


Week 1:

Introduction to python and Numpy


Assignments 1:

ProgrammingSkeleton codeTheory

Assignments 2:

ProgrammingSkeleton codeDataTheory

Assignments 3:

ProgrammingSkeleton codeDatadata.npzTheory

Assignments 4:

ProgrammingSkeleton codeExample animation


We will be working with python and the Numpy library in this course. On Linux you can install it using your package manager. On other operating systems it is convenient to use the Anaconda distribution which contains all necessary packages.


There are plenty of books on the material covered in the course. Some that I found useful over the years are:

Please find the text that best matches your intuition and thinking.