ANN: a new version of package BifurcationKit.jl

Dear all,

I am glad to report a new version of BifurcationKit.jl. Compared to the previous one, axed around codim 2 continuation, emphasis was put on the computation of periodic orbits and waves, and documentation. More precisely,

  • I created a new organisation bifurcationkit · GitHub
  • I moved the documentation to BifurcationKitDocs.jl. The docs have been improved a lot as well.
    • I tried as much as possible to have auto-generated docs. This is not easy for some difficult tutorials on PDEs
    • a new set of tutorials centered around ODE
      • Period doubling bifurcations and how to branch from those
      • a DAE example
    • new set of tutorials on waves / fronts and freezing symmetries
  • I added a new method (which is the gold standard for ODEs) for computing periodic orbits based on a collocation method that is used in Auto07p and Matcont. My implementation is not yet up to the comparison with those established softwares.
  • I improved the interface for computing the periodic orbits. Now, It is very easy to change methods (Shooting, Trapezoid, collocation)… a bit like changing the time stepper (DP5(), Tsit5()…) in DifferentialEquations.jl. See for example this tutorial
  • I added method to assist branching from bifurcations of periodic orbits (branch point and period doubling)
  • I added new methods to cope with continuous symmetries. In the case of PDEs, those symmetries can be problematic because the Jacobian becomes singular. The method is called in the literature “freezing” and is based on the Lie generators of the symmetry group. This leads naturally to computing waves, fronts,… Computing modulated waves (eg periodic orbits of waves) is the next step and is done for the Trapezoid method.

To come:

  • automatic mesh adaptation of collocation based computation of periodic orbits. Actually, it is already coded, I am testing a lot before releasing it.
  • computation of modulated travelling waves
  • a new continuation method called Moore-Penrose will be soon pushed. It is being tested at the moment. It has less parameters then PALC and should be thus easier to use for new comers. It will probably become the default choice of BifurcationKit instead of PALC.
  • ability to change the continuation algorithm seemingly (DeflatedContination, PALC, MoorePenrose…)

I hope you will find it useful.

Best

18 Likes

Things are looking good!

I do not know about the rest, but for me it is quite confusing that BifurcationKit.jl is not part of this organization!

1 Like

I want to be sure I wont break anything by doing this

1 Like

It is rather simple actually. Once you do the transfer nothing breaks. Guaranteed, because after trasfner GitHub makes a fallback link from your (now ghost) repo to the new one. But you need to make a PR to GeneralRegistry.jl to update the link to the new repo for tagging new versions.

1 Like