Numerisches Praktikum

Jun.-Prof. Dr. Mira Schedensack (Universität Leipzig)

Im Wintersemester 2023/24 findet das Numerische Praktikum NICHT bei mir statt, sondern bei Johannes Storn (siehe Vorlesungsverzeichnis)

Allgemeines

Im numerischen Praktikum sollen die TeilnehmerInnen lernen, ein numerisches Verfahren mit Hilfe einer Programmiersprache umzusetzen. Außerdem sollen die Umsetzung bzw. die Ergebnisse von numerischen Experimenten angemessen (wissenschaftlich) dokumentiert werden. Die Aufgaben sollen in Gruppen bearbeitet werden.

Prinzipiell ist jede Programmiersprache zur Umsetzung der Aufgabe zulässig. Ich empfehle aber nachdrücklich, eine einfache, zur numerischen Implementation geeignete Programmiersprache zu verwenden. Diese sind julia, python und matlab (eine matlab-Lizenz wird von der Universität Leipzig zur Verfügung gestellt, siehe unten). Bei anderen Programmiersprachen kann nur eingeschränkt bei Programmierfragen geholfen werden.

Ablauf des Praktikums

Bitte melden Sie sich bei AlmaWeb für das Praktikum an, damit ich am Ende eintragen kann, ob Sie das Praktikum bestanden haben.

Sobald Sie sich für eine Aufgabe (und eine Gruppe) entschieden haben, schreiben Sie mir eine E-Mail an mira.schedensack@math.uni-leipzig.de, in die Sie die Aufgabe und die Namen, E-Mail-Adressen und Matrikelnummern aller Gruppenmitglieder schreiben. Um das Praktikum erfolgreich zu bestehen, müssen Sie die Programme und einen Bericht zu Ihrer Aufgabe abgeben. Der Bericht soll in Latex abgefasst werden. Hierzu können Sie hier ein Latex-template herunterladen. Eine Sammlung von Hinweisen zur Benutzung von Latex kann hier als pdf heruntergeladen werden. Die zugehörigen tex-files befinden sich hier.

Dieses Video gibt zusätzlich zu dieser website eine kurze Einführung in das Praktikum. Um das Video herunterladen zu können, benötigen Sie ein Passwort. Dieses können Sie bei mir per E-Mail erfragen. Bitte benutzen Sie, wenn möglich, hierfür Ihre E-Mail-Adresse von der Universität Leipzig oder vom Mathematischen Institut und nennen Sie Ihren Namen und Ihre Matrikelnummer.

Nachdem Sie sich per E-Mail bei mir für die Bearbeitung einer Aufgabe angemeldet haben, sollten Sie die Aufgabe innerhalb von sechs Monaten bearbeiten (ich empfehle ein kontinuierliches Arbeiten an der Aufgabe und dann eine frühere Abgabe, um ein häufigeres "Wiedereinarbeiten" in die Programme zu vermeiden). Vor der endgültigen Abgabe sollten Sie zu einer Konsultation in meine Sprechstunde kommen (oder einen alternativen Termin mit mir vereinbaren). Auch wenn Schwierigkeiten auftreten können Sie in meine Sprechstunde kommen. Zu Programmierfragen können Sie sich auch an Meik Hellmund wenden.

Nach der Bearbeitung sollten Sie dann die (funktionierenden und kommentierten) Programme und Ihren Bericht per E-Mail an mich schicken. Ihre Programme sollten eine main-Datei enthalten, bei deren Aufruf die von Ihnen durchgeführten Experimente durchgeführt werden. Für die gute wissenschaftliche Praxis ist es wichtig, dass die von Ihnen erzielten Ergebnisse jederzeit reproduzierbar sind. Wenn die Programme nicht in matlab, python oder Julia geschrieben sind, sollte eine kurze readme-Datei dabei liegen, in der genau beschrieben steht, wie man die Programme startet.

Ich werde mir dann Ihre Abgabe ansehen und Ihnen per E-Mail zurück melden, ob die Abgabe den Anforderungen entspricht. Falls dies nicht der Fall sein sollte, gebe ich Ihnen per E-Mail Bescheid, was verbessert werden muss. Sie haben dann die Möglichkeit, die Abgabe zu überarbeiten. Diese Möglichkeit besteht höchstens zwei Mal. Danach gilt das Praktikum in diesem Studienjahr als nicht bestanden.

Materialien

Wenn Sie sich unsicher im Programmieren fühlen, sollten Sie das julia-Praktikum von Meik Hellmund im Sommersemester besuchen. Dort lernen Sie alle nötigen Vorkenntnisse.

Wenn Sie die Aufgaben in matlab implementieren wollen, finden Sie hier eine matlab-Lizenz der Universität Leipzig, die die Installation auf dem eigenen Gerät erlaubt.

Einführende Materialien zu python, julia und Latex finden Sie auf der website von Meik Hellmund.

Einige Hinweise meinerseits zu Latex finden Sie hier.

Themenauswahl

Hier finden Sie eine Liste der Aufgaben, die zur Bearbeitung zur Verfügung stehen. In Klammern hinter den Titeln ist die empfohlene Gruppengröße angegeben. In Ausnahmefällen und nach Absprache mit mir und eventueller Anpassung der Aufgaben kann von der empfohlenen Gruppengröße abgewichen werden.

Für alle Aufgaben bis auf die, bei denen explizit Vorkenntnisse zur Numerik partieller Differentialgleichungen empfohlen werden, sind nur Vorkenntnisse aus der Numerik-Grundvorlesung nötig. Bei allen Aufgaben sollte alles, was zur Bearbeitung an Kenntnissen ansonsten nötig sein sollte, in der Aufgabenstellung angegeben sein. Falls noch etwas fehlen sollte, melden Sie sich bei mir (da ich die Aufgaben in diesem Jahr das erste Mal vergebe, kann es vorkommen, dass ich etwas vergessen habe anzugeben).

Lösung von linearen Gleichungssystemen

Implementierung des cg- und pcg-Verfahrens (Gruppengröße: 3)

Interpolation

Vergleich von Interpolation mit Polynomen und Splines (Gruppengröße: 1)

Nicht-lineare Gleichungen

Einzugsbereiche des Newton-Verfahrens (Berechnung von Fatou-Mengen) (Gruppengröße: 1)

Numerische Berechnung des Logarithmus (Gruppengröße: 2)

(alte Version, nur bis WS 22/23: Numerische Berechnung des Logarithmus (Gruppengröße: 2))

Vergleich von numerischen Verfahren zur Lösung nicht-linearer Gleichungen (Gruppengröße: 2)

Vergleich von numerischen Verfahren zur Lösung nicht-linearer Gleichungen (Version für 1er Gruppe) (Gruppengröße: 1)

Gewöhnliche Differentialgleichungen

Homogenisierung in 1D (Gruppengröße: 1)

Finite Differenzen für die Konvektions-Diffusions-Gleichung in 1d (Gruppengröße: 3)

Finite Differenzen für die Konvektions-Diffusions-Gleichung in 1d (Version für 2er Gruppe) (Gruppengröße: 2)

Partielle Differentialgleichungen

Vergleich von explizitem und implizitem Finite-Differenzen-Verfahren für die Wärmeleitungsgleichung in 1d (Gruppengröße: 3)

Vergleich von expliziten und impliziten Finite-Differenzen-Verfahren für die Wellengleichung in 1d (Gruppengröße: 3)

Finite Differenzen Methode für die Schrödinger Gleichung (Gruppengröße: 3)

Partielle Differentialgleichungen (Vorkenntnisse zur "Numerik partieller Differentialgleichungen" empfohlen)