Minimal demo - Normal forms of Hopf bifurcations
This part creates the computations of normal form coefficients along Hopf bifurcations, requiring theextension ddebiftool_extra_nmfm. This demo requires minimal_demo_stst_psol.html to have run beforehand.
(c) DDE-BIFTOOL v. 3.1.1(74), 31/12/2014
Contents
%#ok<*SAGROW> hopfcurves={hopf,hopf1}; ind_hoho=0; for i=1:length(hopfcurves)
Compute Lyapunov coefficient L1 along Hopf curves
[L1{i},L1low]=HopfLyapunovCoefficients(funcs,hopfcurves{i});
fprintf('maximal error of L1 along hopf branch=%g\n',norm(L1{i}-L1low,'inf'));
maximal error of L1 along hopf branch=2.0088e-09
maximal error of L1 along hopf branch=3.44257e-09
Hopf bifurcation changes criticality
Detect generalized Hopf bifurcation
[genh{i},genhlow,hopfref{i},ind_genh(i)]=GeneralizedHopfNormalform(funcs,hopfcurves{i},...
find(diff(sign(L1{i}))~=0,1)+(0:1));
fprintf(['Generalized Hopf point at (b,tau)=(%g,%g)\n',...
'with L1=%g, L2=%g,\n',...
'L1 error est=%g, L2 error est=%g.\n'],...
genh{i}.parameter(indb),genh{i}.parameter(indtau),...
genh{i}.nmfm.L1,genh{i}.nmfm.L2,...
abs(genh{i}.nmfm.L1-genhlow.nmfm.L1),abs(genh{i}.nmfm.L2-genhlow.nmfm.L2));
Bisection residual: res(1)=0.0193873, res(2)=-0.00850967 Bisection: new residual=0.00556438 Bisection: new residual=-0.00143977 Bisection: new residual=0.00207033 Bisection: new residual=0.000317312 Bisection: new residual=-0.000560717 Bisection: new residual=-0.000121575 Bisection: new residual=9.79013e-05 Bisection: new residual=-1.18288e-05 Generalized Hopf point at (b,tau)=(0.0369058,14.8349) with L1=-1.18288e-05, L2=-1.49612, L1 error est=3.48683e-10, L2 error est=0.000216606.
Bisection residual: res(1)=0.00488743, res(2)=-0.018094 Bisection: new residual=-0.00649218 Bisection: new residual=-0.00077775 Bisection: new residual=0.00206062 Bisection: new residual=0.000642925 Bisection: new residual=-6.70357e-05 Bisection: new residual=0.000288038 Bisection: new residual=0.000110526 Bisection: new residual=2.17533e-05 Generalized Hopf point at (b,tau)=(0.0378536,6.08046) with L1=2.17533e-05, L2=-0.587593, L1 error est=1.35718e-09, L2 error est=0.00074193.
Compute stability along Hopf curve
This shows that there are several HopfHopf interactions: detect them and compute their normal form.
[nunsth{i},dum,dum,hopfref{i}.point]=GetStability(hopfref{i},'funcs',funcs,...
'exclude_trivial',true,'locate_trivial',@(p)[-1i*p.omega,1i*p.omega]); %#ok<ASGLU>
ind_hh=find(abs(diff(nunsth{i}))==2);
for k=1:length(ind_hh)
ind_hoho=ind_hoho+1;
[hoho{ind_hoho},hoho_low]=HopfHopfNormalform(funcs,hopfref{i},ind_hh(k)+(0:1));
fprintf(['Normal form coefficients of Hopf-Hopf point\n',...
'at (b,tau)=(%g,%g) with omega1=%g, omega2=%g:\n'],...
hoho{ind_hoho}.parameter(indb),hoho{ind_hoho}.parameter(indtau),...
hoho{ind_hoho}.omega1,hoho{ind_hoho}.omega2);
disp(hoho{ind_hoho}.nmfm);
fprintf('Error of normal form coefficients: %g\n',...
norm(struct2array(hoho{ind_hoho}.nmfm)-struct2array(hoho_low.nmfm),'inf'));
end
Bisection residual: res(1)=0.000694535, res(2)=-0.00146838
Bisection: new residual=-0.000386969
Bisection: new residual=0.000153767
Bisection: new residual=-0.000116604
Bisection: new residual=1.85803e-05
Bisection: new residual=-4.90122e-05
Bisection: new residual=-1.5216e-05
Bisection: new residual=1.68216e-06
Normal form coefficients of Hopf-Hopf point
at (b,tau)=(0.354452,8.72869) with omega1=1.09756, omega2=0.708364:
g2100: 0.1385 + 0.1232i
g1011: 0.3121 + 0.2776i
g1110: -0.3656 + 0.2017i
g0021: -0.2059 + 0.1136i
theta: -1.5155
delta: -2.6393
Error of normal form coefficients: 2.15019e-08
Bisection residual: res(1)=-0.00435055, res(2)=0.000946688
Bisection: new residual=-0.00171931
Bisection: new residual=-0.000390537
...Bisection residual: res(1)=-0.00159524, res(2)=0.00260849
Bisection: new residual=0.00052094
Bisection: new residual=-0.000533554
Bisection: new residual=-5.41024e-06
Bisection: new residual=0.000257989
Normal form coefficients of Hopf-Hopf point
at (b,tau)=(0.355063,8.72902) with omega1=0.708358, omega2=1.09771:
g2100: -0.2055 + 0.1132i
g1011: -0.3653 + 0.2012i
g1110: 0.3106 + 0.2773i
g0021: 0.1380 + 0.1233i
theta: -2.6465
delta: -1.5114
Error of normal form coefficients: 2.75342e-09
end
Save and continue
For continuation of folds and torus bifurcations of periodic orbits, see minimal_demo_extra_psol.html. Final results in minimal_demo_plot_2dbif.html.
save('minimal_demo_extra_nmfm_results.mat')