PySUNDIALS : Providing python bindings to a robust suite of mathematical tools for computational systems biology
Thesis (MSc (Biochemistry))--University of Stellenbosch, 2009.
A Python package called PySUNDIALS has been developed which provides an interface to the suite of nonlinear di erential/algebraic equation solvers (SUNDIALS) using ctypes as a foreign function interface (FFI). SUNDIALS is a C implementation of a set of modern algorithms for integrating and solving various forms of the initial value problem (IVP). Additionally, arbitrary root nding capabilities, time dependent sensitivity analysis, and the solution of di erential and algebraic systems are available in the various modules provided by SUNDIALS. A signi cant focus of the project was to ensure the python package conforms to Python language standards and syntactic expectations. Multiple examples of the SUNDIALS modules (CVODE, CVODES, IDA and KINSOL) are presented comparing PySUNDIALS to C SUNDIALS (for veri cation of correctness), and comparing PySUNDIALS to various other comparable software packages. The examples presented also provide benchmark comparisons for speed, and code length. Speci c uses of the features of the SUNDIALS package are illustrated, including the modelling of discontinuous events using root nding, time dependent sensitivity analysis of oscillatory systems, and the modelling of equilibrium blocks using a complete set of implicit di erential and algebraic equations. PySUNDIALS is available as open source software for download. It is being integrated into the systems biology software PySCeS as an optional solver set, on an ongoing basis. A brief discussion of potential methods of optimization and the continuation of the project to wrap the parallel processing modules of SUNDIALS is presented.