BifurcationKit.jl: towards automatic numerical bifurcation analysis of large systems

Romain Veltz

INRIA -

BifurcationKit.jl is a Julia package to perform numerical bifurcation analysis of large dimensional equations (PDE, nonlocal equations, etc) using Matrix-Free / Sparse Matrix formulations of the problem. Julia programming language gives access to a rich ecosystem (PDE, GPU, AD, cluster). Notably, numerical bifurcation analysis can be done entirely on GPU with the same the code as for CPU.

BifurcationKit incorporates continuation algorithms (PALC, deflated continuation) which can be used to perform fully automatic bifurcation diagram computation of stationary states. This is based on a generic branch switching method which works independently of the dimension of bifurcation.

By leveraging on the above methods, the package can seek periodic orbits by casting the problem into an equation of high dimension. It is by now, one of the only softwares which provides parallel Standard / Poincaré shooting methods and finite differences based ones to compute periodic orbits in high dimensions.

Related paper: https://hal.archives-ouvertes.fr/hal-02902346