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 float-pointing arithmetics and difficulties on reformulating the algorithms in a highlevel programming language such as C. Utilities for searching errors and post proccessing of results will be explained too. Additionally, existing software packages that should be used in own implementations will be introduced.
Schedule - Certifications - Recommended Literature - Teaching Material - Homework and Exercises - Links
Schedule
Lecture: | on Wednesdays, 11:15 - 12:45 hrs., G03-214 | on Fridays, 9:15 - 10:45 hrs., G12-201 |
Tutorial: | on Tuesdays , 13:15 - 14:45 hrs., G05-208 |
No tutorial in the first week (October 9th, 2018).
No lecture on Friday December 21st, 2018.
Certifications
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 tutorial
Other possibilities to get an assessment will be announced in the lecture.
Recommended Literature
See per chapter recommendations in the lecture notes.
Teaching Material
- Lecture Notes (01-23-2019)
- Virtual Machine for the Exercises (64 bit), Virtual Machine for the Exercises (32 Bit)
Username: scuser Password: scuser In order to run this Virtual Machine you need a Virtual Machine Tool like Virtual Box. The following packages are installed beside a Ubuntu 18.04: build-essential cmake git vim gfortran libopenblas-dev liblapack-dev gdb valgrind subversion
- Handout - Bash Special Characters
- Handout - Regex
- Handout - GCC Options
- Handout - Floating Point Numbers and Rounding
- Handout - IEEE 754
- Handout - Memory Architecture and Memory Management
- Handout - Iterative Linear Solvers - Conjugate Gradient Algorithmn
Homework and Exercises
- Tutorial 1, 16th October 2018
- Homework 1, 16th October 2018, Return on 19th October, Review on 23rd October
- Homework 2, 19th October 2018, Return on 26th October, Review on 30th October
- Homework 3, Sample data for Exercise 4 , 25th October 2018, Return on 2nd November, Review on 6th November
- Homework 4, 1st November 2018, Return on 9th November, Review on 13th November
- Homework 5, 9th November 2018, Return on 16th November, Review on 20th November
- Homework 6, 15th November 2018, Return on 23rd November, Review on 27th November
- Homework 7, 22nd November 2018, Return on 30th November, Review on 4th December
- Homework 8, 30th November 2018, Return on 07th December, Review on 11th December
- Homework 9, 7th December 2018, Return on 14th December, Review on 18th December
- Homework 10, 13th December 2018, Return on 21st December, Review on 8th January, Data and Skeleton for Exercise 3: lapack_usage.tar.gz
- Homework 11, 21st December 2018, Return on 11th January, Review on 15th January, Time Measuring Function: wtime.c
- Homework 12, 11th December 2019, Return on 18th January, Review on 22nd January, LU decomposition skeleton code: lu.c, Skeleton code for sparse matrices: skeleton_sparse.tar.gz
Links
- 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.