Math 454: Ordinary Differential Equations and Stability Theory (Intro to Dynamical Systems)
Welcome to the Math 454 homepage. Here you will find information on homework exercises, projects, and computer resources.
Recommended Homework
- Chapter 2: 2.1.1-4; 2.2.4-6,10; 2.3.2-3; 2.4.3-6,9; 2.5.3-4; 2.7.1,6,7;
- Chapter 3: 3.1.1,2,4,5; 3.2.2-4; 3.4.1,2,5,7,9,11; 3.5.2,3,7,8 (also: 3.7.3a); 3.6.1-3;
- Chapter 4: 4.1.5-7; 4.3.1,7,10 ; 4.5.1;
- Chapter 5: 5.1.4, 5, 9; 5.2.3,5,7,9,12
- Chapter 6: 6.1.2,4,6; 6.2.1; 6.3.1-4,10(a-c); 6.4.1-3,7; 6.5.1,2,8,9,19(c-d); 6.8.3,4,7,12
- Chapter 7: 7.1.1,3; 7.2.9,12; 7.3.1,7,10; 7.5.1,3;
- Chapter 8: 8.1.1,7,8,11; 8.2.1,5,13;
- Chapter 10: 10.1.6,10,11; 10.3.3,4,7; 10.5.1-3;
- Chapter 9: 9.2.1,3,6; 9.3.1,8;
- Chapter 11: 11.1.2,4,6; 11.2.1,2,3; 11.3.1,7; 11.4.1,2,3
- Chapter 12: 12.1.3,4,5
Projects
The following are descriptions of projects, some of which involve MATLAB for graphing and numerical calculation. These should not be regarded as homework problems, but rather as investigations that are potentially open ended, and should be written up as if they were scientific results suitable for publication. Please keep in mind the writing requirements explained in the syllabus .Due dates will be posted as necessary.
Getting started with MATLAB
We will use this computational tool several times. In a nutshell, MATLAB is a high-level language for mathematical computation (primarily numerical rather than symbolic) and graphics. You will not be expected to write code from scratch, but its helpful to know the basics. If you haven't used MATLAB much, check out the Matlab Primer (PDF).
Project #1: Finding bifurcations in a fishery model (DUE Feb 18 )
This project is based on exercises 3.7.3-4. The simplest model is nothing more than the logistic growth equation with an additional term (-h) that describes harvesting (i.e. fishing). The ``bifurcation.m" MATLAB tool (in the MATLAB resources section below) useful here.
A1. Show how the equation can be rescaled to get the non-dimensional version in 3.7.3 part (a).
A2. 3.7.3(b). Exhibit at least two qualitatively different cases.
A3. 3.7.3(c). Do this algebraically - one can be more convincing here that just a graph.
A4. Discuss the biological implications for $h$ greater or less than the bifurcation value.
As explained in the text, the model of part A has some shortcomings. 3.7.4 introduces a better model. There are two parameters here. To avoid confusion, think of "a" as fixed, and "h" as the bifurcation parameter.
B1. Use both graphical and algebraic arguments to classify the bifurcation described in 3.7.4(d).
B2. Use both graphical and algebraic arguments to classify the bifurcation described in 3.7.4(e).
B3. If the parameter "a" is exactly 1, the two bifurcations happen to merge, creating a different bifurcation type. What is this type? Justify.
Now it's time to interpret the analysis in part B.
C1. For parts C1-3, let a=1/4. What is the maximum rate of harvesting (given by the parameter h) that would ensure that there is at least one positive, stable equilibrium?
C2. What would happen to the fish population if the initial number of fish was very small and harvesting was set to the maximum rate?
C3. Suppose that you want to make sure that the fish population doesn't go to zero, regardless of initial conditions. In this case, what is the maximum rate of harvesting that should be allowed?
Project #2: Chemical oscillators (DUE April 4)
There are a number of chemical reactions which are known to produce oscillations.
The most famous is the Belousov-Zhabotinsky reaction. You can view a
laboratory demonstration of it here.
This project deals with the oscillating chemical system known as the "Brusselator",
which has the form
dx/dt = 1 - (b+1) x + a x^2 y
dy/dt = bx - a x^2 y
Here x,y,a,b are all >0. You will use PPLANE (version 8), found here. (You might be able to use the online JAVA version, I haven't tried it) Make sure your write-up includes complete explanations and graphs when appropriate.
Part A. Analytic work: find all fixed points and classify them using the Jacobian.
Part B. Analytically find and explain that a Hopf bifurcation occurs at some critical value of b (which will depend on the parameter a). Does the limit cycle exist for b larger or smaller than this critical value?
Part C. For the following cases, graph the vector field and ONE sample trajectory: (1) There is a stable spiral; (2) There is a stable limit cycle. You can use trial and error to determine the right value of a and b, but you should also be guided by parts A and B. Make sure you select the "arrow" option on the PPLANE window, and adjust the display window bounds to show only the first quadrant (since x,y are physically nonnegative).
Part D. Approximate (analytically) the period of the limit cycle when b is near its critical value.
Part E. Now compare part D to numerics. Use pplane's display menu item Solutions -> Plot a Nearly Closed Orbit to plot a limit cycle. Pick parameters so that the limit cycle isn't too big. Now go to the menu item Graph -> x vs. t. You then need to click RIGHT on the limit cycle, and PPLANE will show you a graph of the first component as a function of time. From this graph, estimate the period of the limit cycle. Demonstrate convincingly that your calculation of part D is right by graphing a sequence of smaller and smaller limit cycles and estimate their period numerically.
Project #3: Maps, period doubling, chaos, and Lyapunov exponents (Due April 25)
Here is Matlab code for plotting that groovy bifurcation diagram associated with the logistic map.A1. Change the code to compute the sine map (see text problem 10.5.6 ), and BE SURE TO ALSO CHANGE THE RANGE of the parameter r, so that the results look similar to the logistic map. Show labeled plot(s) of your results.
A2. Find the values of the parameter r where the period doubling bifurcations occur (zoom by changing the range for r and recomputing, rather than just using the graphics window option; this will allow you to get these values to within several digits of accuracy). Compute the ratio of their successive differences (see text) for at least five pairs to see how close you can get to the Feigenbaum constant.
A3. Find the point where chaos sets in, and other features, such as a window where 3-cycles live. Label these on your plot(s).
Part B: Here is Matlab code for finding the Lyapunov exponent of the logistic attractor. It plots out a graph of AVERAGES of the log of f'(x) over a trajectory of length N. Therefore, the graph tends toward the actual Lyapunov exponent.
B1. Determine the exponent for a stable 2-cycle and 4-cycle, indicating the value of r you are using, and showing the graphical output. Why are the exponents negative?
B2. Set r=3.6 and determine the Lyapunov exponent. Show that you get the same result independent of the initial data that you use. Why is the result positive?
Project # 4: Complex mappings and basins of attraction (due May 10)
This project uses the MATLAB code complexmap.m , which displays the basin of attraction (i.e. the set of all initial conditions which lead to a bounded trajectory, see text) for a particular complex mapping z_(n+1) = f(z_n). Like strange attractors, their geometry is complicated, and the boundary of the basin of attraction is typically a fractal. In the first few lines of the MATLAB code, the mapping and parameters are specified along with the viewing window specified by (xmin,xmax,ymin,ymax). The code iterates the mapping N times, and plots the initial point z_0 only if z_N is fairly small (``small" is determined by some prescribed tolerance).A. Consider the complex mapping f(z) = z^2 + c. Argue that if the modulus of z_0 is large enough, the modulus of z_n will always tend toward infinity as n gets large. This means not every point will be in the basin of attraction.
(Hint: |z_n+1| = |z_n^2 + c| > |z_n|^2 - |c| = (|z_n| + |c|^(1/2))(|z_n| - |c|^(1/2)) > 2 |z_n| as long as |z_n|> 2 + |c|^(1/2). Justify each inequality, and say what happens for large n).
For part B, use c = -.12256117 + .74486177 i.
B1. Run the code for the complex mapping f(z) = z^2 +c. You should (after a few seconds) see the famous "Douady's Rabbit". Plot this.
B2. Change (xmin,xmax,ymin,ymax) so that you are looking at a region of radius ~0.1 near the point (-.5, .3). You should see quasi-self similarity. Plot this as well.
C. There appears to be symmetry in the basins of attraction. Prove the following: if z_0 is in the basin of attraction (so {z_n} stays bounded) so is -z_0. (hint: do these two initial points create the same eventual sequence?)
For Part D, set the constant c=i.
D1. Make the viewing window large enough to see the whole basin of attraction, which looks like lightning. With N=40, you'll probably see nothing. This is because the basin of attraction is very "thin", and almost every initial condition will explode. Plot using N = 20 to capture initial conditions that are close enough to the basin of attraction that their iterates don't get too large.
D2. Determine (using, say, the MATLAB command line) the first several iterates starting at z=0. Is z=0 in the basin of attraction? Why?
D3. Zoom in on zero by changing (xmin,xmax,ymin,ymax) and adjust N so that you capture a basin structure that looks self-similar.
MATLAB resources
Matlab Primer (PDF) This will help you get started using MATLAB.Simple phase portrait m-file
This is a script which plots 2-d phase portraits and sample trajectories. It is small and easy to customize, but requires some MATLAB knowledge.
Bifurcation tool (m-file)
This script will plot a bifurcation diagram for one dimensional, one parameter systems. It requires the user to edit the function definition and provide bounds for the parameter and dependent variable.