# ANN: new version of BifurcationKit.jl

**URL:** https://discourse.julialang.org/t/ann-new-version-of-bifurcationkit-jl/62355
**Category:** Package Announcements
**Created:** [June 3, 2021, 8:11pm UTC](https://discourse.julialang.org/t/ann-new-version-of-bifurcationkit-jl/62355 "2021-06-03T20:11:54Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![rveltz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rveltz/32/2707_2.png) [@rveltz](https://discourse.julialang.org/u/rveltz)
#### Post date: [June 3, 2021, 8:11pm UTC](https://discourse.julialang.org/t/ann-new-version-of-bifurcationkit-jl/62355/1 "2021-06-03T20:11:54Z")

</div>

Dear all,

I am glad to report a new version of [BifurcationKit.jl](https://github.com/rveltz/BifurcationKit.jl). Compared to the previous one, emphasis was put on the computation of codimension 2 bifurcation points.

- the continuation of Fold/Hopf points have been greatly improved. It is now thoroughly tested and has been used in a wide variety of cases (sparse matrices, iterative solvers, GPU,…)
- we have now [event detection](https://rveltz.github.io/BifurcationKit.jl/dev/EventCallback/). It allows to find the roots of a user defined function on a branch of equilibria (or other). It is a bit akin to Callbacks in `DifferentialEquations.jl`. These roots are located with a bisection algorithm. For example, in this figure

 ![](https://global.discourse-cdn.com/julialang/original/3X/b/7/b75d972bf9cb76d9a3da0957614578eafed1330a.png)

we asked to detect bifurcation points but also the zeros of the function `(x,p1) -> (p1-1,p1-2,p1-2.5)`. This was quite technical to write and it took me a while to find the API. Long term use will tell if the semantic is good…

- based on the above functionality, it is possible to detect codimension 2 bifurcations such as Bogdanov-Takens, Bautin and Cusp. [BifurcationKit.jl](https://github.com/rveltz/BifurcationKit.jl) is by now the only software to provide this functionality in large dimension, working on GPU, etc. We give an example for [ODE](https://rveltz.github.io/BifurcationKit.jl/dev/tutorialCO/#CO-oxydation-(codim-2)-1) and one for [PDE](https://rveltz.github.io/BifurcationKit.jl/dev/Langmuir/#Langmuir%E2%80%93Blodgett-transfer-model-(really-advanced)-1):

 ![](https://global.discourse-cdn.com/julialang/original/3X/d/9/d91f24a926282c265d366fece99b5f5bc75074af.png)

Note that in the paper for which we reproduce the bifurcation, the authors were unable to detect the Bogdanov-Takens bifurcation (labelled BT in the graph).

Finally, I am trying to put together an example with `Oceananigans.jl`, I will keep you posted. It would be exciting to have tools to decipher the dynamics of fluid on GPUs…

I hope you will find it useful,

Bests.
