Logo Contest: JuliaDynamics (also "announcement")

For ODEs the typical trick is to do a time rescaling such that the period becomes 1 (i.e., \dot x = Tf(x), where T is the “true” period) and add an additional phase condition to enable you to solve for the original period in addition to the state. (This is when the system is autonomous; for non-autonomous systems you hopefully don’t have this problem.) The phase condition can be something very simple, like fixing a particular state variable at a particular time (potential problems there), or more sophisticated like adding an integral condition (always works but harder to code).

Common numerical methods are shooting (single or multiple) or collocation with orthogonal polynomials. Both work with stable or unstable orbits (though shooting might fail if the orbits are very unstable). I’ve put these together in the past to do numerical continuation (parameter continuation to find bifurcations) but at the moment it’s random fragments of code rather than anything complete. At some point I might get around to making a proper package…

3 Likes

Here’s a beautiful paper by Viswanath in which he computes periodic orbits of Lorenz of very long period with very high accuracy using symbolic dynamics and Fourier analysis in time. http://www.math.lsa.umich.edu/~divakar/Viswanath2003-LorenzSymDyn.pdf

Well, I wish I knew more on the subject, but I don’t! My only hope is that if somebody makes this method, they also make it part of DynamicalSystems.jl.

In other news, since this is also some kind of announcement page, the latest version of DynamicalSystems.jl features a powerful method to calculate a lyapunov exponent from any mono-diamensional timeseries like e.g. an experimental measurement! See the documentation page here: https://juliadynamics.github.io/DynamicalSystems.jl/stable/nlts/!

5 Likes

That’s some cool stuff. Thanks for sharing.

@dpsanders Can you reduce your ODEs in discrete maps through Poicare surface of section?

If yes, then the latest update can help you find unstable orbits: https://juliadynamics.github.io/DynamicalSystems.jl/latest/periodicity/

I have just added a method that finds unstable (and stable) fixed points of any order for discrete maps!

1 Like