Bifurcations in 2-D systems

Case I, A: Bifurcations of fixed points:

1) Saddle-node bifurcation (at λ = 0)

Clear[a,diffx,diffy,x,y]
imagesize=500;xdom=2;ydom=2;
Manipulate[
diffx=a-x^2;
diffy=-y;
fps=Quiet[Solve[{diffx==0,diffy==0},{x,y}]];
coordinates={x,y}/.fps;
Gfps=Graphics[{PointSize[0.03],Red,Point[coordinates]}];
sp=StreamDensityPlot[{diffx,diffy},{x,-xdom,xdom},{y,-ydom,ydom},ColorFunction->"Pastel",FrameLabel->{x[t],y[t]},PlotLabel->Style["Phase portrait",Large],ImageSize->imagesize,LabelStyle->18];
Show[sp,Gfps],
{{a,0,"Parameter a"},0,2,Appearance->"Labeled"},SaveDefinitions->True,TrackedSymbols:>{a}]

2) Transcritical bifurcation (λ = 0)

Clear[a,diffx,diffy,x,y]
imagesize=500;xdom=3;ydom=2;
Manipulate[
diffx=a x-x^2;
diffy=-y;
fps=Quiet[Solve[{diffx==0,diffy==0},{x,y}]];
coordinates={x,y}/.fps;
Gfps=Graphics[{PointSize[0.03],Red,Point[coordinates]}];
sp=StreamDensityPlot[{diffx,diffy},{x,-xdom,xdom},{y,-ydom,ydom},ColorFunction->"Pastel",FrameLabel->{x[t],y[t]},PlotLabel->Style["Phase portrait",Large],ImageSize->imagesize,LabelStyle->18];
Show[sp,Gfps],
{{a,0,"Parameter a"},-2,2,Appearance->"Labeled"},SaveDefinitions->True,TrackedSymbols:>{a}]

3) Pitchfork bifurcation, supercritical (λ = 0)

Clear[a,diffx,diffy,x,y]
imagesize=500;xdom=2;ydom=2;
Manipulate[
diffx=a x-x^3;
diffy=-y;
fps=Quiet[Solve[{diffx==0,diffy==0},{x,y}]];
coordinates={x,y}/.fps;
Gfps=Graphics[{PointSize[0.03],Red,Point[Re[coordinates]]}];(*only real ones*)
sp=StreamDensityPlot[{diffx,diffy},{x,-xdom,xdom},{y,-ydom,ydom},ColorFunction->"Pastel",FrameLabel->{x[t],y[t]},PlotLabel->Style["Phase portrait",Large],ImageSize->imagesize,LabelStyle->18];
Show[sp,Gfps],
{{a,0,"Parameter a"},-2,2,Appearance->"Labeled"},SaveDefinitions->True,TrackedSymbols:>{a}]

3) Pitchfork bifurcation, subcritical (λ = 0)

Clear[a,diffx,diffy,x,y]
imagesize=500;xdom=2;ydom=2;
Manipulate[
diffx=a x+x^3;
diffy=-y;
fps=Quiet[Solve[{diffx==0,diffy==0},{x,y}]];
coordinates={x,y}/.fps;
Gfps=Graphics[{PointSize[0.03],Red,Point[Re[coordinates]]}];(*only real ones*)
sp=StreamDensityPlot[{diffx,diffy},{x,-xdom,xdom},{y,-ydom,ydom},ColorFunction->"Pastel",FrameLabel->{x[t],y[t]},PlotLabel->Style["Phase portrait",Large],ImageSize->imagesize,LabelStyle->18];
Show[sp,Gfps],
{{a,0,"Parameter a"},-2,2,Appearance->"Labeled"},SaveDefinitions->True,TrackedSymbols:>{a}]

Creation of this notebook was supported by IT Academy program of Information Technology Foundation for Education (HITSA).