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 righthand 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
where
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 singlevalued, and points where it is triplevalued. 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.
Another alternative for constructing an interactive graph of , that is, of

(1) 

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 .
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

(2) 
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.
Download Nonlinear_Dynamics_a.mw