sensors Article RcdMathLib: An Open Source Software Library for Computing on Resource-Limited Devices Zakaria Kasmi 1 , Abdelmoumen Norrdine 2,* , Jochen Schiller 1 , Mesut Güne¸s 3 and Christoph Motzko 2 1 Freie Universität Berlin, Department of Mathematics and Computer Science, Takustraße 9, 14195 Berlin, Germany;
[email protected] (Z.K.);
[email protected] (J.S.) 2 Technische Universität Darmstadt, Institut für Baubetrieb, El-Lissitzky-Straße 1, 64287 Darmstadt, Germany;
[email protected] 3 Otto-von-Guericke University, Faculty of Computer Science, Universitätsplatz 2, 39106 Magdeburg, Germany;
[email protected] * Correspondence:
[email protected] Abstract: We developped an open source library called RcdMathLib for solving multivariate linear and nonlinear systems. RcdMathLib supports on-the-fly computing on low-cost and resource- constrained devices, e.g., microcontrollers. The decentralized processing is a step towards ubiquitous computing enabling the implementation of Internet of Things (IoT) applications. RcdMathLib is modular- and layer-based, whereby different modules allow for algebraic operations such as vector and matrix operations or decompositions. RcdMathLib also comprises a utilities-module providing sorting and filtering algorithms as well as methods generating random variables. It enables solving linear and nonlinear equations based on efficient decomposition approaches such as the Singular Value Decomposition (SVD) algorithm. The open source library also provides optimization methods such as Gauss–Newton and Levenberg–Marquardt algorithms for solving problems of regression smoothing and curve fitting. Furthermore, a positioning module permits computing positions of Citation: Kasmi, Z.; Norrdine, A.; IoT devices using algorithms for instance trilateration. This module also enables the optimization of Schiller, J.; Güne¸s,M.; Motzko, C.