Skip to main content

Lecture WS 19/20 Einführung in die Grundlagen der Numerik

Einführung in die Grundlagen der Numerik

Lecturer
Prof. Marc Alexander Schweitzer
Contact for exercises
Denis Düsseldorf

Inhalt und Ziele der Vorlesung

Die Mathematik stellt eine wichtige Grundlage für viele Anwendungsbereiche des täglichen Lebens dar. Ingenieure, Logistikexperten und Ökonomen profitieren in gleicher Weise von mathematischen Methoden und Modellen. Jedoch kann nur ein Bruchteil der auftretenden Probleme analytisch gelöst werden, der Großteil ist mit Papier und Bleistift nicht zu bewältigen. Aus diesem Grund nutzt man zur Umsetzung der immer komplexer werdenden Verfahren den Computer als effizientes Hilfsmittel. Der Hörer dieser Einführungsvorlesung lernt grundlegende Konzepte, Algorithmen und Methoden der numerischen Mathematik kennen. Er soll am Ende in der Lage sein, mithilfe der erworbenen Kenntnisse selbständig numerische Methoden problemorientiert zu entwickeln, zu analysieren und programmtechnisch umzusetzen. Die Auswahl der Inhalte orientiert sich dabei am Modulhandbuch für den Bachelorstudiengang Mathematik.

Themen

  • Approximation in Prähilberträumen und Orthogonale Polynome
  • Schnelle Löser für Lineare Gleichungssysteme
  • Eigenwertprobleme
  • Numerische Integration

Vorkenntnisse

Vorausgesetzt werden die Inhalte der beiden vorangegangenen Vorlesungen Algorithmische Mathematik I und Algorithmische Mathematik II.

Vorlesungszeiten

Dienstag 10:00 (c.t.) - 12:00

Donnerstag 08:00 (c.t.) - 10:00

Übung

Die Anmeldung zu den Übungsgruppen erfolgt nach der Vorlesung am 08.10.2019 durch Eintragung in aushängende Listen. Der Ansprechpartner für den Übungsbetrieb ist Denis Düsseldorf.

Die Zeiten und Räume der Tutorien sind wie folgt.

Montag 12:00 (c.t.) - 14:00 in Seminarraum 0.008 (Endenicher Allee 60)

Mittwoch 16:00 (c.t.) - 18:00 in Seminarraum 0.008 (Endenicher Allee 60)

Mittwoch 16:00 (c.t.) - 18:00 in Raum 2.035 (Endenicher Allee 19b)

Freitag 10:00 (c.t.) - 12:00 in Seminarraum 0.008 (Endenicher Allee 60)

Aufgaben

Jeden Dienstag erscheint ein neues Übungsblatt. Die Abgabe erfolgt am darauffolgenden Dienstag vor der Vorlesung.

Es gibt ausserdem Programmieraufgaben. Diese werden in C/C++ und python gestellt sein. Letzteres ist eine sehr nützliche Sprache die eine einfache und schnelle Implementierung von Algorithmen und deren Validierung erlaubt. Wir legen hier Version 3.7 zugrunde.

Die Aufgaben sollen in Gruppen von 3 Personen bearbeitet und eingereicht werden.

Als Vorbereitung zum Besuch der Vorlesung empfiehlt es sich folgende Programme auf dem eigenen Comptuter / Laptop zu installieren: Einen C/C++ Compiler (bspw. GCC), und eine Python 3 Distribution mit den Paketen Numpy und Matplotlib. Die Python-Distribution Anaconda ist eine Möglichkeit, da sie eine grosse Anzahl an Paketen bereits mitinstalliert, jedoch keinesfalls verpflichtend. Es kann auch in den Computer-Pools der Uni gearbeitet werden. Hier sind Python 3 sowie ein C/C++ Compiler bereits auf allen Geräten vorinstalliert.

Aufgaben Abgabe am Kommentar
exercise_sheet_00.pdf Keine Abgabe Besprechung in der ersten Uebung p1_fibonacci.py, p2_trapezregel.py, p3_loeser.py
exercise_sheet_01.pdf 22.10.2019
exercise_sheet_02.pdf 29.10.2019 Musterimplementierung: p1.py
exercise_sheet_03.pdf 05.11.2019 Implementierung der Quadraturregel: quadratur.py
Musterimplementierung: p2.py
exercise_sheet_04.pdf 12.11.2019 Matrix: matrix_500.txt RHS: rhs_500.txt. Korrektur: Es gibt nur Teil a) bei der Programmieraufgabe! Definition des Krylovraums korrigiert!
Musterimplementierung: p3.py
exercise_sheet_05.pdf 19.11.2019 Matrix: laplacian_200.txt
Musterimplementierung: p4.py
exercise_sheet_06.pdf 26.11.2019 Matrix: matrix_power.txt
Typos korrigiert. Das Rang-1-Update eine Rang-1-Matrix, kein Skalar
Musterimplementierung: p5.py
exercise_sheet_07.pdf 03.12.2019
exercise_sheet_08.pdf 10.12.2019 Matrix: matrix_root.txt
Power-Iteration zur Berechnung der Eigenpaare: eigenpairs.py
Fehlerhafter Eintrag in der Matrix aus 21b) korrigiert
Aufgabe 23 c) und d) A und C müssen kommutieren
exercise_sheet_09.pdf 17.12.2019 Matrix: gerschgorin_50.txt
Nummerierung der Aufgaben korrigiert
exercise_sheet_10.pdf 07.01.2019
exercise_sheet_11.pdf 07.01.2019 Überangebot an Aufgaben! Bitte wählen Sie maximal 4 Aufgaben zur Abgabe aus.
Aufgabe 27: A muss regulär sein um 1<->5 zeigen zu können
exercise_sheet_12.pdf 14.01.2020 Matrix: matrix_qr.txt Um noch stärker zu sehen wie verschieden die Laufzeiten sind, können Sie auch die matrix matrix_qr2.txt benutzen
Korrektur in der Formel für die Drehkästchen aus P7. In
In Aufgabe 39 e) ist die Ordnung 2(n+1) nicht zu erreichen

Musterlösung für P7: p7.py

Slides

Zu einigen Themen der Vorlesung finden Sie hier Slides mit den wesentlichen Informationen aus früheren Jahren. Diese Slides dienen der Orientierung, können und sollen jedoch eine Vorlesungsmitschrift nicht ersetzen!

Literatur und Referenzen

Links geupdatet! Teile der Vorlesung basieren auf dem Buch von Saad (siehe unten). Viele Themen (inkl. Grundlagen die man kennen sollte), werden im Skript von Harbrecht und im Buch von Hanke-Bourgeois ausführlich präsentiert.

Theorie

Praxis

Ältere Ausgaben der Bücher sind auch im Bestand der Universitätsbibliothek vorhanden und empfohlen, falls die aktuellsten Ausgaben vergriffen sind.

Klausur (1. Termin)

Die Klausur fand statt am Donnerstag, 30.01.2020, von 8-10 Uhr, im Kleinen Hörsaal, Wegelerstraße 10 sowie zeitgleich im Alfred-Philippson-Hörsaal der Geographie, Meckenheimer Allee 166!
Die vorläufigen Klausurergebnisse können Sie hier finden: notentabelle.pdf.

Die Klausureinsicht findet statt am

  • Donnerstag, 06.02.2020, von 14:00-16:00

  • Freitag, 07.02.2020, von 14:00- mindestens 15:00

in Raum 3.024, Endenicher Allee 19b.

Klausur (Nachklausur)

Die Termine für Prüfungen in diesem Semster und auch für ausstehende zweite Prüfungen aus dem WS19/20 sind nun bekannt gegeben. Sie finden die Information unter folgendem Link: https://www.mathematics.uni-bonn.de/studium/bachelor-mathematik/termine/sose2020/modulpruefungen-der-vorlesungsmodule-sose
Die Termine gelten vorläufig. Bitte schauen Sie regelmäßig nach, ob sich der Termin für diese Veranstaltung ändert.

Zulassung

Voraussetzung für die Zulassung zur Klausur ist eine erfolgreiche Teilnahme am Übungsbetrieb. Das bedeutet

  • Mindestens 50% der Gesamtpunkte der Theorieaufgaben müssen bis zum Ende der Vorlesungszeit erreicht werden

  • Mindestens 50% der Punkte bei jeder Programmieraufgaben müssen erreicht werden

Trotz Gruppenarbeit bei den wöchentlichen Aufgaben wird jedem Einzelnen dringend geraten sich mit *ALLEN* Aufgaben auseinanderzusetzen!