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.
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
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