JuliaDynamics / DynamicalSystems.jl

Award winning software library for nonlinear dynamics and nonlinear timeseries analysis

Home Page:https://juliadynamics.github.io/DynamicalSystemsDocs.jl/dynamicalsystems/dev/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Delayed Differential Equations

ISCOTTYI opened this issue · comments

In my work I investigate delayed dynamical systems (i.e. where the right hand side of the system equations exhibit constant time delays, that is DDEs; Prototypical example would be the Mackey-Glass System). So far I worked with Python, but want to instead use Julia. JuliaDynamics seems to be the right place to start.

I have carefully studied both documentation and code base, but could not find a way to create a DynamicalSystem with time delays. To my understanding DynamicalSystems.jl relies on DifferentialEquations.jl to integrate the EOMs, which offers DDE solvers. The extension to delayed systems therefore seems straight forward, possibly only requiring to allow the creation of a DynamicalSystem, where f is used to create a DDEProblem (as far as I understood it, the integrator handling is consistent with ODEProblems).

Closing in favor of #176 and the discussion we already had in JuliaDynamics/ChaosTools.jl#255 about the Mackey-Glass system.

Short answer: at the moment there isn't a way to do DelayDiffEqs in DynamicalSystems.jl using the actual DifferentialEquations.jl infastructure, only if you hard code it yourself and make it a discrete map. In a future redesign, "Dynamical System" will be any arbitrary integrator that progresses the state forwards in time, and hence you could plug in whatever you want, even SDEs.