Computing a bifurcation diagram

Christophe LETELLIER

A bifurcation diagram requires a Poincaré section. It must be chosen with care because some choices may lead to spurious intersections and blur the diagram. Typically, the Poincaré section must be chosen in a plane projection in a regular sector where the trajectory does not present self-intersection.

To avoid too long transient regime for each new parameter value, the best solution is to keep the last point of the previous value as an initial conditions for the new value of the parameter. Typically 100 points in the Poincaré section per value of the parameter provides a beautiful diagram. It may be useful to pixelate your diagram to avoid too heavy picture.

Here you will find a c++ code for the bifurcation diagram of the Rössler system. The Poincaré section is chosen at the opposite side of the folding. This code ends with a command to call Xmgrace for plotting the diagram. This last line can be commented if you do not have it (just know that it is commonly available under Linux distribution for more than 20 years). I also attached here the style file read by Xmgrace for formatting the picture. The bifurcation diagram produced with that code is shown in Fig. 1 [1].

PNG - 4.9 ko
Fig. 1. Bifurcation diagram of the Rössler system. Other parameter values : {b} = 2 and {c} = 4.
Zip - 1.4 ko
C++ code for computing bifurcation diagram
Zip - 2.2 ko
Style file called by Xmgrace for plotting the bifurcation diagram.

[1] C. Letellier, P. Dutertre & B. Maheu, Unstable periodic orbits and templates of the Rössler system : toward a systematic topological characterization, Chaos, 5 (1), 272-281, 1995.


Style file called by Xmgrace for plotting the bifurcation diagram.
Zip · 2.2 ko
23159 - 23/06/24

C++ code for computing bifurcation diagram
Zip · 1.4 ko
23080 - 23/06/24

Fatal error: Cannot redeclare boucle_date_edithtml_733e07738d6277dcad4536fa7a13561b() (previously declared in /htdocs/public/www/ecrire/public/composer.php(48) : eval()'d code:11) in /htdocs/public/www/ecrire/public/composer.php(48) : eval()'d code on line 161