# Scalar Dynamical Systems

## Introduction

The state of a scalar dynamical system is characterized by a single number, e.g., the population of a given species of insect in a given region at a given time. The state of the system at time t determines the state at time t + 1 by the rule
```    next state = f( current state )
```
The funcion f determines the behavior of the system. From it we can calculate future states from prior ones.

Example Let f(x) = 2x define the chage-of-state function, and let x_0 = 1 be the population at time t = 0. (The unit of time is, say, one hour, and the unit of population is, say, one thousand (bacteria)). The we compute future states as follows:

```  x_1 = f(x_0) = 2 x 1 = 2
x_2 = f(x_1) = 2 x 2 = 4
x_3 = f(x_2) = 2 x 4 = 8
x_4 = f(x_3) = 2 x 8 = 16
```
In this case it is quite easy to guess what the general pattern is:
```  x_n = f^n(x_0) = 2^n
```
Here "f^n(x)" means "the result of applying f to x a total of n times". Thus f^3(x) = f(f(f(x))).

The model of population growth just discussed is one in which the growth is exponential: we can write

```  x_n = exp( n log(2) )
```
where "log" is the natural logarithm. This is not a realistic model over long periods of time since the population quickly grows to absurd sizes.

Problem: A typical spherical bacterium is about one micron (one millionth of a meter) in diameter. Assuming a one-hour doubling time, compute the time needed for a single bodacious bacterium to (a) completely cover the surface of the earth, (b) completely fill the volume of the earth.

A somewhat more realistic model of population growth is given by a function f whose graph is convex downard, as in the figure below: This is the graph of the function f(x) = 2x(1 - x). We notice that for very small values of x, corresponding to small populations, the graph of f is close to the tangent line at the origin, given by y = 2x. Thus, for small populations, we expect our new model to behave like the old one. However, note (from the graph), that if x > 1/2, then f(x) < x. Thus, if the population exceeds a certain critical value p = 1/2 units, then the next value of the population is smaller: the population declines. This is quite unlike the behavior of the first model.

The critical value p is a fixed point: it is a solution of the equation

```  f(p) = p
```
A fixed point has the property that if the state at a certain time is p, then it will be p for all future time. It is therefore a "rest", or equilibrium state.

Problem. Suppose that f(x) = 3x(1-x). What are the fixed points?

When the change-of-state function is quadratic, as opposed to linear, simple formulas for x_n in terms of x_0 are not known. Nevertheless, it is possible to understand many things about the sequence { x_n }. We will use both analytic and computional tools in the problems below.

## Problems

1. By hand computation determine the sequence { x_n } for n = 1.. 10 when x_0 = 0.1, f(x) = 2x(1-x). Do the same when x_0 = 0.9. Graph both sequences and comment on their behavior. Discuss the limiting behavior as n approaches infinity.
2. Devise a C program to carry out the kind of computations you made by hand in the previous problem. Use this program to investigate the behavior of { x_n } for f(x) = kx(1-x) where k = 2, 2.5, 3, 3.5, and 4. Use x_0 = 0.1 and x_0 = 0.9 as initial values. Compute enough terms of the sequence to be able to make valid conclusions. In each case find the fixed points of f and treat them in your discussion.

Your program should produce screen output something like this:

```  x_0 = 0.100

0.189  0.322  0.458  0.521  0.524  0.524  0.524  0.524  0.524  0.524
0.524  0.524  0.524  0.524  0.524  0.524  0.524  0.524  0.524  0.524
```
You may wish to start with the following outline for the program. Remember: start simple, get the basics working, then refine the program.
```/***************************************************************
Define the constant k and the function f:
***************************************************************/

double k;

double f( double x ) {
return k*(1-x)*x;
}

main()
{

/***************************************************************
Declare x, the current state, n, the number of iterations,
and i, the loop counter.
***************************************************************/

double x, n;
int i;

/*  Initialize variables, print x */

/*  Loop to update and print x */

}
```
3. So far our program writes its output to the screen as a sequence of numbers. We will now do two things: (a) modify it to place its output in a file, (b) use that data to construct a graph. The data written to the file should be formatted like this:
```  0 x_0
1 x_1
2 x_2
etc.
```
To plot the data in the file we may use Maple's readdata and plot commands .

Continue the analysis of previous problem after making graphs for each of the sequence { x_n }.

## Notes

• Henri Poincaré (1854-1912) was one of the first mathematicians to study dynamical systems.
• The biologist Robert May studied the dynamical system f(x) = kx(1-x) as a model for insect populations.

## Discussion (to be read after doing the numerical experiments)

In class we studied the sequences { x_n } produced by the dynamical system with generating function f(x) = kx(1-x) for various choices of the initial state x_0 and of the constant k. We found that as k changes, the behavior of the sequence changes. For example:

• When k = 2, the sequence approaches an equilibrium state p. This approach is exponential, and the equilibrium state is a fixed point of the function f, i.e., p = f(p).
• The preceding behavior seems to be independent of the value of x_0, provided that it satisfies the inequality 0 < x_0 < 1. Can you prove that this is so? One option is to use the graphical analysis discussed in class.
• There is a range of values of k over which the preceding behavior occurs. What is it? Can you prove that your educated guess is correct?
• When k = 3.2 (for example), something new happens: the sequence seems to approach a periodic sequence with period T = 2. You can analyze this situation mathematically by noting that if the sequence is periodic of period two, then the periodic values are fixed points of f composed with f. In other words, they are solutions of the equation p = f(f(p)).
• What happens as k increases? Can you prove that your educated guesses (about periods, dependence on initial conditions, etc.) are true? Possible tools: graphical analysis, study of the fixed-point equation p = g(p), where g is f composed with itself n times.
• When k = 4 the system is chaotic in the informal sense that the sequence { x_n } is very irregular. Try to formulate rigorous definitions of the term "chaos. " Consider in particular how the "final" value x_N depends on the initial value x_0. How do small changes in x_0 affect x_N?
• What other questions should be asked? What can we prove, as opposed to conjecture? Discuss the role of (a) proof, (b) experiment, (c) conjenture in mathematics.

## Bibliography

Devaney, An Introduction to Chaotic Dynamical Systems
A good treatment of the mathematics of scalar dynamical systems. Although the prerequisites are modest (a good knowledge of calculus), the mathematical level is high.

Back to syllabus
Back to Department of Mathematics, University of Utah