Helmut Jarausch

e-mail: jarausch@igpm.rwth-aachen.de

Veröffentlichungen und Reports

Analyzing Stationary and Periodic Solutions of Systems of Parabolic Partial Differential Equations by Using Singular Subspaces as Reduced Basis, Abstract
- Helmut Jarausch


Software

IGPMatrix  stellt eine Vektor/Matrix Bibliothek für C++ dar, die das Arbeiten mit Vektoren und Matrizen mit ähnlicher Syntax wie in
Matlab oder SciLab erlaubt. Die Typen Matrix und Vector sind für die Elementtypen double, complex, int und bool definiert.
Auf   Nachfrage    steht auch eine Version zur Verfügung, bei der die Elemente eine einstellbare (im Prinzip beliebige) Genauigkeit
und/oder Intervallwerte haben.

Neben den elementaren Rechenoperation (auf Vektoren/Matrizen als Ganzes) lassen sich Funktionen auf Vektoren/Matrizen anwenden.
Weiterhin kann man auf Teilvektoren/Teilmatrizen arbeiten und umgekehrt können Vektoren und Matrizen aus Teilen zusammengesetzt
werden. Auch die (formatierte) Ein- und Ausgabe geschieht in einfacher Weise ohne Schleifen.
Lineare Gleichungssysteme (bzw. Ausgleichsprobleme) lassen sich in einfacher Weise mit Hilfe des Divisionsoperators lösen.
Die Lösung von  A x = b  erhält man durch  x= b/A . Darüberhinaus steht auch eine Funktion zur Berechnung der Singulärwertzerlegung
und zur Orthogonalisierung von (Spalten von) Matrizen zur Verfügung.

Alle Indizes beginnen bei 1 und die Matrizen werden intern so gespeichert, dass sie ohne Kopieren an FORTRAN Bibliotheken
weitergereicht werden können;  außerdem ist diese Speicherung in manchen Fällen Cache-freundlicher.

Standardgemäß werden alle Indizes und Dimensionen zur Laufzeit auf Gültigkeit überprüft, was in der Testphase ein unschätzbarer
Vorteil ist. Zu diesem Zwecke kann man  Vector-/Matrix-Variablen auch mit Namen versehen, die noch zur Laufzeit bekannt
sind und die Interpretation von Fehlermeldungen erleichtern. Man kann die IGPMatrix-Bibliothek durch einfaches Umsetzen
einer Präprozessorvariablen auch so übersetzen, dass alle diese Laufzeittests entfallen.

Die IGPMatrix-Bibliothek verwaltet einen eigenen memory pool, um das Erzeugen und Löschen von temporären Variablen
möglichst effizient zu gestalten.

Weitere Details entnehme man der ausführlichen Dokumentation .

Diese Bibliothek steht (auch) in Quellform zur Verfügung, sie ist unter die LGPL Lizenz gestellt.

Die IGPMatrix-Bibliothek wurde erfolgreich unter Linux (ab gcc 3.0) und mit Dev-C++ unter Windows benutzt.

Unter Linux steht eine dynamische Bibliothek , die Quelle (samt Makefile) und ein kurzes  Readme zur Verfügung.

Unter Windows steht die Quelle ,  der Headerfile und eine statische Bibliothek für Dev-C++ und ein kurzes Readme zur Verfügung.

Für Hinweise auf Fehler bin ich sehr dankbar, am besten per email .