Scientific Computing I / Wissenschaftliches Rechnen I
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 - Recommended Literature - Teaching Material - Homework and Exercises - Links
|Lecture:||on Monday, 11:15 - 12:45 hrs.||on Thursday, 15:15 - 16:45 hrs.|
|Tutorial:||on Thursday, 09:15 - 10:45 hrs.|
All Lectures and Exercise coursses will take place in this BBB room. (Access Code is distributed to all registered participants via LSF)
Criteria for getting a course assessment:
- at least 50% of all possible points from the homework
- at least 50% of the points in one homework ( on n-1 of n homework sheets)
- demonstrate and explain at least one exercise in the synchronous online events
Other possibilities to get an assessment will be announced in the lecture.
See per chapter recommendations in the lecture notes.
In order to provide all students an equivalent environment for handling the exercises, we created a virtual machine with a small Ubuntu 20.04 setup including the necessary tool and libraries. The virtual machine is configured to be used in Virtual Box, but it can also be imported in other virtualization tools like VMware or Parallels.
Since the virtual machine contains a 64 bit operating system a 64 bit host CPU with enabled virtualization is required. The virtualization, mostly called Intel VT or AMD-V, can be enabled in the BIOS settings/UEFI settings if not enabled by default. Normally this is supported by all 64-bit CPUs of the last 8 years.
The virtual machine is configured to use Virtual Box's way to connect to the outside world via network. Furthermore we included a port forwarding to the SSH server running inside the virtual machine. After starting the virtual machine you can connect to it from the terminal of your Linux or Mac computer via:
ssh -p 22022 scuser@localhost
If using Windows as main operating system you have to install an SSH client first. Common tools are Putty and Bitvise-SSH. Newer versions of WIndows 10 (since end of 2018) already ship an SSH client on the command line. It can be used like above.
The default username for the virtual machine is scuser with the password scuser.
Download: SC2020-Ubuntu.ova (950MB)
Homework and Exercises
The exercises/homeworks are published and handed in via GITLAB: https://gitlab.mpi-magdeburg.mpg.de/sc2021
- Exercise 1 - Working with the Virtual Machine and GITLAB (October 29th, 2020)
- Week 2 - Excercises for the live sessions (MATLAB output for 5.c) )
- Week 3&4 - Excercises for the live sessions ( code for valgrind exercise ) (updated November 23rd, 2020)
- Week 6 - Excercises for the live sessions (December 03rd, 2020)
- Week 7 - Excercises for the live sessions (December 07th, 2020)
- Week 8 - Excercises for the live sessions (December 17th, 2020)
- Week 9 - Excercises for the live sessions (December 21st, 2020)
- Week 11 - Excercises for the live sessions (January 14th, 2021)
- 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://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.