How to implement stochastic differential equation solvers?
Posted: Mon Feb 13, 2017 7:33 am
I am using some data and multi-compartment models implemented in NEURON by the Blue Brain Project (BBP, http://www.cell.com/cell/fulltext/S0092-8674(15)01191-5) in order to test some parameter estimation methods. Since I am not very familiar with the HOC programming language, in my coding I mostly use the python interface (NEURON+Python).
For technical reasons regarding the methods I am using, I would like to turn the ODE models I have into their stochastic counterparts. Such a stochastic differential equation (SDE) model would essentially result from adding some Brownian-noise perturbation in the membrane potential and activation variables. However, given the numerical solvers available in NEURON (implicit Euler, Crank-Nicolson, and Adams-Bashforth, fixed-step or adaptive, if I correctly got the whole picture), I can't find any intuitive "hack" to implement any SDE solver. For instance, I could easily implement a Euler-Maruyama scheme if a simple explicit Euler method for ODEs was available.
Is there any way I could modify the standard NEURON's solvers in order to adapt a given numerical method to my needs? Thanks.
For technical reasons regarding the methods I am using, I would like to turn the ODE models I have into their stochastic counterparts. Such a stochastic differential equation (SDE) model would essentially result from adding some Brownian-noise perturbation in the membrane potential and activation variables. However, given the numerical solvers available in NEURON (implicit Euler, Crank-Nicolson, and Adams-Bashforth, fixed-step or adaptive, if I correctly got the whole picture), I can't find any intuitive "hack" to implement any SDE solver. For instance, I could easily implement a Euler-Maruyama scheme if a simple explicit Euler method for ODEs was available.
Is there any way I could modify the standard NEURON's solvers in order to adapt a given numerical method to my needs? Thanks.