Open slwu89 opened 1 year ago
Long term, it would be nice such that whatever system we develop is simulator agnostic. In particular, once we have developed https://github.com/adolgert/Fleck.jl a bit more, we'd like that integration to be worked out. It's quite natural to build CTDE systems in a "one box, one clock" type of way.
See: https://arxiv.org/abs/2306.06992 to build and simulate combined jump/continuous dynamics.
Following from https://github.com/AlgebraicJulia/AlgebraicDynamics.jl/issues/38, the following is the result of examining the Catalyst.jl documentation.
It will be good to check the details on programmatic construction of reaction systems from Catalyst. Because we are going to want the intensity functions to be general functions of state, we'll want to check https://docs.sciml.ai/Catalyst/stable/faqs/#user_functions and the Catalyst source code to see how these general functions are handled.
Also, we clearly want the Intensity functions to be time-dependent, so it is a good idea to read: https://docs.sciml.ai/Catalyst/stable/catalyst_functionality/constraint_equations/
It also seems the Catalyst can support compound Poisson processes, see: https://docs.sciml.ai/Catalyst/stable/catalyst_functionality/parametric_stoichiometry/#Gene-expression-with-randomly-produced-amounts-of-protein