Abstract
MaRDI Open Interfaces is a software project aimed at improving reuse and interoperability in scientific computing by alleviating the difficulties of crossing boundaries between different programming languages, such as C, Julia, or Python, in which numerical packages are usually implemented, and of switching between multiple implementations of the same mathematical problem, for example, between different solvers for time integration of differential equations. The software consists of a set of formal interface specifications for common scientific computing tasks, as well as a set of loosely coupled libraries that facilitate implementing these interfaces or adapting existing implementations for multiple programming languages and handle data marshalling automatically without sacrificing performance, enabling users to use different implementations without significant coding efforts. The software has high reuse potential, especially for the tasks such as benchmarking several solvers or when low-level access to the interface of a particular solver is not required.
