Hauptseite Veröffentlichungen Lebenslauf Skripte Errata Gebasteltes |
Steffen Börm: SkripteEinführung in die numerische MathematikDie Vorlesung beschäftigt sich mit den Fragen, die bei der Umsetzung mathematischer Berechnungen auf Computern auftreten: Wie stellt man ein mathematisches Objekt dar? Wann ist eine exakte Darstellung nicht möglich, so dass eine Näherung verwendet werden muss? Wie genau ist die Näherung? Wie berechnet man sie effizient? Nach einer kurzen Einführung in die Darstellung reeller Zahlen im Computer und in elementare Fehlerrechnung werden
in der Vorlesung behandelt. Numerical Methods for Partial Differential EquationsThis lecture focuses on numerical techniques for solving linear elliptic and parabolic partial differential equations. Finite difference schemes are introduced and consistency, stability and convergence are proven, first for the standard five-point stencil corresponding to the discrete Laplacian, then for more general schemes using Perron-Frobenius theory. For parabolic equations, we investigate the method of lines, including a brief discussion of implicit time-stepping schemes for stiff problems. The introduction to the finite element method includes a brief discussion of the most important results from functional analysis in Hilbert spaces, e.g., the Riesz representation theorem and the Lax-Milgram theorem. Numerik-ProgrammierungDiese Vorlesung bietet eine Einführung in die Programmierung numerischer Algorithmen. Behandelt werden grundlegende numerische Algorithmen, etwa einfache Zeitschrittverfahren für die Simulation naturwissenschaftlicher Phänomene oder iterative Techniken für die Behandlung linearer und nichtlinearer Gleichungssysteme. Dabei wird vor allem Wert auf Informatik-Aspekte gelegt, also auf Algorithmik und Implementierung, während mathematische Fragen wie die nach Konvergenz und Stabilität der Techniken in Vorlesungen wie Numerische Verfahren für Differentialgleichungen oder Numerische Verfahren für Eigenwertprobleme behandelt werden. Skript (in Entwicklung), altes Skript (Stand 2016) Wissenschaftliches RechnenGegenstand dieser Vorlesung sind die grundlegenden Algorithmen und Datenstrukturen des wissenschaftlichen Rechnens sowie deren effiziente Umsetzung auf modernen Computern. Nach einem kurzen Exkurs über die für diese Zielsetzung relevanten Eigenschaften der Hardware werden zunächst Visualisierungstechniken behandelt, mit denen sich einerseits die Ergebnisse der Berechnungen darstellen lassen und die andererseits auch bei der Fehlersuche von Nutzen sein können. Anschließend werden Techniken für die Darstellung komplexer Geometrien durch zwei- und dreidimensionale Gitter sowie die dafür nötigen Datenstrukturen und Algorithmen diskutiert. Auf einer durch diese Gitter beschriebenen Geometrie lassen sich Differentialgleichungen behandeln, beispielsweise um strukturmechanische oder elektrostatische Fragestellungen zu beantworten. Dazu wird beschrieben, wie man im Rahmen einer Finite-Elemente-Methode aus dem Gitter ein Gleichungssystem konstruieren kann, das die Lösung der Differentialgleichung beschreibt. Dieses Gleichungssystem wird in der Regel sehr groß sein, so dass effiziente Verfahren zu seiner Lösung eingesetzt werden müssen. Von besonderer Bedeutung ist in diesem Bereich die Parallelisierung, mit deren Hilfe sich der erhebliche Rechenaufwand im Idealfall auf mehrere Computer verteilen lässt. Skript, altes Skript (Stand 2011/12) Algorithmen und DatenstrukturenDamit ein Computer eine bestimmte Aufgabe lösen kann, müssen wir ihm eine Rechenvorschrift geben, die so detailliert und präzise ist, dass er sie ausführen kann. Derartige Vorschriften bezeichnet man als Algorithmen, ihre Entwicklung und Analyse ist ein Kerngebiet der Informatik. Computer werden häufig eingesetzt, um sehr große Datenmengen zu verarbeiten. In derartigen Situationen ist nicht nur die Wahl des richtigen Algorithmus von Bedeutung, es müssen auch die Daten in einer Weise gespeichert werden, die es dem Algorithmus ermöglicht, effizient zu arbeiten. Deshalb bietet es sich an, Algorithmen und Datenstrukturen gemeinsam zu untersuchen, da eine hohe Geschwindigkeit nur zu erwarten ist, wenn beide gut aufeinander abgestimmt sind. Die Vorlesung behandelt neben einer Reihe klassischer Algorithmen für grundlegende Aufgabenstellungen auch die für die Analyse ihres Rechenaufwands und Speicherbedarfs erforderlichen mathematischen Techniken sowie die ihnen zugrunde liegenden Konstruktionsprinzipien, mit deren Hilfe sich neue Algorithmen entwickeln lassen. Numerik nicht-lokaler OperatorenViele Phänomene im naturwissenschaftlichen Bereich sind nichtlokal: Das Gravitationsfeld der Sonne etwa erstreckt sich über das gesamte Universum. Bei der Simulation einer Galaxie entsteht deshalb das Problem, dass die Masse jeder Sonne einen Einfluss auf die Massen aller anderen Sonnen ausüben, dass also sehr viele Interaktionen berechnet werden müssen. Um diese Berechnungen effizient zu gestalten, müssen spezielle Algorithmen eingesetzt werden. In der Vorlesung werden grundlegende Techniken (vor allem das Paneel-Clusterungsverfahren und hierarchische Matrizen) am Beispiel von Integral- und Differentialoperatoren aus dem Bereich der elliptischen Differentialgleichungen erläutert. Dabei sind vor allem die Effizienz und die Genauigkeit der verwendeten Algorithmen von Interesse. Skript (englisch, noch unvollständig), altes Skript (deutsch, Stand 2013) Iterative Verfahren für große GleichungssystemeIn vielen Bereichen des wissenschaftlichen Rechnens treten sehr große Gleichungssysteme auf, beispielsweise bei der Simulation elektromagnetischer, strömungsdynamischer oder strukturmechanischer Probleme. Da sich derartige Probleme lassen mit klassischen Verfahren wie der Gauß-Elimination nicht mehr in vertretbarer Zeit lösen lassen, kommen alternative Algorithmen zum Einsatz: Statt die Lösung direkt zu bestimmen werden Näherungslösungen berechnet, die sie beliebig gut approximieren. Die Vorlesung beschäftigt sich mit klassischen iterativen Verfahren wie der Gauß-Seidel- oder der Jacobi-Iteration, Krylow-Verfahren wie dem cg- oder dem GMRES-Algorithmus, und modernen Mehrgitter- und Gebietszerlegungsverfahren, mit denen sich auch Probleme mit mehreren Millionen oder sogar Milliarden von Unbekannten behandeln lassen. Numerik von EigenwertproblemenLineare Gleichungssysteme beschreiben in der Praxis häufig die Reaktion eines Systems auf äußere Kräfte. In bestimmten Fällen ist man aber auch an dem Verhalten eines Systems in Abwesenheit solcher Kräfte interessiert, beispielsweise um zu erforschen, wie eine Gitarrensaite schwingt, nachdem man an ihr gezupft hat und keinen weiteren Einfluss auf sie ausübt. Mathematisch führen solche Fragestellungen auf Eigenwertprobleme, die sich, anders als lineare Gleichungssysteme, in der Regel nicht exakt lösen lassen. Also müssen die Lösungen mit Hilfe numerischer Verfahren angenähert werden. In der Vorlesung werden einfache Verfahren wie die Jacobi- und die Vektoriteration behandelt, aber auch die wesentlich effizienteren QR-Iterationen und die für besonders große Systeme geeigneten Lanczos-Verfahren. Numerische Verfahren für DifferentialgleichungenBei der Vorhersage des Verhaltens eines physikalischen, chemischen oder auch wirtschaftlichen Systems verwendet man sehr häufig Differentialgleichungen. Typisch sind etwa Anfangswertprobleme, bei denen aus einem Anfangszustand des Systems unter Annahme geeigneter Modellgleichungen Rückschlüsse auf seinen Zustand in der Zukunft gezogen werden. Ein anderes Beispiel sind parabolische Differentialgleichungen, die beispielsweise das Verhalten elektromagnetischer Felder beschreiben. Die Vorlesung stellt grundlegende numerische Verfahren vor, mit denen sich gewöhnliche Differentialgleichungen und partielle Differentialgleichungen effizient behandeln lassen. Numerische Mathematik in den IngenieurwissenschaftenModelle naturwissenschaftlicher Phänomene werden in der Regel durch mathematische Gleichungen beschrieben, die nach den gesuchten Variablen aufgelöst werden müssen. Sehr häufig kann das nicht per Hand erfolgen, stattdessen kommen numerische Verfahren zum Einsatz. Die Vorlesung vermittelt einen Überblick über grundlegende Techniken für das Lösen von linearen und nichtlinearen Gleichungssystemen, für Optimierungsaufgaben, für Interpolation, numerische Integration und die Behandlung von Eigenwertproblemen. Neben den Algorithmen werden auch die ihnen zugrunde liegenden Konzepte behandelt. HochleistungsrechnenViele Fragestellungen im Bereich des wissenschaftlichen Rechnens oder des Data Minings führen zu Algorithmen, bei denen sehr viele Rechenoperationen auf sehr großen Datenmengen anfallen. Bei derartigen Aufgabenstellungen ist es von großer Bedeutung, das von den vorhandenen Rechnern gebotene Potential möglichst gut auszunutzen. In dieser Vorlesung werden dazu einige grundlegende Ansätze behandelt, ausgehend von dem geschickten Umgang mit dem Speicher über Vektorisierungsansätze, Multithreading (OpenMP), verteiltes Rechnen (MPI) bis hin zu Programmiertechniken für heterogene Systeme (CUDA, OpenCL). Analysis 3Thema der Vorlesung sind eine Einführung in die Grundlagen der Maß- und Integrationstheorie, der elementaren Aussagen der Theorie der gewöhnlichen Differentialgleichungen und der Funktionentheorie. Eingeführt werden
Erweitertes Skript. Es gibt auch die Vorlesungsfassung. Numerik gewöhnlicher DifferentialgleichungenBei vielen Anwendungen aus dem Bereich der Wirtschafts- oder Naturwissenschaften ist man daran interessiert, Vorhersagen über das Verhalten eines Systems zu treffen. Einfache Beispiele sind Wettervorhersagen oder Wirtschaftsprognosen. Mathematisch gesehen geht es darum, aus dem aktuellen Zustand des Systems auf seinen zukünftigen Zustand zu schließen, in der Regel mit Hilfe eines Modells, das die zeitliche Veränderung des betrachteten Systems beschreibt. In der Praxis ist das Modell oft in der Gestalt einer gewöhnlichen Differentialgleichung gegeben. Die Vorlesung stellt eine Reihe grundlegender Techniken vor, mit denen sich derartige Gleichungen approximativ lösen lassen, etwa das klassische Polygonzugverfahren von Euler, die effizienteren Runge-Kutta-Algorithmen, Techniken zur Fehlerschätzung und Schrittweitensteuerung sowie Mehrschrittverfahren. Auch hier liegt das Augenmerk auf Genauigkeit und Effizienz der eingesetzten Techniken.
|