3. Software Description
3.1. Software Architecture
The package consists of the Python and C++ layers. The former is
represented by the “libra_py.dynamics.heom” module and implements the
high-level functions of immediate importance to user. The latter is
represented by the “dyn/heom” library (libheom when compiled) in the
core of the Libra software and implements various functions that are
used to construct the algorithms at the higher level, including in the
“libra_py.dynamics.heom” module (Figure 2). These functions are
implemented in C++, although most of them are exposed to Python via the
Boost.Python library.37 They may be of higher interest
to the methodology developers.