Section 3.1: Bifurcations - introduction

​
Let’s say I gave you the differential equation:

x
=
2
x
+r
and asked you to find the fixed points of it. You would, quite rightly, tell me that I haven’t given you enough information. It should certainly depend on the value of
r
as to where the fixed points are...or indeed if there are any at all!
​
However, what you could do is study the system for different values of
r
and see if you can explore some patterns in the fixed points.
​
One way to think of this would be if you had an equation which described some physical system, and there was a free parameter (a growth rate, a carrying capacity, a friction term, an external magnetic field etc.) and you wanted to know how the system would change as you altered this parameter. A non free parameter would be something like Planck’s constant, or the speed of light, or anything else in your system which can’t take on different values.
​
It’s going to turn out that fixed points can change qualitatively. They can appear, or disappear, in a variety of interesting ways. And that is what the study of bifurcations is going to be. Bifurcation points are the points where the fixed points of a system alter in number, or in type.
​
​An often-cited example is a vertical beam which can support some weight. If the weight is small, then the beam is stable. However, if you increase the weight, the beam will buckle. This will typically happen after some critical weight is added.
In[]:=
TableShowParametricPlot
x
5
,0,
x
5
,1,{x,0,1},PlotStyleBlack,ParametricPlotp-
1
4
+
2
p
Cos[θ],
1
2
-
1
4
+
2
p
Sin[θ],p+0.2-
1
4
+
2
p
Cos[θ],
1
2
-
1
4
+
2
p
Sin[θ],θ,-ArcTan
1
2p
,ArcTan
1
2p
,PlotStyleBlack,GraphicsDisk0.1,1+
(40-p)
200
,
(40-p)
200
,PlotRange{{-0.4,0.6},{-0.2,1.5}},AxesFalse,{p,40,1,-0.25};​​ListAnimate[%,SaveDefinitionsTrue]​​
Out[]=

Section 3.2: Bifurcations - Saddle node bifurcations

​
Actually, the equation that we wrote above:

