ORDINARY DIFFERENTIAL EQUATIONS POWERTOOLLesson 6 -- BifurcationsProf. Douglas B. MeadeIndustrial Mathematics InstituteDepartment of MathematicsUniversity of South CarolinaColumbia, SC 29208 URL: http://www.math.sc.edu/~meade/E-mail: meade@math.sc.edu Copyright \251 2001 by Douglas B. MeadeAll rights reserved-------------------------------------------------------------------
<Text-field layout="Heading 1" style="Heading 1">Outline of Lesson 6</Text-field>6.A Graphical Approaches to Bifurcation 6.A-1 Animated Direction Fields and Solution Curves 6.A-2 Bifurcation Diagram6.B Analytic Determination of Bifurcation Points
<Text-field layout="Heading 1" style="Heading 1">Initialization</Text-field>restart;with( DEtools ):with( plots ):
<Text-field bookmark="6.A" layout="Heading 1" style="Heading 1">6.A Graphical Approaches to Bifurcation</Text-field>The solution of a differential equation that contains a parameter will depend in some intrinsic way on the value of this parameter. As the parameter varies, the nature of the solution may indeed vary also. For example, the number, location, and stability of equilibrium solutions may change with changing values of the parameter. Such changes in the nature and behavior of solutions changes are called bifurcations, and the location of such points in a space of parameter and dependent variable are called bifurcation points.By way of clarification of these ideas, consider the one-parameter family of functionsf := y^2 - 2*y + mu;in the differential equationode := diff( y(t), t ) = eval( f, y=y(t) );
<Text-field bookmark="6.A-1" layout="Heading 2" style="Heading 2">6.A-1 Animated Direction Fields and Solution Curves</Text-field>For each of the following values of the parameter NiMlI211Rw==,PARAM := [ seq( i/2, i=-8..8 ) ];the differential equationNiMvLSUlZGlmZkc2JC0lInlHNiMlInRHRiosKCokRiciIiMiIiIqJkYtRi5GJ0YuISIiJSNtdUdGLg== has a solution NiMtJSJ5RzYjJSJ0Rw==, and perhaps some equilibrium solutions. If a phase portrait is generated for each value of the parameter listed above, an animation can be constructed of the transition that occurs as the parameter changes. The impact of this animation will be enhanced if all equilibria for each value of the parameter are included in the list of initial conditions. This is accomplished by the following Maple calculation. IC := { seq( [0,i], i=-5..5 ) }:for mu in PARAM do yROOT := solve( f=0, y ); yROOT2 := remove( has, {yROOT}, I ); IC := IC union { seq( [0,y0], y0 = yROOT2 ) };od:unassign( 'mu' ):The complete set of initial conditions is nowIC;
<Text-field layout="Heading 3" style="Heading 3">Maple Question</Text-field>Note that the IC are being kept as a set, not a list. Why is this important? (Consult the on-line help for information about sets and lists.)
The first frame of the animation isDEplot( eval(ode,mu=PARAM), {y(t)}, t=0..5, y=-10..10, IC, arrows=MEDIUM );It shows two equilimbium solutions, the upper one being unstable, and the lower one, stable.Since there are 17 frames in the full animation it may take a considerable amount of time to complete the execution of the next command that generates the full animation.PLOTseq := seq( DEplot( ode, {y(t)}, t=0..5, y=-10..10, IC, arrows=MEDIUM ), mu=PARAM ):display( PLOTseq, insequence=true );As the parameter NiMlI211Rw== varies, the phase portrait for the corresponding differential equation exhibits two equilibrium solutions that merge into one, that then seems to disappear entirely. There is a transition from two equilibria, to one, to none. This is the type behavior that the term bifurcation designates.Hence, this animation shows there is at least one bifurcation somewhere in this range of parameters. To identify the values of the parameter where the bifurcations occur, one typically examines a bifurcation diagram (see below).
<Text-field bookmark="6.A-2" layout="Heading 2" style="Heading 2">6.A-2 Bifurcation Diagram</Text-field>Continuing the previous example, recall that the right-hand side of the ODEode;is the functionf;where NiMlI211Rw== is the parameter. The equilibrium solutions NiMvJSJ5RyUiY0c= (NiMlImNH constant) are solutions of the equation NiMvLSUiZkc2JCUieUclI211RyIiIQ==. In general, these solutions will depend on the parameter NiMlI211Rw==, so the equation NiMvLSUiZkc2JCUieUclI211RyIiIQ== defines the equilibrium solutions NiMtJSJ5RzYjJSNtdUc= implicitly. The constant NiMlJmFscGhhRw== will depend on the parameter NiMlI211Rw==!A bifurcation diagram displays the equilibria of the ODE as a function of the parameter, that is, it contains a graph of NiMtJSJ5RzYjJSNtdUc= vs. NiMlI211Rw==. Hence, the bifurcation diagram is obtained by graphing NiMlInlH as a function of NiMlI211Rw== as determined implicitly by the equation NiMvLSUiZkc2JCUieUclInVHIiIh.In Maple, such a plot, here called Figure 6.1, can be obtained withimplicitplot( f=0, mu=-8..8, y=-4..4, style=POINT, view=[ -8..2, -4..4 ], title="Figure 6.1" );For values of NiMlI211Rw== less than 1, there are two equilibrium solutions. (For example, if NiMvJSNtdUcsJCIiIyEiIg==, there are two intersections of the vertical line NiMvJSNtdUcsJCIiIyEiIg== with the curve containing the equilibrium values.) At NiMvJSNtdUciIiI=, the two branches of the relation shown in Figure 6.1 come together at a single point. Thus for NiMvJSNtdUciIiI=, there is a single equilibrium solution, and clearly, for value of NiMlI211Rw== greater than 1, there are no equilibrium solutions. Hence, the bifurcation value for this ODE is NiMvJSNtdUciIiI=.For a second example, consider the one-parameter family of ODEs determined byf := y^3 - mu*y: ode := diff( y(t), t ) = eval( f, y=y(t) );where again, NiMlI211Rw== is the parameter.The bifurcation diagram for this example has the name "pitchfork".implicitplot( f=0, mu=-4..4, y=-2..2, style=POINT, axes=BOXED, title="Pitchfork Bifurcation" );
<Text-field bookmark="6.B" layout="Heading 1" style="Heading 1">6.B Analytic Determination of Bifurcation Points</Text-field>Not every equilibrium solution is a bifurcation point. For a given value of the parameter NiMlI211Rw==, a necessary condition for an equilibrium solution to be a bifurcation point isNiMvLSUlZGlmZkc2JC0lImZHNiQlInlHJSNtdUdGKiIiIQ==. Thus, equilibrium points for the ODE NiMvLSUlZGlmZkc2JC0lInlHNiMlInRHRiotJSJmRzYkRiclI211Rw== must satisfy the equation NiMvLSUiZkc2JCUieUclI211RyIiIQ==. If an equilibrium point satisfies the additional condition NiMvLSUlZGlmZkc2JC0lImZHNiQlInlHJSNtdUdGKiIiIQ==, then the equilibrium point might also be a bifurcation point.The bifurcation points generated by the functionf := y*(1-y)^2 + mu;are found by solving the equationsbif_eq1 := f = 0; bif_eq2 := diff( f, y ) = 0;Maple gives bif_sol := solve( { bif_eq1, bif_eq2 }, { mu, y } );as the solutions, which are then expressed as the points NiMtJSFHNiQlI211RyUieUc= viabif_pt := seq( eval([mu,y],BP), BP=[bif_sol] );The bifurcation diagram corresponding to the ODEdy/dt = f;is given in Figure 6.2.bif_diag := implicitplot( f=0, mu=-2..2, y=-2..4, style=POINT ):bif_pt_P := plot( [bif_pt], style=POINT, color=BLUE, symbol=CROSS, symbolsize=16 ):display( bif_diag, bif_pt_P, axes=BOXED, title="Figure 6.2" );The two potential bifurcation points are marked with blue crosses in Figure 6.2.