Jamesflynn1 / pyRBM

A Python framework to build and simulate stochastic rules-based models.
GNU General Public License v3.0
3 stars 0 forks source link

[SOLVER] Laplace Gillespie Solver #34

Open Jamesflynn1 opened 2 months ago

Jamesflynn1 commented 2 months ago

Provide the solver name Laplace Gillespie Solver

Link a paper or provide a reference for the described solver https://arxiv.org/abs/1601.01490

Describe a usecase of the solver The Laplace Gillespie solver permits the simulation of events with non-Poisson distributed wait times by generalising the Gillespie algorithm to simulate events with event-modulated Poisson* wait times. Using specific distributions that Poisson rates are drawn from, p($\lambda$)'s, the wait time can be engineered to follow distributions such as certain Power-law distributions and the Weibull distribution ($0<\alpha\leq1$), provided that p($\lambda$) meets certain theoretic conditions.

(Description is a draft)

Describe alternatives you've considered (optional) The Non-Markovian Gillespie algorithm (nMGA) similarly permits such wait times but is more computationally expensive, provides an approximate trajectory and would require more time to implement.

Describe changes to pyRBM core code that might be required to implement (optional) Each rule will require an optional wait time distribution to be associated with it. Checks are required that the Laplace Gillespie solver is used for such model utilising this optional feature.

Additional context (optional) Event-modulated Poisson processes are Poisson processes with rates drawn from a probability distribution p($\lambda$).

Jamesflynn1 commented 1 month ago

Completed pending more through testing.