You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
One thing we should investigate once the hybrid ODE-jump model support is merged is mechanisms to ensure solutions stay non-negative. If one has a species that is modified by a mix of ODE reactions and jump reactions, there is a possibility of it becoming negative when the population is low (say if the ODE drives the population to less than 1, and then the stochastic reaction occurs). Maybe we just need to attach the appropriate callback by default?
The text was updated successfully, but these errors were encountered:
I feel there is quite couple of theoretical considerations, so happy wo use whichever approach you think is appropriate. Not sure if it could be made a keyword in the convert (and in extension XProblem) call? I.e. the non-negativity strategy is part of the model itself. The alternative is to attach it as a callback on sovle.
I think it is actually more of a (specialized) concern in hybrid models than in ODE models, because the ODEs can lead to states in (0,1), for which the jump reaction can then take you negative the next time it occurs (or propensities for reactions can be negative). Negative jump rates can lead to silent issues. I can think of lots of things we could do to get around this in various ways (set propensities to zero if there is less than one substrate, ensure affect functions can't update to make the population negative), but I'm not sure yet what the best approach to take is.
One thing we should investigate once the hybrid ODE-jump model support is merged is mechanisms to ensure solutions stay non-negative. If one has a species that is modified by a mix of ODE reactions and jump reactions, there is a possibility of it becoming negative when the population is low (say if the ODE drives the population to less than 1, and then the stochastic reaction occurs). Maybe we just need to attach the appropriate callback by default?
The text was updated successfully, but these errors were encountered: