Nonlinear Dynamics and Chaos

September 28 2010 rlopez 1263


I spent this past week preparing a Webex presentation to a client who was interested in using Maple for a physics course in chaos. Of the two texts selected for the course, I had one on my own bookshelf. So I scanned Steven Strogatz' text Nonlinear Dynamics and Chaos (Addison Wesley, 1994) for topics that would profit from investigation with Maple.


The first hundred pages apparently deal with stability issues for nonlinear ordinary differential equations. What I saw in the text was a search for critical (equilibrium) points, and a determination of their stability. The techniques used were primarily graphical. Little analytic work was evident, and almost no solutions were computed or even drawn.


Having long ago realized that I, like many of my students over the years, learn from the particular to the general, I found myself wanting to obtain the results in the text through more direct, concrete means, and visible. Example 1 below, taken from Section 3.7 of the Strogatz text, illustrates the kind of thinking I was able to bring to the examples I prepared for the Webex.


For the differential equation , , find all critical points and determine the stability thereof.

Example 1   Dimensionless form of an insect outbreak model in the Strogatz text

 Writing the right-hand side of the differential equation as



the critical points are the roots of the equation . These roots are then given by , and form a surface over the -plane. The equation  defines this surface implicitly, but Maple's solve command will return explicit expressions for . Clearly,  is a root, and since




the remaining three roots are zeros of the cubic polynomial . The zeros of this cubic are unwieldy expressions, and we make no use of them. Instead, we obtain Figure 1, a graph of , the surface defined by the function





Figure 1   Graph of the surface  defined implicitly by the equation  

Above the plane , it appears that there are points in the -plane where  is single-valued, and points where it is triple-valued. This corresponds to the behavior of a cubic polynomial with real coefficients: the number of real zeros is one or three.

Plane sections  reveal the transition from one to three critical points. This is captured dynamically by the animation in Figure 2.



Figure 2   Animation of plane sections  for the surface in Figure 1.


As alternatives to the animation in Figure 2, we also made use of the command


that constructs a graph of  with the values of the parameters  and  controlled by sliders. This graph is housed in the Maplet whose screen image is seen in Figure 3.



Figure 3   Interactive Parameter Maplet where, in the graph of , the values of the parameters  and  are controlled by sliders

Another alternative for constructing an interactive graph of , that is, of




  is the Explore command, the syntax for which would be



The Exploration Assistant opens in a new Tab, as shown by the image in Figure 4.


Figure 4   Interactive graph of  produced by the Exploration Assistant

The discriminant of the cubic polynomial , namely,


is quartic in . Figure 5 is a graph of the function  defined implicitly by the equation .



Figure 5   Graph of  determined implicitly by the equation . Over the red region, ; over the yellow, .



Over the region shaded in red, the discriminant is negative, and hence, for any parameter pair in this region there is just one real zero of the polynomial ; over the region shaded in yellow, the discriminant is positive, and hence, there are three real zeros of  for each parameter pair in this region.


A recent addition to Maple is the RootFinding[Parametric] package, designed to explore the zeros of polynomial systems as functions of associated parameters. Applied to the polynomial , it produces (among other things) the discriminant, and the graph in Figure 5. Our investigation of this package is summarized below. First, the package is made available via the command



Then, the structure of the solution space is determined with the command



Now, the module  can be interrogated for a variety of items, the first of which is the discriminant, obtained with




That this is the same as  can be seen by transforming this output with



and comparing the result to



The -plane is divided into a number of separate cells, as determined by



In this list of pairs, the first member of the pair is the ordinal for the cell; the second, is the number of the zeros of  for each point in that cell. To sort the cells into groups where the number of zeros is either one or three, use




Individual cells can be examined graphically with the command CellPlot. Systematically applying this command to the cells with three zeros per point shows that only cells 10 and 12 lie in the first quadrant of the -plane. This region is sketched in Figure 6.


Figure 6   Region in the -plane for which  has three real zeros



Since  is cubic in , we can obtain the explicit solutions for  defined by setting the discriminant to zero. These solutions are given by


where the output is suppressed because the solutions are very large expressions. The following two limits explain the dotted line in Figure 6.




The curve bounding the top of the "horn" in Figure 6 is asymptotic to , whereas the curve bounding the bottom is asymptotic to .

Figure 1 and either Figure 5 or 6 help in understanding the "catastrophe" that occurs when the system described by the differential equation  progresses through a succession of equilibrium states of "small"  to the edge of the boundary of the "horn" in Figure 6. From there, it can assume an equilibrium state of "large"  with parameter values very near those of a state with "small" . The constructive nature of our investigation, and the interactive graphics we used, show clearly that the value of a tool like Maple is in the added insight it brings. If such software merely reproduced the approach that is constrained by the printed page, it wouldn't be worth the effort to employ it. Its value lies in its ability to go beyond the confines of the typical textbook.


Please Wait...