x
=
2
x
+r
is exactly the one that we want to study to start with. Here are four phase portraits which correspond to different values of
r
in the above equation.
In[]:=
ploptions={AxesLabel{Style["x",14],Style["

x
",14]},AxesOrigin{0,0},PlotRange{-2.2,3}};pla=Show[Plot[1+
2
x
,{x,-2,2},Evaluate[ploptions]],Graphics[Arrow[#]]&/@{{{-1.5,0},{-0.5,0}},{{0.5,0},{1.5,0}}},AspectRatio1,PlotLabelStyle["r=1",14]];​​plb=ShowPlot[
2
x
,{x,-2,2},Evaluate[ploptions]],Graphics[Arrow[#]]&/@{{{-1.5,0},{-0.5,0}},{{0.5,0},{1.5,0}}},Graphics[Circle[{0,0},0.1]],GraphicsDisk{0,0},0.1,
π
2
,
3π
2
,AspectRatio1,AxesOrigin{0,0},PlotLabelStyle["r=0",14];​​plc=Show[Plot[
2
x
-1,{x,-2,2},Evaluate[ploptions]],Graphics[Arrow[#]]&/@{{{-2,0},{-1.5,0}},{{0.5,0},{-0.5,0}},{{1.5,0},{2,0}}},Graphics[Circle[{1,0},0.1]],Graphics[Disk[{-1,0},0.1]],AspectRatio1,PlotLabelStyle["r=-1",14]];​​pld=Show[Plot[
2
x
-2,{x,-2,2},Evaluate[ploptions]],Graphics[Arrow[#]]&/@{-2,0},-
2
-0.2,0,
2
-0.2,0,-
2
+0.2,0,
2
+0.2,0,{2,0},Graphics[Circle[
2
,0,0.1]],Graphics[Disk[-
2
,0,0.1]],AspectRatio1,PlotLabelStyle["r=-2",14]];​​GraphicsGrid[{{pla,plb,plc,pld}},ImageSize1200]
Out[]=
We see that as we change the value of
r
we go from no fixed points if
r
=1, to one semi-stable fixed point at
r
=0 to a stable and an unstable fixed point at
r
=-1 which get further apart as you make r even more negative.
​
​
Well, how about plotting the positions of the fixed points at different
r
values? We can do this, and include the arrows in what is called a vector field:
In[]:=
ShowGraphics[Circle[{0,0},0.1]],GraphicsDisk{0,0},0.1,
π
2
,
3π
2
,Graphics[Circle[{1,-1},0.1]],Graphics[Disk[{-1,-1},0.1]],Graphics[Circle[
2
,-2,0.1]],Graphics[Disk[-
2
,-2,0.1]],Graphics[Arrow[{{-2,1},{2,1}}]],Graphics[Arrow[{{-2,0},{-0.1,0}}]],Graphics[Arrow[{{0.1,0},{2,0}}]],Graphics[Arrow[{{-2,-1},{-1.1,-1}}]],Graphics[Arrow[{{0.9,-1},{-0.9,-1}}]],Graphics[Arrow[{{1.1,-1},{2,-1}}]],Graphics[Arrow[{-2,-2},-
2
-0.1,-2]],Graphics[Arrow[
2
-0.1,-2,0.1-
2
,-2]],Graphics[Arrow[
2
+0.1,-2,{2,-2}]],AxesTrue,PlotRange{{-2,2},{-3,1.2}},AxesLabel{Style["x",18],Style["r",18]}
Out[]=
​
In fact, we can also exclude the arrows, and just put in the fixed points using solid lines for stable fixed points and dashed lines for unstable fixed points. Usually this is done by taking the above diagram and putting it on its side, so the
x
direction is vertical.
​
Clearly the fixed points are the values for which

x
=0 which in this case is just the roots of
2
x
+r
. So we just have to solve for x as a function of r
2
x
+r=0
Clearly for
r<=0
this is just
*
x
=±
-r
. This will look like:
​
In[]:=
Plot[-
-x
,
-x
,{x,-1,0},PlotStyle{Black,{Black,Dashed}},PlotRange{{-1,1},{-1,1}},AxesLabel(Style[#,20]&/@{"r","x"}),AspectRatio1]
Out[]=
This is known as a bifurcation diagram.
​
Where note that the x-axis has become the vertical axis because what we are plotting here is the position of the fixed points as a function of the parameter
r
. The dashed line corresponds to unstable fixed points, and the full line is the stable fixed points. To understand this plot, choose an
r
value (say r=-0.2) and imagine taking a vertical slice at that value. You will see that the line will cross two fixed points like so:
In[]:=
Show[Plot[-
-x
,
-x
,{x,-1,0},PlotStyle{Black,{Black,Dashed}},PlotRange{{-1,1},{-1,1}},AxesLabel(Style[#,20]&/@{"r","x"})],Graphics[Line[{{-0.2,-1},{-0.2,1}}]],Graphics[Circle[-0.2,
0.2
,0.05]],Graphics[Disk[-0.2,-
0.2
,0.05]],Graphics[{Thick,Arrow[#]}]&/@{{{-0.2,-1},{-0.2,-0.75}},{{-0.2,0.25},{-0.2,-0.25}},{{-0.2,0.6},{-0.2,1}}},AspectRatio1]
​
Now this slice is just the flow line you all know and love, if you tilt your head to the left.
​
So, this bifurcation diagram gives us a summary not just of the fixed points of a single equation, but of a whole family of them, as we change some parameter.
​
​
Note that this bifurcation type is also sometimes called a fold bifurcation or a blue sky bifurcation (two fixed points appearing out of the blue).
​
​
The term bifurcation has its origins in the idea of turning into two forks (bi=two, furc=fork, from Latin).
​
Now your turn: Perform the same analysis as above, but this time for the equations:
The coming few pages are going to be about classifying the other types of bifurcations. But before clicking through, see if you can picture what they might be.
​
Next page
Homepage