Suppose is a function from
to
. Then we can define a
sequence
as follows.
where a is some fixed number we choose. In class we talked about sequences generated this way and gave some examples of how such sequences might arise in models of population growth. For convenience, we will call a sequence generated in this way a recursive sequence.
Studying sequences generated in this way has also been of great interest in the area of mathematics called Dynamical Systems. In fact it was in such systems that the phenomenon of deterministic chaos was first understood. In this project you will investigate the convergence of sequences generated in this way.
To help you out, some simple Maple procedures have been written as
part of the CalcP package. These
programs will be useful in generating and plotting recursive sequences
and are described in a section at the end of this handout. A brief
description of each command also appears below. Each of these
procedures requires you to define a value for the variable start
and a procedure func before you read them in. The value of the
variable start is used for and the procedure func is
used to generate the sequence. To read these procedures in, use the
read command exactly as in the examples. Note that in the
read command, the filename must be enclosed in backquotes,(`).
Recur(f,start,n);
, where f is a function
or expression, start is the value of
Sequence(f,start,n);
,
where the arguments have the same meaning as for Recur.
PlotSeq(f,start,);
,
where the arguments have the same meaning as for Recur.
ShowSeq(f,start,n);
. As usual, the arguments have the same
meaning as for Recur.
The main question in working with a recursive sequence is to determine
the behavior of the sequence for large values of n. If the sequence
converges, then the interpretation is straightforward. It turns out,
however, that there are several ways in which the sequence can
diverge. One way is for the sequence to be asymptotically
periodic, which we define as follows. We say that a sequence is
periodic with period K if for sufficiently large n
and K is the smallest integer for which this is true. For example,
every constant sequence is 1-periodic, while the sequence
is periodic with period 2. A sequence is
asymptotically of period K if it approaches a K-periodic
sequence. The sequence
, for example, is
asymptotically of period 2. Sequences which are bounded but not
asymptotically periodic are called chaotic.
There is a very useful graphical procedure for plotting recursive
sequences. Given a value for , the value of
can be obtained
by finding
. If we draw a horizontal line from the point
to the line y=x we arrive at the point
. A
vertical line from this point intersects the graph of
at the
point
, whose y coordinate is the next term in the
sequence. This procedure can be continued as long as you wish. An
example of the first five steps of this algorithm for
and
is shown in Figure 2 at the end of this
handout.
The goal of this project is for you to discover criteria that will let you predict convergence or divergence of recursive sequences. In this section you are led through a series of exercises that will provide you with the answers you need.
The following result may be useful to you.
If there is a number r and a constant c with 0 <c <1 such that
then the sequence converges to r.
Your project report should be about convergence of recursive sequences to fixed points of functions. It should not be just a description of what you did in the exercises. Write your report as if you were explaining what you discovered to a friend. The examples in the exercises are just examples; they can be used to motivate your results but they are not the primary results. Use the same structure for your report that you used for the first project.
These procedures will help you in generating and plotting recursive
sequences. Each of these procedures requires you to define a value for
the variable start and a procedure func before you read
them in. The value of the variable start is used for and
the procedure func is used to generate the sequence. To read
these procedures in, use the read command exactly as in the
examples. Note that in the read command, the filename must be
enclosed in backquotes,(`). If you want to see what these procedures
look like, you can copy the files to your home directory. If you are
not sure how to do this, ask me, one of the lab monitors, or a friend
who knows UNIX.
Recur(f,start,n)
, where f is a function
or expression, start is the value of
> with(CalcP);
> f := x -> sqrt(x);
> Recur(f,0.1,1);
> Recur(f,0.1,2);
> Recur(f,0.1,10);
Sequence(f,start,n);
, will print out the values
> Sequence(f,0.1,4);
> PlotSeq(f,0.1,10);
> ShowSeq(f,0.1,5);
Figure: First ten iterates for the function with
.
Figure: Graphical algorithm for the first five iterates of with
.