Scientific Computing I / Wissenschaftliches Rechnen I (WiSe 2024/25)
The lecture will show the pratical implementation of standard numerical algorithmns. We focus on the special properties of the floating-point arithmetics and difficulties when formulating the algorithms in a high-level programming language, such as C. Utilities for searching fo errors and post proccessing of results will be explained, too. Additionally, existing software packages that are highly recommended for use in own implementations will be introduced.
Schedule - Certifications - Lecture Material - Homework and Exercises - Links
Schedule
Lecture: | on Monday, 11:15-12:45 hrs. ( G40B-238 ) | on Wednesday, 11:15 - 12:45 hrs. ( G02-106 ) |
Tutorial: | on Tuesday, 15:15 - 16:45 hrs. (G02-311) (first on Oct 22nd) |
|
Staring with Dec, 4th 2024, the lecture on Wednesday will be in G02-106
Certifications
Depending the on the faculty, we the following rules apply:
- FMA: 9 CP, 3 mandatory programming assessments
- FIN: 6 CP, 1 mandatory programming assessment
- FMB: 5 CP, 1 mandatory programming assessment
Completing the programming assessments is mandatory for the oral exam.
Lecture Material
The exercises is handled using a GitLab instance. There also the programming assessments have to be submitted. https://gitlab.mpi-magdeburg.mpg.de/sc2425/
e-learning platform of the OVGU: https://elearning.ovgu.de/course/view.php?id=17938
Lecture Notes (will be updated continuously): Lecture_Notes.pdf (Updated Nov 25, 2024)
Slides:
- Linux Introduction (Nov 25, 2024)
- C Introduction (Nov 25, 2024)
- Memory Hierarchy (Nov 25, 2024)
- Numbers and Rounding Errors (Nov 25, 2024)
Handouts:
- Bash Special Characters
- Regular Expressions
- Common GCC Options
- Memory Hierarchy
- Floating Point Numbers
- Rounding Errors
- IEEE 754
Virtual Machine for Exercise
The virtual machine consists of a current Ubuntu 24.04 installation, provides in an OVF container file. This file could be imported into common virtualization solutions like VirtualBox or VMWare. Since VirtualBox is free and OpenSource we suggest using it.
- Ubuntu 24.04 VM: Ubuntu2404.ova
- User: scuser, Password: scuser
If you have already use Linux or have a Linux/Unix like environment, like WSL under Windows or a MacOS based system, ensure that the following software packages are installed (the package names are the ones from Ubuntu and might differ on other distributions):
- build-essential
- cmake
- curl
- ddd
- gdb
- gfortran
- git
- libopenblas-openmp-dev
- manpages-dev
- mc
- net-tools
- file
- screen
- tmux
- wget
- vim (optional)
- gedit (optional)
- gedit-plugins (optional)
Further Reading
- http://openbook.galileocomputing.de/linux/ - Linux Book from Gallileo Computing (german)
- http://openbook.galileocomputing.de/shell_programmierung/ - Shell Programming Book from Gallileo Computing (german)
- http://de.wikibooks.org/wiki/Linux-Kompendium - Linux WikiBook (german)
- http://en.wikibooks.org/wiki/Linux_Guide - Linux WikiBook (english)
- http://mrob.com/pub/math/floatformats.html - Overview about (ancient) floating point formats
- http://sed.sourceforge.net/sed1line.txt - Useful one line scripts for the sed (Unix stream editor)
- https://blogs.fau.de/hager/hpc-book Book: Introduction to High Performance Computing for Scientists and Engineers by Hager and Wellein
- https://regexr.com/ - Online service to explore, build, and check regular expressions.
- https://godbolt.org/ - Online service to explore what the compiler does for you.
- https://git-scm.com/docs/gittutorial - The offical short git tutorial.
- https://quickref.me/git git cheat sheet
- https://quickref.me/tmux tmux cheat sheet
- https://quickref.me/screen screen cheat sheet
- https://quickref.me/c.html C cheat sheet