Python script for visualizing chaos in dynamical systems.
While analyzing different dynamical systems, it is always useful, practical, and often necessary to search for and observe chaotic dynamics. The main visualization tool that helps us grasp chaotic behavior in a (usually) vast phase space is the so-called Poincare surface of section. It is then very practical to study how a Poincare map changes by varying some global parameters and to be able to sample initial conditions from different parts off the Poincare map.
Precisely for this purpose, I created this tool as a very convenient tool for quickly demonstrating chaotic motion. I composed a general class/solver which can be applied to many different physical problems in different ways. The main part of the tool draws Poincare maps, while the second part samples individual trajectories, for which it then calculates a FFT (Fast-Fourier transform), which can be particularly useful for estimating periodic motion, and also the maximal Lyapunov exponent, which is THE objective measure to determine chaos.
- Python3
- numpy
- matplotlib
- scipy
- compose a script that describes a physics problem (i.e. the example files)
- call
DSvisualizer()
Be mindfull of the computational burden of many tracks, because solving NDE and visualizing the Poincare scatter plot can take quite some time. (Which is why I removed the example of the colinear Helium atom, you can check more about it on https://chaosbook.org/version15/chapters/helium-2p.pdf)
ex. Krištof Špenko @KSpenko
- 0.1
- Initial Release
This project is licensed under the MIT License - see the LICENSE.md file for details
Inspiration, code snippets, etc.