Subcritical Pitchfork Bifurcation

  • Thread starter Thread starter glebovg
  • Start date Start date
  • Tags Tags
    Bifurcation
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
5 replies · 7K views
glebovg
Messages
156
Reaction score
0
Homework Statement

Consider the system dx/dt = rx + x^3 - x^5, which exhibits a subcritical pitchfork bifurcation.
a) Find algebraic expressions for all the fixed points.
b) Calculate r_s, the parameter value at which the nonzero fixed points are born in a saddle-node bifurcation.

The attempt at a solution

x* = 0 and x* = ±√½±½√4r+1.
 
Physics news on Phys.org
For (b), why not check out the Wikipedia reference on pitchfork bifurcation, check all those derivatives and determine which value of r satisfies them. That's not too hard right? Then if you want to and you're into Mathematica, check out this code which draws the slope field and bifurcation diagram. Experiment with it to see how the fixed points are created and destroyed at the bifurcation point:

Code:
myStableVals = {}; 
myUnstableVals = {}; 

For[r2 = -1, r2 <= 1, r2 += 0.01, {thereals = Select[x /. Solve[r2*x + x^3 - x^5 == 0, x], Element[#1, Reals] & ]; rlen = Length[thereals]; 
     For[i = 1, i <= rlen, i++, {If[(r2 + 3*x^2 - 5*x^4 /. x -> thereals[[i]]) <= 0, myStableVals = Append[myStableVals, {r2, thereals[[i]]}], 
         myUnstableVals = Append[myUnstableVals, {r2, thereals[[i]]}]]; }]; }]; 

lp1 = ListPlot[myStableVals, PlotRange -> {{-1, 1}, {-3, 3}}, PlotStyle -> Blue]; 
lp2 = ListPlot[myUnstableVals, PlotRange -> {{-1, 1}, {-3, 3}}, PlotStyle -> Red]; 

Show[{lp1, lp2}]

Manipulate[thereals = Select[x /. Solve[r2*x + x^3 - x^5 == 0, x], Element[#1, Reals] & ]; 
   theeqpoints = Graphics[{Red, Thickness[0.01], (Line[{{-5, #1}, {5, #1}}] & ) /@ thereals}]; 
   Show[{StreamPlot[{1, r2*x + x^3 - x^5}, {t, -5, 5}, {x, -2, 2}, StreamPoints -> 45], theeqpoints}], {r2, -1, 1}]
 
glebovg said:
Homework Statement

Consider the system dx/dt = rx + x^3 - x^5, which exhibits a subcritical pitchfork bifurcation.
a) Find algebraic expressions for all the fixed points.
b) Calculate r_s, the parameter value at which the nonzero fixed points are born in a saddle-node bifurcation.

It can be instructive to simply plot [itex]rx + x^{3} - x^{5} = x ( r + x^{2} - x^{4} )[/itex] for various values of r , knowing that the y-axis represents dx/dt . Zeroes of the polynomial for which the slope is positive represent unstable equilibria, while those with negative slope represent stable equilibria. The equilibrium point at x* = 0 is always there for any choice of r . If you check your solution for the zeroes of [itex]r + x^{2} - x^{4}[/itex], by the way, I think you'll find that your expression for the other equilibria should be
[tex]x* = \pm[ {\frac{1}{2}} \pm \frac{1}{2} \cdot \sqrt{1 + 4r} ]^{1/2} .[/tex]
[EDIT: as I re-read this, I guess that is what you intend, but your expression would benefit from the insertion of some parentheses.]

There are actually three cases to consider:

(1) for large positive r , the "minus" within the square bracket is inapplicable because it makes the term under the "main square root" negative; in this case there are only two zeroes for dx/dt besides x* = 0 ;

there is a critical value of r (what is it?) where the situation changes and we have

(2) the "minus" become admissible, so there are now four zeroes for dx/dt , in addition to the one at x* = 0 ; also, look at what happens to the nature of the equilibrium at x* = 0 ;

finally, there is another critical value of r (what is this?) where

(3) just at that value, the number of zeroes other than x* = 0 is three again, but beyond that value, the expression under the "inner square root" is negative, permitting no other zero besides x* = 0 .

The approach of plotting the direction field, which jackmell suggested, is certainly also useful and illustrative, but analysis of the function for dx/dt can pinpoint critical values of parameters (if the function isn't too "hairy"), and will also aid in interpreting what the direction field plots are showing us.
 
Last edited:
Ok, that's better. Thanks. Wish to point out that this equation is just a cross-section of a more general expression:

[tex]\frac{dx}{dt}=ax^5+bx^3+cx^2+dx+e[/tex]

which exhibits the butterfly catastrophe, one of the seven elementary catastrophies in Catastrophe Theory. I tried to plot the equilibrium surface for:

[tex]\frac{dx}{dt}=-x^5+x^3+cx^2+rx[/tex]

via the Mathematica code:
Code:
thesheet = x /. Solve[-x^5 + x^3 + 3*u*x^2 + r*x == 0, x]; 
Plot3D[Evaluate[thesheet], {u, -1, 1}, {r, -3, 3}, PlotPoints -> 75, BoxRatios -> {1, 1, 1}]



below but can't do a nice job. The bifurcation diagram I mentioned in my first post is just a cross-section of this plot.

Not trying to out-do Dynamic up there. Just pointing out to the young students in here that in my opinion, many of the puzzling phenomena in our world can be framed within the context of Catastrophe Theory and equations like this so you guys might want to consider studying them. That's one reason I do. :)
 

Attachments

  • butterfly catastrophe.jpg
    butterfly catastrophe.jpg
    40.2 KB · Views: 647
Last edited:
jackmell said:
Not trying to out-do Dynamic up there. Just pointing out to the young students in here that in my opinion, many of the puzzling phenomena in our world can be framed within the context of Catastrophe Theory and equations like this so you guys might want to consider studying them. That's one reason I do. :)

Thank you for this additional remark. There are many useful ways to visualize the behavior of dynamical systems, and I appreciate your providing the description via catastrophe theory. (CT is little emphasized in what I have been reading, so I found this alternative approach of interest.)

[Incidentally, in my post (#4), for case (3), that should read, "... other than x* = 0 is two again, ..." . I just missed the 700-minute deadline for fixing the error up there.]
 
Last edited: