Legacy display Course
This is an archived course. The content might be broken.
Vorlesung im Wintersemester 2013/14:
Einführung in die Grundlagen der Numerik (V2E1)
Prof. Dr. Marc Alexander Schweitzer
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
Termine: | Di | 10:00 (c.t.) – 12 Uhr |
Do | 08:30 (s.t.) – 10 Uhr | |
Ort: | Kleiner Hörsaal Mathematik, Wegelerstraße 10 |
Folien
Wir stellen Foliensätze zu den Themenblöcken der Vorlesung als Begleitmaterial zur Verfügung. Insbesondere sind sie nicht als Lernmaterial konzipiert und ersetzen weder den aufmerksamen Besuch der Vorlesung, noch die aktive Teilnahme am Übungsbetrib. Die Folien sind noch teilweise lückenhaft und in Bearbeitung.- Organisatorisches
- Motivation
- Innenprodukte
- Orthogonale Polynome
- Krylovraummethoden
- Eigenwerte
- Wiederholung: QR-Zerlegung
- Numerische Integration
Übung
Die Anmeldung zu den Übungsgruppen erfolgt nach der Vorlesung 07.10 durch Eintragung in aushängende Listen. Übungsbeginn ist der 09.10.Der Ansprechpartner für den Übungsbetrieb ist Sa Wu.
Übungszeiten
Nummer | Tag | Zeit | Raum | Tutor |
---|---|---|---|---|
1 | Do | 10 – 12 Uhr | 5.002, Wegelerstr. 6 | Albert Schulz |
2 | Do | 14 – 16 Uhr | N 0.008, Neubau Endenicher Allee 60 | Christina Klupsch |
3 | Fr | 08 – 10 Uhr | 5.002, Wegelerstr. 6 | Jakob Jentgens |
4 | Fr | 14 – 16 Uhr | 5.002, Wegelerstr. 6 | Konstantin Jung |
5 | Fr | 14 – 16 Uhr | 6.020, Wegelerstr. 6 | Lennart Lechner |
Aufgrund von Nachfragemangel/Überlauf mancher Gruppen, Gruppe Do 16-18 auf Fr 14-16 verschoben.
Aufgaben
Die Übungsblätter erscheinen dienstags.Die Abgabe erfolgt in der jeweils darauffolgenden Woche Dienstag vor der Vorlesung. Programmieraufgaben werden in C/C++ und Python/NumPy/matplotlib gestellt sein.
Letzeres ist eine sehr nützliche Sprach- und Bibliothekenkombination. Sie erlaubt die einfache direkte Implementierung von Algorithmen und das schnelle Anfertigen von Plots. Große Teile des für die Vorlesung benötigten Funktionsumfangs findet sich in folgenden Beispielen, die zu Teilen auch am 28.10 in der Vorlesung besprochen wurden.
- Demo 1
- Demo 2
- Matrizenkonstruktion
- Konvergenzplots, mit Iterierten
- Klassen, Legendre-Polynome, Gram-Schmidt
- Gram-Schmidt für Polynome mit symbolischer Rechnung in Sage
Das frei erhältliche Softwaresystem Sage beinhaltet NumPy und matplotlib im Gesamtpaket. Unter Umständen sind die Hinweise hier zu beachten. Unter Windows scheint sage eine sehr umständliche zu installierende Lösung zu sein.
Die Installationshinweise für NumPy und matplotlib enthalten auch Vorschläge zu (teils kommerziellen, aber (mit Einschränkungen) frei erhältlichen, einfach zu installierenden) Windowspaketen.
Wir legen Python in Version 2.7.8 zugrunde. Zum Editieren und Schreiben von Python und den zur Verfügung gestellten Rohgerüsten genügt fast jeder beliebige Editor, zum Beispiel Vim oder Notepad++.
Die Abgabe der Programme erfolgt im CIP-Pool (http://cip.aim.uni-bonn.de) in der Wegelerstraße 6.. Der gewünschte Abgabetermin soll in der Woche vor der Abgabe in die im CIP-Pool ausgehängten Listen eingetragen werden. Die CIP-Pool-Betreuer stehen für Fragen rund um die Programmieraufgaben zur Verfügung.
Nummer | Blatt | Abgabe | Anmerkungen und Errata | ||||||
---|---|---|---|---|---|---|---|---|---|
0 | blatt00.pdf | keine | Aufwärmblatt
Lösungsvorschläge, auf Democharakter, nicht Effizienz getrimmt: parabeln.py, quadratures.py, iterationsverfahren.py | ||||||
1 | blatt01.pdf | 14.10 |
| ||||||
2 | blatt02.pdf | 21.10 |
clenshaw_roh.py
Abgabe und Anmeldelisten dazu im CIP Pool Wegelerstraße Abgabe der Programmieraufgaben 20.10-22.10 | ||||||
3 | blatt03.pdf | 28.10 |
bsplines_roh.py
Abgabe der Programmieraufgaben 03.11-05.11 | ||||||
4 | blatt04.pdf | 04.11 |
gradientenverfahren_cg_roh.py, jetzt mit mehr Kommentaren.
Abgabe der Programmieraufgaben 03.11-05.11
| ||||||
5 | blatt05.pdf | 11.11 |
qr_decomp_roh.py, jetzt mit richtigem Link und mehr Kommentaren.
Datensatz Abgabe der Programmieraufgaben 17.11-19.11 | ||||||
6 | blatt06.pdf | 18.11 |
gmres_roh.py, jetzt mit mehr Kommentaren
Abgabe der Programmieraufgaben 17.11-19.11 | ||||||
7 | blatt07.pdf | 25.11 | |||||||
8 | blatt08.pdf | 02.12 | keine Programmieraufgaben, CIP Pool Tutoren stehen für Fragen und Hilfestellung zur Verfügung | ||||||
9 | blatt09.pdf | 09.12 |
tippfehlerkorrigierte Fassung,
eigenwerte_roh.py Beispielbild für Einschliessungen Bei den Gerschgorin Kreisen geht es nicht um "den Schnitt" sondern um die zwei Vereinigungen von Kreisen. Insofern genügt für die Aufgabe ein Plot, wie im Beispielbild, von Es geht aber z.B. auch so, rot und blau für die Vereinigungen, pink für den Schnitt. Beispielbild mit Farbenspiel und Transparenz Abgabe der Programmieraufgaben 15.12-17.12 | ||||||
10 | blatt10.pdf | 16.12 | |||||||
11 | blatt11.pdf | 08.01 |
Bugbehobenes, verbessertes Rohgerüst
(Alte Fassung)
Den Hinweis zum Ersatz einer Aufgabe ist bitte zu ignorieren. Abgabe der Programmieraufgaben 19.01-21.01 | ||||||
12 | blatt12.pdf | 13.01 | |||||||
13 | blatt13.pdf | 20.01 |
Tippfehler in Aufgabe 38, richtig:
Keine Abgabe der Programmieraufgaben. Trotzdem der Hinweis, das Klausurstoff der Stoff der Vorlesung und der Übungen ist. | ||||||
14 | blatt14.pdf | 27.01 | |||||||
15 | blatt15.pdf | keine |
Literatur und Referenzen
Theorie
- Harbrecht, Skript Numerische Mathematik
- Saad, Iterative Methods for Sparse Linear Systems, digital erhältlich
- Hanke-Bourgeois, Grundlagen der numerischen Mathematik und des wissenschaftlichen Rechnens, digital erhältlich
- Hämmerlin, Hoffmann, Numerische Mathematik, digital erhältlich
Praxis
- Stroustrup, The C++ programming language
- Stroustrup, Principles and Pratice using C++
- The Python Tutorial, Version 2.7.8
- Tentative NumPy Tutorial
- matplotlib
Klausuren
Zulassung
Voraussetzung für die Zulassung zur Klausur ist eine erfolgreiche Teilnahme am Übungsbetrieb. Dieser besteht aus folgenden Punkten:- Theorieaufgaben: Die Aufgaben werden in Zweiergruppen bearbeitet. Es müssen insgesamt 50% der Punkte werden.
- Praxisaufgaben: Die Aufgaben werden in Zweiergruppen bearbeitet. Es müssen bei jeder Praxisaufgabe 50% der Punkte erreicht werden. Die Abgabe der Aufgaben erfolgt im CIP-Pool
- Es wird trotz Gruppenabgabe jeder und jedem Einzelnen dringend geraten, sich mit allen Aufgaben auseinanderzusetzen, da die Klausur natürlich nicht in Gruppenarbeit bearbeitet werden kann.
1. Klausur:
Termin: | Dienstag, 10. Februar 2015, 09 – 11 Uhr |
A-R, Großer Hörsaal Mathematik, Wegelerstraße 10 | |
S-Z, Kleiner Hörsaal Mathematik, Wegelerstraße 10 | |
keine Hilfsmittel | |
Klausurbeprechung: | Dienstag, 24. Februar 2015, 13:15 – 14:15 |
Kleiner Hörsaal Mathematik, Wegelerstraße 10 | |
(≠ Klausureinsicht) | |
Klausureinsicht: | Dienstag, 24. Februar 2015, 14:30 – 18:00 |
Freitag, 27. Februar 2015, 14:30 – 16:00 | |
Raum 5.002, Wegelerstraße 6 (≠ Klausurbesprechung, Fragestunde) | |
Um Wartezeiten und Schlagen zu vermeiden, bitte im doodle eintragen | |
2. Klausur
Termin: | Mittwoch, 25. März 2015, 09 – 11 Uhr |
Großer Hörsaal Mathematik, Wegelerstraße 10 | |
keine Hilfsmittel | |
Klausureinsicht: | Mittwoch, 01. April 2015, 14:00 – 16:00 |
Raum 5.002, Wegelerstraße 6 | |
Um Wartezeiten und Schlagen zu vermeiden, bitte im doodle eintragen | |