Juliacon 2024

What's new with BifurcationKit.jl
2024-07-12 , For Loop (3.2)

BifurcationKit.jl is a package for numerical bifurcation analysis which allows to study dynamical systems as function of a parameter. It incorporates automatic bifurcation diagram routines and efficient tools to study periodic orbits. Most of these tools run on GPU and can be used with a large number of unknowns.


Over the past year, the bifurcationkit organization has undergone significant enhancements tailored for the exploration of periodic orbits and homoclinic orbits. These updates address critical gaps in comparison to other widely utilized software in the field. Additionally, integration into ModelingToolkit.jl promises to streamline analysis processes, complemented by substantial improvements in documentation for a more user-friendly experience.

A pivotal advancement within BifurcationKit lies in the incorporation of methods dedicated to examining bifurcations of periodic orbits as functions of two parameters. This is particularly challenging for standard techniques like collocation, but our unified approach accommodates various methods for computing periodic orbits. This versatility is crucial for investigating problems spanning both low-dimensional and large-scale scenarios.

Another noteworthy enhancement is the introduction of the HclinicBifurcationKit.jl package, designed specifically for studying homoclinic orbits as function of two parameters. Notably, our implementation supports Shooting methods, differentiating us from existing software alternatives.

The ensuing discussion will spotlight these enhancements through a straightforward example, showcasing how they facilitate a comprehensive understanding of system dynamics. Subsequently, an exploration of the design choices made to accommodate the diverse solvers and methods for computing periodic orbits will be presented, along with the inherent challenges in ensuring a user-friendly interface.

We will conclude by emphasizing the future trajectory of bifurcationkit, highlighting ongoing efforts to enhance integration with MethodOfLines.jl, ModelingToolkit.jl, and other frameworks. Lastly, an overview of anticipated general additions will be provided, outlining the continuous evolution of the bifurcationkit organization.

See also: GitHub