Softwareprojekte

Header image sans right 1384361609

Softwareprojekte

Neben der theoretischen Erforschung neuer mathematischer Verfahren zur Lösung von Gleichungssystemen, Matrix-Gleichungen und vielfältigen Problem aus dem Bereich der Modellreduktion oder der optimalen Steuerung, bemühen wir uns auch um deren konkrete Umsetzung in Software Paketen. Hauptaugenmerk liegt dabei zum einen auf reproduzierbaren Ergebnissen und zum anderen auf der Ausnutzung moderner Computer-Architekturen und deren Programmiermodellen. Je nach Problemstellung verwenden wir eine der gebräuchlichen Programmiersprachen im Wissenschaftlichen Rechnen. Diese erstrecken sich in unserer Fachgruppe von C/C++ über komplexe MATLAB Projekte bis hin zu Fortran und Python.

Aktuelle Entwicklungen

 In der Systemtheorie und Regelungstechnik haben die System Gram'schen von linearen Eingabe-Ausgabe Systemen verschiedenste Anwendungen, unter Anderen: Modellreduktion, dezentraler Kontrolle und Sensitivitätsanalyse. Empirische Gram'sche entsprechen den linearen System Gram'schen, aber sind auch anwendbar auf parametrischen und nicht-linearen Systemen aufgrund ihrer datengetriebenen Berechnung. Das Empirical Gramian Framework - emgr - ist eine Open-Source Toolbox, kompatibel mit OCTAVE und MATLAB, die eine konfigurierbare Berechnung der empirischen System Gram'schen ermöglicht. Neben der Berechnung von Steuerbarkeits-, Beobachtbarkeits-, und Minimalitätsinformationen von Zuständen kann auch die Identifizierbarkeit und Sensitivität von Parameter bestimmt werden. Zusätzlich unterstützt emgr Niedrigrangberechnung, Interfaces für Integratoren, Skalarprodukte und Kernel durch eine funktionale, vektorisierte und parallelisierbare Implementierung.

emgr - EMpirical GRamian Framework

 In der Systemtheorie und Regelungstechnik haben die System Gram'schen von linearen Eingabe-Ausgabe Systemen verschiedenste Anwendungen, unter Anderen: Modellreduktion, dezentraler Kontrolle und Sensitivitätsanalyse. Empirische Gram'sche entsprechen den linearen System Gram'schen, aber sind auch anwendbar auf parametrischen und nicht-linearen Systemen aufgrund ihrer datengetriebenen Berechnung. Das Empirical Gramian Framework - emgr - ist eine Open-Source Toolbox, kompatibel mit OCTAVE und MATLAB, die eine konfigurierbare Berechnung der empirischen System Gram'schen ermöglicht.

Neben der Berechnung von Steuerbarkeits-, Beobachtbarkeits-, und Minimalitätsinformationen von Zuständen kann auch die Identifizierbarkeit und Sensitivität von Parameter bestimmt werden. Zusätzlich unterstützt emgr Niedrigrangberechnung, Interfaces für Integratoren, Skalarprodukte und Kernel durch eine funktionale, vektorisierte und parallelisierbare Implementierung.
[mehr]
Die BLAS Bibliothek ist eine der grundlegenden Softwarepakete bei der Entwicklung numerischer Algorithmen. Sie bildet die Grundlage für viele weitere Softwarebibliotheken, wie zum Beispiel LAPACK, PLASMA oder MAGMA. Obwohl eine schnelle BLAS Implementierung ein Grundbaustein schneller Algorithmen ist, kann es je nach Situation, zum Beispiel bei der Fehlersuche oder Performanceanalyse, notwendig sein, die zu grundeliegende BLAS Version auszutauschen. Das von uns entwickelte Framework erlaubt diesen Austausch ohne dass Programme neu kompilert oder gelinkt werden müssen.

FlexiBLAS - Eine Blas Wrapper-Bibliothek

Die BLAS Bibliothek ist eine der grundlegenden Softwarepakete bei der Entwicklung numerischer Algorithmen. Sie bildet die Grundlage für viele weitere Softwarebibliotheken, wie zum Beispiel LAPACK, PLASMA oder MAGMA. Obwohl eine schnelle BLAS Implementierung ein Grundbaustein schneller Algorithmen ist, kann es je nach Situation, zum Beispiel bei der Fehlersuche oder Performanceanalyse, notwendig sein, die zu grundeliegende BLAS Version auszutauschen. Das von uns entwickelte Framework erlaubt diesen Austausch ohne dass Programme neu kompilert oder gelinkt werden müssen.
[mehr]
GRANSO ist ein in MATLAB implementiertes Softwarepaket, für nicht glatte Optimierungsprobleme. Der Fokus liegt auf einer  effizienten Implementierung für Aufgaben mit oder ohne Beschränkungen, ohne dass eine spezielle Struktur vorausgesetzt wird, oder Annahmen über die Zielfunktionen  oder Beschränkungen gemacht werden. GRANSO kann Probleme behandeln, die eine oder alle der folgenden Eigenschaften  besitzen: glatt oder nicht glatt, konvex oder nicht konvex und lokal Lipschitz oder nicht lokal Lipschitz.

