Abstract: We present a symbolic algorithmic approach that allows to compute invariant manifolds and corresponding reduced systems for differential equations modeling biological networks which comprise chemical reaction networks for cellular biochemistry, and compartmental models for pharmacology, epidemiology and ecology. Multiple time scales of a given network are obtained by scaling, based on tropical geometry. Our reduction is mathematically justified within a singular perturbation setting using a recent result by Cardin and Teixeira. The existence of invariant manifolds is subject to hyperbolicity conditions, which we test algorithmically using Hurwitz criteria. We finally obtain a sequence of nested invariant manifolds and respective reduced systems on those manifolds. Our theoretical results are generally accompanied by rigorous algorithmic descriptions suitable for direct implementation based on existing off-the-shelf software systems, specifically symbolic computation libraries and Satisfiability Modulo Theories solvers. We present computational examples taken from the well-known BioModels database using our own prototypical implementations.
(with Niclas Kruff, Ovidiu Radulescu, Thomas Sturm and Sebastian Walcher)
The paper has been submitted to a journal and a preprint is available on arXiv.
I posted an updated version of my paper with faster timings and better text.
Abstract: “A novel way to use SMT (Satisfiability Modulo Theories) solvers to compute the tropical prevariety (resp. equilibrium) of a polynomial system is presented. The new method is benchmarked against a naive approach that uses purely polyhedral methods. It turns out that the SMT approach is faster than the polyhedral approach for models that would otherwise take more than one minute to compute, in many cases by a factor of 60 or more, and in the worst case is only slower by a factor of two. Furthermore, the new approach is an anytime algorithm, thus offering a way to compute parts of the solution when the polyhedral approach is infeasible. ”
Paper on arXiv: https://arxiv.org/abs/2004.07058
Source code: https://gitlab.com/cxxl/smtcut
Abstract: “I am presenting a novel way to use SMT (Satisfiability Modulo Theory) to compute the tropical prevariety (resp. equilibrium) of a polynomial system. The new method is benchmarked against a naive approach that uses purely polyhedral methods. It turns out that the SMT approach is faster than the polyhedral approach for models that would otherwise take more than one minute to compute, in many cases by a factor of 25 or more. Furthermore, the new approach offers a way to compute at least parts of the solution if the polyhedral approach is infeasible.”
The paper is available on arXiv: https://arxiv.org/abs/2004.07058
The source code is available at https://gitlab.com/cxxl/smtcut.
I have just released PtCut 3.5.0. You can download it here. Full PtCut page here. I know, I tend to gossip. Sorry.
Here are the slides of my talk on CASC 2019 conference (computer algebra in scientific computing) in Moscow, held on 27th August 2019. This is joint work with Hassan Errami, Matthias Neidhardt, Satya S. Samal and Andreas Weber.
The database can be freely accessed as odebase.cs.uni-bonn.de.
I have worked around problems that prevented PtCut from being run under Pythin 2.x and hence under SageMath. Furthermore, I have tested and fixed it to run under Linux.
Plus, computation of connected components works again and can be called on a solution file as well.
Download PtCut v3.3.3 here.
Jonas Weinz has finally managed to compiled a version of PPLpy (together with gmpy2) that works under Windows and can be installed without compiling the whole lot. Many thanks again! 🙂 This version works for Python 3.7 only.
His compiled binaries can be found on his Github page, together with his recipe how to compile it yourself.
I mirror the files here as well:
I just released PtCut v3.3.0.
The news are:
- “–bbox” switches on calculation of bounding boxes for polyhedra in common planes. This allows for a much faster calculation of BIOMD0000000146_numer.
- “–filter X” allows to only use the first X polyhedra per iteration. This allows to at least calculate a subset of the solution.
- “–remove X,…” will remove polyhedra from bags. With this, one can rewmove superfluous polyhedra. That fact and their name can be found in common planes computation.
- I started a first attempt at some documentation! <gasp> So far, only some switches are in it.
Download here. Full PtCut page is here.
Yesterday, I gave a talk in Aachen in JRC-COMBINE (part of RWTH) to the group of Andreas Schuppert, where Satya S. Samal is working. Thanks again for the very interesting discussions!
Here are my slides on tropical geometry and PtCut, titled “Using PtCut to Compute Tropical Equilibrations“.
Just released PtCut 3.0.2 with bugfixes:
- Grid sampling didn’t work under Python3. Fixed.
- Option –stl caused print to screen. Fixed.
- Toyed around with common restrictions. Hopefully nothing is broken. 🙂