In addition to thetheoreticalexplorationof new mathematicalmethods for solvinglinear systems, matrixequations andproblemsin model order reductionoroptimal control, weendeavor to create experimental as well as production implementations of our algorithms in software packages.The main focus ison the one hand to create reproducible results and on the other hand to make use of moderncomputerarchitectures and theirprogramming models.Depending on the problem, weuse one of thecommonprogramming languagesin scientific computing.These range from C / C+ + and MATLABtoFortranand Python in our research group and include complexprojects that include several of those languages.
MESS, the Matrix Equations Sparse Solvers library, is the successor to the Lyapack Toolbox for MATLAB®. It will be available as a MATLAB toolbox as well as a C-library. It is intended for solving large sparse matrix equations as well as problems from model order reduction and optimal control. The C-version provides a large set of auxiliary subroutines for sparse matrix computations and efficient usage of modern multicore workstations.
The subroutine library SLICOT provides Fortran 77 implementations of numerical algorithms for computations in systems and control theory. Based on numerical linear algebra routines from BLAS and LAPACK libraries, SLICOT provides methods for the design and analysis of control systems. Due to the use of Fortran 77, reusability of the software is obtained, so SLICOT can serve as the core for various existing and future CACSD platforms and production quality software. The further development is in cooperation with SynOptio GmbH.
The MORLAB toolbox is a collection of MATLAB routines for model order reduction of dynamical systems based on the solution of matrix equations. The implementation is made using spectral projection methods, e.g., methods based on the matrix sign function and the matrix disk function.
The BLAS library is one of the central libraries for the implementation of numerical algorithms. It serves as the basis for many other numerical libraries like LAPACK, PLASMA or MAGMA (to mention only the most obvious). Thus a fast BLAS implementation is the key ingredient for efficient applications in this area. However, for debugging or benchmarking purposes it is often necessary to replace the underlying BLAS implementation of an application, e.g. to disable threading or to include debugging symbols. We present a novel framework that allows one to exchange the BLAS implementation at run-time via an environment variable. Our concept neither requires relinkage, nor recompilation of the application. Numerical experiments show that there is no notable overhead introduced by this new approach. For only a very little overhead the framework naturally extends to a minimal profiling setup that allows one to count numbers of calls to the BLAS routines used and measure the time spent therein.
PLiCMR is a library of routines for parallel model reduction of large-scale discrete or continuous linear time invariant systems represented using the state-space model. Three methods are available in PLiCMR: Balance & Truncate, Singular Perturbation Approximation, and Hankel-Norm Approximation. Future extensions will include Balanced Stochastic Truncation.
The Hamiltonian Eigenvalue Problem occurs in many areas of Systems and Control theory. One of the main applications is the solution of the algebraic Riccati equation. We collect a set of FORTRAN 77 and MATALB Codes to solve this Eigenvalue problem and as well as the Riccati Equation.