GWR GmbH

Mathematik, Algorithmen und Numerik

Die GWR GmbH entwickelt Algorithmen und entsprechende Software zu Aufgabenstellungen der Angewandten Mathematik und führt Auftragsberechnungen durch. Wir arbeiten mit C++, Lua, Java, VTK und Shell-Skripten. Zur Versionsverwaltung nutzen wir git und Jenkins.

Unsere Kompetenzfelder sind

Beispiele für numerische Simulationen sind Strömungssimulationen im Automobilbau, Finite-Elemente-Analysen zur Berechnung von Spannungen und Verformungen in Bauteilen, Simulationen zur Vorhersage von Finanzmärkten, Wettervorhersagen und viele andere Anwendungen. Diese Simulationen nutzen mathematische Modelle aus der Physik, um komplexe Phänomene zu analysieren und zu verstehen. Durch ihren Einsatz können Forscher und Ingenieure virtuelle Experimente durchführen, um neue Produkte zu entwickeln oder Prozesse zu optimieren.

Software, insbesondere Programme zur Simulation, muss sich kontinuierlich weiterentwickeln, um das volle Potenzial der verfügbaren Hardware auszuschöpfen. Dabei spielen spezielle Softwaretechniken wie OpenMP und Threading Building Blocks für MultiCore-Architekturen sowie SYCL für plattformübergreifende Programmierung (CPU + GPU) eine entscheidende Rolle. Diese Techniken ermöglichen eine effiziente Nutzung moderner Hardware und tragen dazu bei, die Leistungsfähigkeit von Anwendungen zu maximieren.

Eine Problemstellung sollte mit dem “richtigen” Algorithmus gelöst werden, da die Wahl des geeigneten Algorithmus entscheidend für die Effizienz der Lösung ist. Ein eindrucksvolles Beispiel hierfür ist die schnelle Fourier-Transformation[1] (FFT), die im Vergleich zur direkten Auswertung der trigonometrischen Summenformel eine erhebliche Verbesserung bietet. Während die naive Methode \(\mathcal{O}(n^2)\) Rechenschritte benötigt, weist die FFT lediglich einen Aufwand von \(\mathcal{O}(n \log ⁡n)\) auf.
Auch unser Beispiel zum Modularen Potenzieren verdeutlicht, wie allein durch die Auswahl des Verfahrens eine dramatische Verbesserung der Laufzeit erzielt werden kann: von ursprünglich 10 Sekunden reduziert sich die Rechenzeit auf nur wenige Mikrosekunden.

  1. Interessanterweise geht die Entwicklung der schnellen Fourier-Transformation durch Cooley und Tukey Anfang der 1960-iger Jahre auf die Notwendigkeit zurück, große Mengen von Daten aus seismischen Beobachtungen von Kernwaffentests zu analysieren.
  2. Vielleicht merkt man es etwas: ChatGPT von OpenAI hat bei der Generierung der Texte zu den letzten drei Absätzen (teilweise) geholfen.