GRANSO: GRadient-based Algorithm for Non-Smooth Optimization

GRANSO ist ein in MATLAB implementiertes Softwarepaket, für nicht glatte Optimierungsprobleme. Der Fokus liegt auf einer  effizienten Implementierung für Aufgaben mit oder ohne Beschränkungen, ohne dass eine spezielle Struktur vorausgesetzt wird, oder Annahmen über die Zielfunktionen  oder Beschränkungen gemacht werden. GRANSO kann Probleme behandeln, die eine oder alle der folgenden Eigenschaften  besitzen: glatt oder nicht glatt, konvex oder nicht konvex und lokal Lipschitz oder nicht lokal Lipschitz.
[mehr]
Die Hierarchical Approximate Proper Orthogonal Decomposition (HAPOD) ermöglicht die parallele oder speicherbeschränkte Berechnung von PODs (Hauptachsentransformation) für große oder verteilte Datensätze. Die hapod Funktion implementiert die verteilte (Sterntopologie) und inkrementelle (maximal unbalancierter Binärbaum) Varianten der HAPOD, und erlaubt angepasste SVD (Singulärwertzerlegung) Algorithmen als Backend. Dieses kompakte POD Tool ist kompatibel mit OCTAVE und MATLAB.

HAPOD - Hierarchical Approximate Proper Orthogonal Decomposition

Die Hierarchical Approximate Proper Orthogonal Decomposition (HAPOD) ermöglicht die parallele oder speicherbeschränkte Berechnung von PODs (Hauptachsentransformation) für große oder verteilte Datensätze. Die hapod Funktion implementiert die verteilte (Sterntopologie) und inkrementelle (maximal unbalancierter Binärbaum) Varianten der HAPOD, und erlaubt angepasste SVD (Singulärwertzerlegung) Algorithmen als Backend. Dieses kompakte POD Tool ist kompatibel mit OCTAVE und MATLAB.
[mehr]
MESS, die Matrix Equations Sparse Solvers Bibliothek ist der Nachfolger der Lyapack MATLAB®-Toolbox. Die Bibliothek wird als MATLAB-Toolbox und C-Bibliothek bereit stehen. Die Anwendungsgebiete liegen im Lösen großer, dünn besetzter Matrixgleichungen, sowie ihrer Anwendungen in der Modellordnungsreduktion und optimalen Steuerung. Darüber hinaus stellt die C-Version eine Reihe zusätzlicher Hilfsroutinen für effiziente, dünn besetzte Matrixarithmetik auf modernen Mehrkernarchitekturen bereit.

Entwicklung paralleler Software-Bibliotheken (M.E.S.S.)

MESS, die Matrix Equations Sparse Solvers Bibliothek ist der Nachfolger der Lyapack MATLAB®-Toolbox. Die Bibliothek wird als MATLAB-Toolbox und C-Bibliothek bereit stehen. Die Anwendungsgebiete liegen im Lösen großer, dünn besetzter Matrixgleichungen, sowie ihrer Anwendungen in der Modellordnungsreduktion und optimalen Steuerung. Darüber hinaus stellt die C-Version eine Reihe zusätzlicher Hilfsroutinen für effiziente, dünn besetzte Matrixarithmetik auf modernen Mehrkernarchitekturen bereit.
[mehr]
MORLAB ist eine Sammlung von MATLAB/Octave Funktionen für Modellreduktion von dynamischen Systemen basierend auf dem Lösen von Matrixgleichungen. Die Implementierung nutzt dabei Spektralprojektionsmethoden, wie z.B. Methoden basierend auf der Matrix-Signumsfunktion and der Matrix-Diskfunktion.

MORLAB - Model Order Reduction LABoratory

MORLAB ist eine Sammlung von MATLAB/Octave Funktionen für Modellreduktion von dynamischen Systemen basierend auf dem Lösen von Matrixgleichungen. Die Implementierung nutzt dabei Spektralprojektionsmethoden, wie z.B. Methoden basierend auf der Matrix-Signumsfunktion and der Matrix-Diskfunktion.
[mehr]

