Make a function closure to implement Gillespie's Direct Method sampler for a SPN.
Arguments
- S
a stoichiometry
Matrix-classobject- Sout
an optional matrix to track of event firings
- haz
a list of hazard functions
- maxhaz
maximum allowable hazard
Value
function closure for use in sim_trajectory_R or sim_trajectory_CSV
Details
The direct method is an exact sampling algorithm; it simulates each event individually. Because of this it may be extremely slow for non-trivial population sizes, and thus should be used to debug and test rather than for serious Monte Carlo simulation.
The design of step_DM is from: Wilkinson, D. J. (2011). Stochastic
modeling for systems biology. CRC press
Elements of the N list come from two places: The stoichiometry matrix
(S) is generated in spn_S and the hazards (h) come
from spn_hazards.