# Brief Intro to LOCBIF

LOCBIF is distributed as part of the Windows version of XPP thanks to the kind contribution of Alex Khibnik who parted with the source code. LOCBIF was originally a stand-alone DOS program and a recent improved version, CONTENT . The version here is somewhat old but still seems to work OK. AUTO is the bifurcation package that I originally included in XPP but was unable to get the port to work in Windows. Anyone who'd like to try should contact me.

### LOCBIF vs AUTO

LOCBIF is easier to use and handles bifurcations of equilibria and fixed points of maps better than AUTO. On the other hand, AUTO handles boundary value problems and continuation of periodic orbits better than LOCBIF. If you really need AUTO, you can get the native X version for Windows of XPPAUT or switch to Linux (the recommended solution).

## Introduction

LOCBIF can continue and find bifurcations for the following four types of problems depending on parameters p with state variables x .
1. Equilibria of ODEs :

dx/dt = f(x,p)

2. Fixed points of maps :

x(n+1) = f(x(n),p)

3. Periodic solutions of forced systems :

dx/dt = f(x,p,t) where f(x,p,t+T)=f(x,p,t)

4. Autonomous oscillations of ODEs:

dx/dt = f(x,p)

NOTE The last three types of curves are essentially the same since the periodically forced system is equivalent to a map taking the phase-space at t=0 to the phase-space at t=T . In the case of an autonomous oscillation, the one forms the Poincare map and looks at that map. Fixed points of the latter two systems correspond to periodic solutions. To invoke LOCBIF, you must click on File Locbif from the main WINPP menu. You will get a window like this: The basic objects that LOCBIF computes are curves in the product space of the parameters and the phase space. For example, it will compute curves of equilibria F(x,p)=0 for ODEs. Along these curves, LOCBIF keeps track of special points where bifurcations occur. These special points are obtained by evaluating certain bifurcation functions the zeros of which tell you something about the system. For example, a zero determinant tells you that there is a zero eigenvalue. The equations for these functions along with the ODE/MAP form the curve-defining system. So, if you want to follow the set of equilibria where there is a zero eigenvalue, you need two parameters since you must solve the n+1 equations:

F(x,p1,p2) = 0

det A(p1,p2) = 0

along some curve in (x,p1,p2) space. There are many different types bifurcations and I will refer the reader to a comprehensive book such as Wiggins , Guckenheimer and Holmes or Kuznetsov.

Nothing here works yet.

## Numerics

This invokes the numerics menu. There are many numerical parameters and their suggested settings. I will briefly describe them but a comprehensive description is best obtained from the hardcopy documentation for the DOS version lbf.ps

#### Curve parameters

These are parameters for the continuation in phase-space.

• H0crv is the initial step size for continuation of the curve.
• Hmxcrv is the maximum step allowable; make this smaller to force smoother bifurcation curves.
• Angcrv is the desired angle between the tangent at the current point and the secant with the previous point. Smaller angles lead to more points per curve and smoother curves.
• DhCrv increment for numerical evaluation of Jacobian matrix for the curve-defining system
• DhJac increment for numerical evaluation of Jacobian matrix for the right-hand sides of the ODE/Map.
• Maxit maximal number of Newton corrections
• Modit number of Newton corrector steps above with Jacobian re-evaluation.
• Epscrv tolerance for Newton corrector. Set this or any of the tolerances to zero to ignore such points.
• Epscrs tolerance for self-crossing (eg transcritical and closed curves)
• Epszer tolerance for zeros of the curve-defining system
• Epsext tolerance for location of extremal values of the parameters. I often set this to 0 as it is annoying.
• Ipsrng ordering number(s) of a nongeneric parameter(s) for continuation of non-transveral curve types. Possibilities are 1,2,3,12,13,14,23,24,34.
• Algcrv type of step size
• +/- 1: doubling/halving
• +/- 2: explicit dependence on curvature
• +/- 3: implicit dependence on curvature
Curvature test (see Angcrv ) is ignored if this parameter is negative.

#### Orbit parameters

These are parameters for the LOCBIF integrators.

• Itmap number of iterations for the map or periods of length Tint for the flows.
• Tint length of time to integrate for flows. It should equal the period for the periodically forced system.
• H0int initial integration step size
• Hmxint maximal step size for integration
• Dhint increment for numerical Jacobian for stiff integrator
• Epsint absolute tolerance
• Epsrel relative tolerance (make this smaller than Epsint )
• Solver there are five internal LOCBIF solvers, the first three are fifth order Dormund-Prince solvers, the fourth is a Runge-Kutta type solver, and the last is a stiff solver.
• Isec the undex of the variable used for the Poincare map. When the derivative of the Isecth variable vanishes, this is the Poincare map used. Setting this to 0 means to automatically compute the secant plane.
• Irhs not yet implemented
• Iorbit ignored

## Plots

These items let you redraw the diagram and set the plot parameters. Only two-dimensional plots are allowed at present. The Autoscale check box will scale the plot to fit the diagram.

## Edit

• Copy copies the plot to the clipboard
• Edit lets you save the current curve, start a new curve, and choose from previous saved curves. Curves are presently saved in memory and are lost when you exit the program. Only the currently chosen curve is plotted.
• Delete lets you delete curves.
Note that by defining different curves, you can look at a system as one parameter varies, then as a different one varies and keep them separated.

