Navigation

Jump to main content
Research Group Numerical Mathematics (Partial Differential Equations)
Research Group Numerical Mathematics (Partial Differential Equations)
This page is outdated.

Computerpraktikum

PD Dr. Bergmann WS2018/19

Modul
B22
Zielgruppe
  • Bachelor-Studiengänge Mathematik (Studienrichtungen MaMa, MaIn, MaTM) im 5. Semester,
  • Master-Studiengänge (Studienrichtung MaFM, MaWM)
Einführungsveranstaltung
Zu Beginn des Semesters findet eine Einführungsveranstaltung zu diesem Praktikum statt (später individuelle Konsultationen mit jeweiligem Betreuer)
Termin: Mi., 10.10.17, 17:15 Uhr, (Raum 2/B202)
Inhalt des Prakitkums
  • selbstständiges Bearbeiten einer Aufgabenstellung am Computer unter Anleitung eines Betreuers,
  • Bei Programmieraufgaben ist in der Regel (mit Ausnahmen) keine spezielle Programmiersprache vorgeschrieben.
  • Die Einarbeitung in bisher unbekannte Sprachen und Themen kann Bestandteil des Praktikums sein.
  • Programm und Ergebnisse sind schriftlich zu dokumentieren.
Empfehlung
Zur Allgemeinen Bearbeitung von Projekten und Abschlussarbeiten empfielt sich die Einarbeitung in eine Versions-Management-Software sowie allgemeiner Programmier- und Dokumentationspraktiken, wie sie in der Vorlesung computer-orientierte Mathematik behandelt werden.
Zeitraum
ein Semester, Gesamtarbeitsaufwand bis ca. 180 Stunden
Abschluss
Abgabe eines schriftlichen Belegs beim Betreuer, siehe dazu auch die unten stehenden Hinweise.

Themen

Ein Thema dessen Zahl ausgegraut ist bzw. das in Klammern steht ist bereits vergeben.
1

Illustration der Optimierung im Euklidischen und auf der Sphäre.

Der Rayleigh-Quotient \(\frac{x^\mathrm{T}Ax}{x^\mathrm{T}x}\), \(x\neq 0\), einer rellen quadratischen Matrix \(A\in\mathbb R^{n\times n}\) kann zur Berechnung des größten Eigenwertes \(\lambda_{\text{max}}\) einer Matrix bestimmt werden. In diesem Praktikumm sollen verschiedene Ansätze zur Optimierung implmentiert und visualisiert werden.

R. Bergmann
2 (Numerische Lösung von Fagnanos Problem) (PDF)
Ein Algorithmentest zu einer restringierten konvexen Optimierungsaufgabe in drei Variablen mit bekannter Lösung.
T. Jahn
3 (Reduziertheit für polyedrische Einheitskugeln) (PDF)
Untersuchungen zur (Nicht-)Reduziertheit von Polyedern bzgl. einer polyedrischen (nicht euklidischen) Norm.
T. Jahn
4 (Ein NFFT-Interface für Julia) (PDF) D. Potts
M. Schmischke
5 (Gesichtsklassifikation auf dem Raspberry Pi)
Für den Tag der offenen Tür soll eine Gesichtsklassifikation in Python implementiert werden, die auf einem Raspberry Pi läuft.
M. Stoll
6 Bau eines Data Science Clusters aus Raspberry Pis
Das Thema kann zu zweit bearbeitet werden, die Programmiersprache ist Python oder Julia.
M. Stoll
R. Unger
7 Visualisierung von Funktionen auf Graphen
In Matlab oder Julia sollen Methoden zur Visualisierung von Funktionen auf Graphen (dessen Konten und/oder Kanten) implementiert werden.
M. Stoll
8 Matlab-Toolbox zur hochdimensionalen schnellen Fourier-Trasformation mit mehreren Rang-1-Gittern (PDF) L. Kämmerer
D. Potts
9 Die Inversion der Radom-Transformation mit orthogonalen Polynomen (PDF) R. Hielscher
M. Quellmalz
10 (Voll die Seuche) R. Unger
11 The (Hyper)-Cube
oder: Ist der Würfel noch ganz dicht?
R. Unger
12 (Die Gerüchteküche) R. Unger
13 (Bestimmung von Borel-Fixpunkten für das Invariante Hilbertschema) (PDF) C. Lehn
14 Rationale Normkurven - Gleichungen und Parametrisierung (PDF)
(Projektive Geometrie), Programmierung eines Algorithmus, der zu n+3 Punkten in Pn Gleichungen sowie Parametrisierung bestimmt
C. Lehn
15 Berechnung von Picard-Fuchs Differentialgleichungen (PDF) C. Lehn
16 (Zauberwürfelsortierer mit LEGO Mindstorms) (PDF) I. Riedel
17 Invesion der Radon-Transformation auf beliebigen Datenpunkten (PDF) D. Potts
M. Quellmalz
18 (Polynominos in \(\LaTeX\)) (PDF) F. Göring
19

