-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AEP: Stochastic differential equations in mechanisms #1655
Comments
@max9901 Is this a good description of what you need? You mentioned some time ago that what you really want out of this feature is the seed generation. Can you describe what you expect there? |
@noraabiakar Thanks. Looks good. I've also asked @jlubo for comments. |
I just wrote in issue #1643 about a current workaround using the Euler method and the Regarding the solving method, maybe for selected random processes (such as Ornstein-Uhlenbeck) exact solutions could be provided... |
The requirements for random generators for stochastic processes, where there are multiple instances of processes on multiple cells, are that the generator:
Random123 is a counter-based random number generator, that makes it possible to generate reproducible high quality random number streams in parallel, with efficient CPU and GPU implementations. By virtue of using being counter based, seeding the value according cell gid, process id, etc is easier. |
Thank you for your answer, Ben. For my purposes, |
More details about the proposed implementation:
|
Except #1987 this is done. |
This issue documents the discussion and ideas for supporting stochastic differential equations for independent point sources of noise. Spatially distributed and correlated noise sources are not discussed here.
Representation in nmodl:
Expose a new symbol ζ that represents Gaussian white noise.
The Stochastic differential equation for one-dimensional (time) processes, can typically be described in the form:
where W is the Wiener process, but with some abuse of notation, this can be written like an ODE:
where ζ represents (n-dimensional) Gaussian white noise. The NMODL representation could then piggyback on the ODE representation with a new special symbol representing ζ.
Solving the SDE:
Possibilities:
Seeding the random number generators:
The Random123 library can be used to supply normally distributed samples used for solving the SDEs. The seeds of the random number generators can be supplied to the mechanisms as parameters, however, it is better to think of them as properties of the simulation object.
The user can supply a seed to the simulation object (per cell_group?), the simulator, together with the cell_group can then generate seeds for the needed processes based on the user-supplied seed in combination with (gid, lid) identifiers.
The text was updated successfully, but these errors were encountered: