I am glad to report a new version of BifurcationKit.jl.
It is a major change in the API where users are now expected to define a
BifurcationProblem to perform bifurcation / continuation analysis and pass a continuation algorithm
This has many benefits.
Firstly, one can, ala
DifferentialEquations.jl, change the continuation method very easily:
prob::BifurcationProblem br = continuation(prob, Natural()) br = continuation(prob, PALC()) br = continuation(prob, MoorePenrose())
It is quite easy to add a continuation algorithm and I will document the interface in the docs asap.
Second, it allows, behind the scenes, to check what is available (second derivative, etc) on the vector field side, remove code duplication, …
Thirdly, it allows to use dispatch to specialise the methods of
BifurcationKit to DAE, DDE,… or even
::ODEProblem. This has not been fully exploited yet.
Also, the result types have been modified so that everything is saved: algorithm, problem, options,… This is very useful because BK generates its own options, problem, algorithms from user passed arguments (eg for periodic orbits, etc).
On a side note, the package has been (finally!) moved to the organisation bifurcationkit.
A lot of bugs have been solved, so I encouraged you to use the new version 0.2.0
I hope some of you will find it useful.
Feel free to suggest improvements, design choices,… Also, do not hesitate to open issues if the docs are not clear enough.