Hi,
also in den letzten Tagen ist nicht sonderlich viel passiert. Ich komme mit meiner Aufgabe gut voran. Die benötigte Software läuft nun so weit und ich bin seit ca. 3 Tagen am programmieren.
Da es nicht viel zu erzählen gibt, erzähl ich einfach etwas über die Programmieraufgabe:
Das Ziel ist es, möglichst effizient mit Polytopen umzugehen. Polytope sind im allgemeinen geometrische Objekte, deren Eckpunkte mit Linien verbunden sind. Ein Quadrat ist z. B. ein Polytop im zweidimensionalen. Das folgende Bild zeigt ein Polytop in der dritten Dimension.
Jedoch sind Polytope nicht auf 3 Dimensionen begrenzt. Mein Betreuer verwendet Polytope um zu beschreiben, welche Zustände ein System erreichen kann. Die Dimension des Systems wird bestimmt durch die Anzahl der Zustände (z. B. Druck, Temperatur, Geschwindigkeit, etc…). Aus diesem Grund benötigt mein Betreuer ein Tool, welches es ihm erlaubt mit Polytopen der n-ten Dimension zu arbeiten; also beliebig viele Dimensionen.
In Matlab existiert eine Toolbox, welche mit Polytopen arbeiten kann. Diese hat aber zwei Nachteile:
1. Es ist begrenzt auf 3 Dimensionen
2. Es arbeitet nicht mit unendlicher Genauigkeit
Hier setzt nun meine Aufgabe an. Für die Programmiersprache C++ gibt es eine Bibliothek, mit welcher man sehr einfach mit Polytopen umgehen kann. Diese heißt „Parma Polyhedra Library“, kurz ppl. Weiterhin gibt es eine Bibliothek, deren Datentypgrößen theoretisch unbegrenzt sind (GNU Multiple Precision Arithmetic Library, kurz gmp). Lediglich die Speicherkapazität begrenzt die größe der Datentypen. Dies erlaubt es dem Benutzer mit einer sehr hohen Genauigkeit Berechnungen durchzuführen.
Die erste Woche hab ich nun damit verbracht die beiden Bibliotheken überhaupt in Eclipse (Programmierumgebung) verwenden zu können. Klingt einfacher als es in Wirklichkeit ist.
Da mein Betreuer aber weiterhin mit Matlab arbeiten möchte, kommt nun die zweite größere Aufgabe.
Das geschrieben C++ Programm, welches die nötigen Aktionen durchführen kann, muss so angepasst und kompiliert werden, dass eine .mexglx Datei entsteht. Diese Dateien können von Matlab ausgeführt werden. Matlab hat viele Vorteile, aber auch einige Nachteile. Ein Nachteil ist zum Beispiel, dass Schleifen durchläufe eine viel längere Rechenzeit benötigen als in C++. Aus diesem Grund können solche Prozesse als C++-Code programmiert werden, und als .mexfile unter Matlab ausgeführt werden.
Wenn das alles funktioniert, kann mein Betreuer am Ende des Praktikums einfach die mex-Files in Matlab aufrufen und somit alle Vorteile der ppl und gmp Bibliotheken nutzen.
So, nun war das aber eine Menge verwirrendes Zeug. Ich hoffe, ich hab es alles richtig wiedergegeben. Nun noch bisschen was zu dem was außerhalb der Uni passiert. Heute morgen hab ich mal ein Stück meines Weges zur Uni mit dem Handy dokumentiert. Man sieht, dass die Straßen in einem sehr schlechten Zustand sind. Manchmal denk ich, dass die Straßen in Albanien oder so in einem besseren Zustand sind als hier.
In dem Video sieht man den Beginn meines Weges. Also in dieser Gegen wohn und man sieht einfach, dass die Häuser sehr runtergekommen sind und teilweise einfach leer stehen. Also dieses Viertel ist wirklich sehr hässlich und nach 21.00 würd ich hier auch nicht mehr allein durch die Straßen laufen. Also entweder vorher zu Haus sein oder Taxi nehmen.
Diese Woche hab ich auch noch meinen Washington Trip und NewYork Trip organisiert. Nach Washington werde ich nun vom 1.10 – 3.10 mitm Bus fahren und nach New York fliege ich am 23.10 hin und komme am 30.10 wieder in Pittsburgh an. Am 31.10 geht dann mein Flieger weider zurück in die Heimat.
Zum Schluss hab ich hier heute noch ein kleines Video bei Youtube für meine russischen Besucher gefunden. Ihr müsste genau hinhören 😀