Feature: Higher-order Bautin normal form and unfolding#254
Feature: Higher-order Bautin normal form and unfolding#254mmbosschaert wants to merge 2 commits intobifurcationkit:masterfrom
Conversation
This test validates the higher-order Bautin normal form computation and predictor: - Uses Symbolics.jl to compute jet derivatives up to 7th order - Tests Stuart-Landau equation with quintic and septic nonlinearities - Verifies l2 and l3 coefficients match theoretical formulas (4·c5 and 8·c7) - Confirms predictor actually uses c₃ (l3) by comparing predictions with/without it - Shows parameter predictions differ by ~1e-7 when c₃ is included vs zeroed The test proves the higher-order predictor is working correctly.
|
Thanks a lot for this massive PR! I will review this asap. Best regards |
| ~cv && @debug "[Bautin H3100] Linear solver for J did not converge. it = $it" | ||
|
|
||
| h2200 = D40(q0, q0, cq0, cq0) .+ | ||
| 4 .* C(q0, cq0, H1100) .+ C(cq0, cq0, H2000) .+ C(q0, q0, conj.(H2000)) .+ |
|
|
||
| G32 = dot(p0, D50(q0, q0, q0, cq0, cq0)) | ||
| G32 += (dot(p0, D40(q0, q0, q0, conj.(H2000))) + | ||
| 3dot(p0, D40(q0, cq0, cq0, H2000)) + |
|
You should modify the documentation as well You can probably add your name and a link to this PR there to underline you contribution |
|
It seems your code only works for 2d systems as I have tried locally. I suggest minor changes in |
|
If you want some help, I need to be able to push to your PR. This is possible as explained here
|
|
Thanks. It looks like ‘Allow edits and access to secrets by maintainers’ is already checked. Am I missing something? |
|
I am not sure I am a maintener on your branch, am I? |
Higher-Order Bautin Normal Form and Unfolding
This PR implements higher-order computation of the Bautin (Generalized Hopf) normal form and its associated predictor for fold of periodic orbits continuation.
Summary
The Bautin bifurcation occurs when the first Lyapunov coefficient vanishes at a Hopf point, requiring higher-order analysis. Previously, the code computed up to the second Lyapunov coefficient. This PR extends the computation to the third Lyapunov coefficient and implements a higher-order predictor that uses additional higher-order parameter-dependent terms for more accurate approximation to the fold of period orbits curve emanating from the Bautin bifurcation point.