(there was a post about this in the past, but its now a full fledged package)
Mandatory eye-candy to get your attention:
InteractiveChaos.jl is a Julia package that builds on top of the packages of JuliaDynamics to create interactive applications for dynamical systems. It is written exclusively in Makie and MakieLayout, so huge shout-out to Julius Krumbiegel for making the astonishing MakieLayout, which I hope some day will completely replace everything 2D in Makie. Shoutout to Simon and Anshul as well for helping me figure Observable things.
The combination of the following properties make InteractiveChaos.jl a truly unique software, that doesn’t exist within any other programming language. At least, I have not seen anything like it anywhere else (so correct me if you know something like it):
-
General purpose. There are thousands “logistic map orbit diagrams” applications in our world. Yet, there is not a single one that can work for any dynamical system. Arguably the most unique feature of
InteractiveChaos
is that every application it offers works for any dynamical system (for the class it targets). The first video here works for any billiard, the second video works for any discrete map, the third video works for any continuous system. -
Absurdly fast. I am truly surprised at what speed Julia+Makie can do things. To demonstrate, simply focus on the second video. Let
r =
the product ofn, t, d
. A dynamical system is evolved forr
steps, andr
points are plotted on the screen instantly. This is crazy! -
Real data at real time Everything that is plotted is “real”. For example, many “orbit diagram plotters” don’t actually plot an orbit diagram. Instead, they only plot pixels where an orbit diagram may exist. That is not the case here, the true orbit diagram is plotted (which means that the alpha value is actually the value of the natural density). In addition, everything is computed in real-time, nothing is pre-calculated. So, e.g. the billiard application can run for infinite time.
-
Interfaces software for dynamical systems. There is no implementation for what is a “billiard” or a “continuous system” in
InteractiveChaos
. Instead, it interfaces high quality software from JuliaDynamics. This means that you can re-use the system that you analyze scientifically and explore it interactively. -
Small source code The entire source code for e.g. the orbit diagram plot is 200 lines of code, all very clear to understand, allowing one to expand the existing apps to more specialized ones.
I will be using these applications in my lectures about nonlinear dynamics and chaos. Hope you have fun with them!