1. 2 Related Work

First, functional programming and general purpose lambda implementations are treated. Available implementations have several difficulties and disadvantages with respect to topological data structures.

Second, topological implementations are considered. In many cases the topological implementation relates to one particular incidence relation and can, therefore, be seen as implementation of one type of discretization.

Algebraic solution mechanisms are relevant for this thesis as they are immanently necessary for the implementation of scientific simulation software. Even though the actually used methods can be seen as a black-box method from the discretization point of view (except for optimization), the interfaces for accessing the matrices are considered.

As related topic highly automatic solution frameworks such as FEMLab [14] can be considered. Even though these frameworks have a high flexibility at the modeling level and a large variety of differential equations can be formulated, the discretization is performed by one scheme only, so that many solution methods for special equations can not be investigated.

`MATLAB` is very a powerful general purpose environment with a large number of implemented functions. It can be used for a large variety of mathematical problems and provides comfortable features [15]. Additionally, many software packages or libraries that are programmed using MATLAB are available to tackle single specific tasks such as the solution of different kinds of differential equations based on physical phenomena, for instance hydrodynamics or thermodynamics. Furthermore, discrete simulation models can be used, for instance neural networks [16], electrical circuit analysis [17] (e.g. for signal processing), or image processing tools [18].

However, it has to be stated that the `MATLAB`-language itself only provides imperative programming methods and rudimentary object related methods. The specification of the formulae is directly written into the program code. Compared to the generic programming approach [19] which is typically used for `C++` and `STL` [20] applications the flexibility is rather limited. The functions used require special memory layouts of the passed arguments and further development for data types with higher performance are prohibited.

The last section comprises the framework GSSE [21,22] which is an implementation of the mathematical concepts presented in this thesis. Moreover, GSSE forms a software basis for the considerations of Chapter 3 and Chapter 4 as it allows an abstract topological treatment of arbitrary cell complexes.