In R, Python oder Matlab soll en die verschiedene stochastische Prozesse simuliert und visualisiert werden, etwa

  • das Gesetz der Großen Zahlen,
  • der zentrale Grenzwertsatz
  • parametrische stochastische Prozesse

A. Pichler
D. Uhlig
Weitere Themen auf Anfrage.

Hinweise

Das Computerpraktikum lässt sich grob in vier Phasen einteilen

1. Algorithmenentwurf

Zunächst gilt es, die Aufgabe zu verstehen und in einzelne Lösungsschritte zu zerlegen. Sinnvoll sind dazu folgende Fragestellungen
  • Welche Teilaufgaben/Unterprogramme gibt es?
  • Welche Algorithmen kommen für die Teilaufgaben in Frage?
  • Welche Algorithmen gibt es, etwa in Büchern?
  • Warum haben Sie dann Ihre(n) Algorithmus gewählt?

2. Programmieren

Zur Lösung Ihrer Aufgabe gilt es, vor Beginn der Implementierung
  • Das Programm zu strukturieren und modular zu gestalten
  • So weit nicht vom Betreuer vorgegeben, verwenden Sie die Programmiersprache Ihrer Wahl
  • Es kann nützlich sein, sich nach existierenden Lösungen insbesondere für Teilprobleme, umzuschauen

3. Testen

Ein häufig unterschätzter Abschnitt ist das Testen.
  • Funktioniert Ihr Programm?
  • Vergleichen Sie mit eventuell vorhandenen Programmen
  • Schreiben Sie Test-Fälle sowohl für den positiven Fall, als auch welche, bei denen Sie (bestimmte) Fehlermeldungen erwarten
Selbst wenn der Abschnitt hier kurz ist, ist dieser Abschnitt üblicherweise zeitintensiv

4. Bericht

Ziel des Berichtes ist, dass ein/e Studierende/r Ihres Semesters nach dem Lesen das Programm verwenden kann und weiß, wozu es verwendet werden kann. Überlegen Sie vorher, was Sie beim Leser als bekannt voraussetzen können. Eine mögliche Gliederung ist etwa

  1. Problemstellung
  2. Algorithmus, sowie Entscheidungen aus Abschnitt 1
  3. Zuverlässigkeit, Grenzen (etwa in der numerischen Genauigkeit)
  4. Resultate und Interpretation
  5. Offene Probleme und Fragestellungen

Zu Resultaten gehört etwa ein Testlauf mit Laufzeitangaben, die auch Hardware, Betriebssystem, sowie Eingabedaten umfassen. Es gilt, das Experiment reproduzierbar zu beschreiben.

Der Bericht sollte derart verfasst sein, dass alle Schritte nachvollziehbar sind und er als Grundlage des nächsten Praktikums dienen kann. Es empfiehlt sich, in LaTeX zu schreiben. Bei Algorithmen, Code, Ideen und Ansätzen aus anderen Quellen, denken Sie bitte daran, die Quellen mit anzugeben.