pyMOR ist eine Softwarebibliothek zum Erstellen von Anwendungen zur  Ordnungsreduktion von großskaligen Modellen mit der Programmiersprache Python. Der Hauptfokus liegt auf der Anwendung von reduzierten Basismethoden auf parametrisierte partielle Differentialgleichungen. Alle Algorithmen in pyMOR sind in Form abstrakter Schnittstellen für die nahtlose Integration mit externen, hochdimensionalen PDE-Solvern formuliert. Darüber hinaus sind reine Python-Implementierungen von Finite-Elemente- und Finite-Volume-Diskretisierungen unter Verwendung von NumPy und SciPy für die schnelle generierung von Protoypen verfügbar.Die CSC Gruppe erweitert den FUnktionsumfang sukzessive um Methoden für dynamische Systeme mit Ein- und Ausgängen.

pyMOR - Modellordnungsreduktion in Python

pyMOR ist eine Softwarebibliothek zum Erstellen von Anwendungen zur  Ordnungsreduktion von großskaligen Modellen mit der Programmiersprache Python. Der Hauptfokus liegt auf der Anwendung von reduzierten Basismethoden auf parametrisierte partielle Differentialgleichungen. Alle Algorithmen in pyMOR sind in Form abstrakter Schnittstellen für die nahtlose Integration mit externen, hochdimensionalen PDE-Solvern formuliert. Darüber hinaus sind reine Python-Implementierungen von Finite-Elemente- und Finite-Volume-Diskretisierungen unter Verwendung von NumPy und SciPy für die schnelle generierung von Protoypen verfügbar.

Die CSC Gruppe erweitert den FUnktionsumfang sukzessive um Methoden für dynamische Systeme mit Ein- und Ausgängen.
[mehr]

ROSTAPACK ist eine in MATLAB implementierte Softwarebibliothek zur Berechnung oder Approximation robuster Stabilitätskennzahlen (z. B. der H-Unendlichnorm) linearer dynamischer Systeme mit Ein- und Ausgängen.

ROSTAPACK: RObust STAbility PACKage

ROSTAPACK ist eine in MATLAB implementierte Softwarebibliothek zur Berechnung oder Approximation robuster Stabilitätskennzahlen (z. B. der H-Unendlichnorm) linearer dynamischer Systeme mit Ein- und Ausgängen.
[mehr]
Die SLICOT Bibliothek ist eine Sammlung von Fortran 77 Routinen zu numerischen Algorithmen für Probleme in der System- und Kontrolltheorie. Basierend auf den Funktionen aus BLAS und LAPACK bietet SLICOT Routinen zum Design und zur Analyse von Kontroll-Systemen an. Durch den Einsatz von FORTRAN 77 wird auch eine zukünftige Weiterverwendung in Produktiv-Software garantiert. Die Weiterentwicklung erfolgt in enger Zusammenarbeit mit der Firma SynOptio GmbH.

The Control and Systems Library SLICOT

Die SLICOT Bibliothek ist eine Sammlung von Fortran 77 Routinen zu numerischen Algorithmen für Probleme in der System- und Kontrolltheorie. Basierend auf den Funktionen aus BLAS und LAPACK bietet SLICOT Routinen zum Design und zur Analyse von Kontroll-Systemen an. Durch den Einsatz von FORTRAN 77 wird auch eine zukünftige Weiterverwendung in Produktiv-Software garantiert. Die Weiterentwicklung erfolgt in enger Zusammenarbeit mit der Firma SynOptio GmbH.
[mehr]

Abgeschlossene Entwicklungen

RRQR-MEX: Eine MATLAB MEX-Schnittstelle für die rangerhaltende QR Zerlegung

RRQR-MEX stellt eine Matlabroutine rrqr zur Verfügung, die eine Schnittstelle zur FORTRAN Implementierung der RRQR von G. Quintana-Orti und C.H. Bischof herstellt.
[mehr]

PLICMR - The Parallel Library in Control: Model Reduction

PLiCMR ist eine parallele Softwarebibliothek zur Reduktion von großskaligen diskreten oder stetigen linear-zeitinvarianten Systemen. Für diese Systeme stellt PLiCMR drei Methoden zur Verfügung: Balance & Truncate, Singular Perturbation Approximation und Hankel-Norm Approximation.

Software zur Lösung des Hamiltonischen Eigenwertproblems

Das Hamiltonische Eigenwertproblem tritt in vielen Bereichen der Kontroll- und Regelungstheorie auf. Ein Hauptanwendungsgebiet ist die Lösung der algebraischen Riccati Gleichung. Die hier zusammengefaste Software stellt FORTRAN 77 und MATLAB Codes zur Lösung des Hamiltonischen Eigenwertproblems als auch der Riccati Gleichung zur Verfügung.
[mehr]

Wachspress ADI-Shifts

Eine Implementierung der auf elliptischen Integralen basierenden Berechung von Alternating Directions Implicit (ADI) Shiftparametern nach der Theorie von Wachspress et. al.
[mehr]
 
Zur Redakteursansicht
loading content