## Run

### Equilibria

This command lets you find equilibria and other curves as one or more parameters varies. To start, you must have an equilibriaum point as the initial condition in WinPP or you must start on a point you have grabbed from a prior calculation. This opens the dialog box: There are many different choices that you can pick here. For ordinary equilibria, choose Equilibrium and LOCBIF will track the equilibria as a parameter varies. Note the number in the parenthese in each point is the number of parameters you must choose for that curve. Suppose after computing a curve of equilibria, you find a Hopf bifurcation. Then you can do a two-parameter continuation finding all equilibria that are points of a Hopf bifurcation. Once you have chosen the type of curve to follow, choose the parameters and the maximum and minimum ranges. Finally choose a direction (+/- 1) and click on OK. If all goes well, the diagram will be computed. You can terminate the calculation by clicking on ABORT.

### Fixed points of maps

This command lets you find fixed points of maps as a function of some parameters and lets you trace multi-parameters curves of

## Examples

These examples are from the LOCBIF manual, adopted for WINPP. Click on the ecology model, eco.ode . This is a modification of the Lotka-Volterra model:

x'= x(1-beta x) - x y/(1 + alpha x)

y'= -y(1+delta y) + x y/(1+alpha x)

• Find an equilibrium point by drawing the nullclines ( Phaseplane Nullclines ) and then using the mouse to start nearby the fixed point and integrate. Click Run Last a few times to land on the fixed point.
• Click on File Locbif to get the LOCBIF window. The rest of this example is within the LOCBIF window. Plots Parameters and set the X-axis to be the parameter delta and the Y-axis to be the variable Y . Set the X limits between 0 and 1 and the Y limits between 0 and 10. Click on Run Equilibria. Choose Equilibrium as the Curve Type and set the 1st parameter to be delta and the range to be between 0 and 10. Click OK and the curve of fixed points will appear. Notice that a thick line is drawn indicating a stable branch. An error message will occur saying computations terminated. This is just because you exceeded the parameter bounds and is OK.
• Click on Traverse and use the arrow keys or the mouse to trace the curve. Info is given in the window above the graph and stability is given in the small window with a circle. Eigenvalues in the circle are stable. Click on Home and then Grab to get the first point. Click on Run Equilibrium again and change the Direction to -1 and then click OK and the rest of the branch will be computed. You will have this curve: • Traverse it again, this time clicking on Jump to see the special points that have been marked with a cross. The info window tells you what they are. The three of interest are the two fold points, indicated by the descriptor Zero Eigenvalue and the Hopf point. The other three special points are of no interest here. Note at the Hopf point, the info tells you that L1=-.28037E-2 Since it is negative, this tells you there is a supercritical Hopf bifurcation but that it is nearly vertical since L1 is small. Now we can do a two parameter continuation of the fold points.
• Traverse the diagram and grab the first zero eigenvalue point at delta=.26 or so. Now click Edit Edit Curves and click on Add New This will be for two-parameter curves. Click on Choose and then Plots Parameters Choose the Y axis to be Alpha and let the X axis range between 0 and 3 and the Y axis between 0 and 1. If you want, pick a color, like red. Now click OK Click on Numerics and set the parameter EpsExt to zero to turn off extrema calculations. Click OK Now click on Equilibrium Run and choose Fold as the curve type, and Alpha OK A closed curve will be drawn (at least on my computer). This is a curve of fold points.
• Among the special points are two Neutrality points and a pair of Cusp points. Neutrality points indicate a double zero eigenvalue as can be seen by looking at the stability circle. We can pick up a Hopf bifurcation from these points. Traverse and grab the first one at delta=.006 and alpha=.86 (Use the Jump button to go directly to special points.) Change the plot color to say Blue.
• Click on Run Equilibria and choose Hopf as the curve type. Make the direction -1 and click OK This will draw the curve of Hopf points. You should have this diagram: • The intersection of the Hopf and fold points is a Takens-Bogdanov point and there are homoclinics near by. Grab a TB point and then in WINPP try to find some homoclinics! The cusps are also special points. Inside the closed curve there are three fixed points and outside, one.

### Traversing the Diagram

Clicking on the Traverse button once you have computed a curve, allows you to move a little cross around and information about the points is given in the window above the graph. You can use the mouse to move through the diagram by clicking on

• >> or the right arrow to move up the diagram
• << or the left arrow to move down the diagram
• Home to go to the start of the curve
• Jump to go to the next marked point or PgUp and PgDn
• Directly click near a point on the curve
Then click on Grab to load this point into the initial conditions and to set the parameters at the value corresponding to the point. Use this to start new curves and extend old ones. Click on Esc or type Esc to end traversing the diagram without grabbing a point.

### Bibliography

1. S. Wiggins, Introduction to Applied Nonlinear Dynamical Systems and Chaos, Springer-Verlag, NY, 1990
2. J. Guckenheimer and P. Holmes, Nonlinear Oscillations, Dynamical Systems, and Bifurcations, Springer-Verlag, NY, 1983.
3. Y. Kuznetsov, Elements of Applied Bifurcation Theory, Springer-Verlag, NY, 1995 (1998, New Edition).