Stream: helpdesk (published)

Topic: Discrete systems: DifferentialEquations vs. DynamicalSystems


view this post on Zulip strangeli (Nov 22 2024 at 12:21):

Hi, I have a general question regarding discrete systems:

I found DeterministicIteratedMap(f, u0, p = nothing; t0 = 0) in DynamicalSystems.jl

and

solve(prob::DiscreteProblem) and FunctionMap() in DifferentialEquations.jl.

Any recommendation which one to go for? I have more experience with DifferentialEquations.jl, so the question is probably rather: Is there any benefit to switch to DynamicalSystems.jl (and why)? I don't have my model ready, yet, just wanted to get an idea.

view this post on Zulip Christopher Rackauckas (Nov 23 2024 at 00:50):

They are pretty much the same. The DynamicalSystems.jl code calls the other (well I think it uses SimpleDiffEq.jl SimpleFunctionMap for a bit more performance, but same idea). DynamicalSystems.jl has some extra analysis functionality so if you want to use those functions on it then it needs to be the DS one. Though future refractors via dual numbers could probably eliminate the difference

view this post on Zulip Daniel Wennberg (Nov 23 2024 at 01:57):

If all you need is to solve the system to get the timeseries, I'd say keep using DifferentialEquations if that's what you have experience with. If you're doing further dynamical systems-style analysis, like estimating Lyapunov exponents, plotting orbit diagrams and Poincare sections, identifying attractors, and so on, DynamicalSystems.jl is the package for that.


Last updated: Jan 29 2025 at 04:38 UTC