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
I'd like to brighten the possibility of integrating stochastic delay ODEs, if possible.
Can the approach used in, https://github.com/Zulko/ddeint/blob/master/ddeint/ddeint.py, be adapted for sdeint? I'm quite happy to write the code, if there's interest. Wanted to see if that looks like a viable approach. My understanding of numerical methods for stochastic ODEs is not good enough to be sure this is a sane route.
The text was updated successfully, but these errors were encountered:
Thanks for the suggestion. That is a nice approach for DDE (using linear interpolation of history together with an existing integrator) but I think that code design can not be directly ported to the stochastic case.
The design of that code allows users to provide a fairly general DDE, as the evolution function func supplied by the user can depend in arbitrary ways on the recent history.
The main danger I see in directly applying that to SDDEs comes from the interpolation (when the needed history is not exactly on a time step).
I'm not expert in SDDEs, but it is possible that a heuristic adaptation of that code to the stochastic case may result in converging to the wrong path, or converging with decreasing step size more slowly than expected. Because it's possible a different interpolant is needed for the stochastic case to get the right convergence.
You can avoid this problem by restricting to SDDEs with a single discrete delay (because then you can choose a step size so that the delay is an integer times the step size. Then no interpolation is needed and the algorithms are simpler. For multiple discrete delays that is not possible, unless the ratio between delays equals a ratio of reasonably small integers, so a step size can be chosen with all delays an integer multiple of step size).
To add support for delays in sdeint, maybe the easiest case we could start with is to support the Euler-Maruyama algorithm for equations with a single discrete delay:
Baker and Buckwar (2000) Numerical Analysis of Explicit One-step Methods for Stochastic Delay Differential Equations
It is also possible to do the interpolation correctly to support more general SDDE equations, and to have faster converging algorithms. e.g.:
Buckwar (2006) One-step approximations for stochastic functional differential equations
Buckwar (2007) Multi-step Maruyama Methods for Stochastic Delay Differential Equations
Cao and Zhang (2013) On exponential mean-square stability of two-step Maruyama methods for stochastic delay differential equations
From these can see that it's not trivial to extend algorithms to the stochastic delay case, so best to stick to the published algorithms.
I'd like to brighten the possibility of integrating stochastic delay ODEs, if possible.
Can the approach used in, https://github.com/Zulko/ddeint/blob/master/ddeint/ddeint.py, be adapted for sdeint? I'm quite happy to write the code, if there's interest. Wanted to see if that looks like a viable approach. My understanding of numerical methods for stochastic ODEs is not good enough to be sure this is a sane route.
The text was updated successfully, but these errors were encountered: