Skip to main content

Section7.3Discrete Dynamical Systems

Objectives
  1. Understand how to convert word problems to matrix equations.
  2. Learn how the eigenvalues and eigenvectors of a matrix A can be used to describe the long-term behaviour of an associated discrete dynamical system.
  3. Recipe:calculate the state vt of a discrete dynamical system at time t.
  4. Picture: dynamics of a discrete dynamical system.
  5. Vocabulary: difference equation, (linear) discrete dynamical system, saddle point, attractor, repeller.

This section and the next are devoted to one common kind of application of eigenvalues: to the study of discrete dynamical systems. The discrete dynamical systems we study are linear discrete dynamical systems.

If f:RnRn is a transformation (not necessarily linear) and ...,vi,vi+1,vi+2,... is a sequence of vectors in Rn such that vi+1=f(vi), then we say that f and the sequence vi,vi+1,... make up a discrete dynamical system. The difference equations we study are special kinds of discrete dynamical system, the kind where f is a linear transformation.

Before giving too many technical definitions, we consider an example:

Example

An electric scooter company has locations all over Nottingham, where you can rent scooters. You can return them to any other location. For simplicity, pretend that there are three locations, and that every customer returns their scoote the next day. Let vt be the vector whose entries xt,yt,zt are the number of scooters in locations 1,2, and 3, respectively. Let A be the matrix whose i,j -entry is the probability that a customer renting a scooter from location j returns it to location i. For example, the matrix

A=B.3.4.5.3.4.3.4.2.2C

encodes a 30% probability that a customer renting from location 3 returns the scooter to location 2, and a 40% probability that a scooter rented from location 1 gets returned to location 3. The second row (for instance) of the matrix A says:

The number of scooters returned to location 2 will be (on average):

30%ofthescootersfromlocation140%ofthescootersfromlocation230%ofthescootersfromlocation3

Applying this to all three rows, this means

ABxtytztC=B.3xt+.4yt+.5zt.3xt+.4yt+.3zt.4xt+.2yt+.2ztC.

Therefore, Avt represents the number of scooters at each location the next day:

Avt=vt+1.

This is an example of a linear discrete dynamical system.

Subsection7.3.1Discrete dynamical systems

Suppose that we are studying a system whose state at any given time can be described by a list of numbers: for instance, the numbers of rabbits aged 0,1, and 2 years, respectively, or the number of customers of two different phone companies in Canada. In each case, we can represent the state at time t by a vector vt. We assume that t represents a discrete time quantity: in other words, vt is the state “on day t or “at year t ”. Suppose in addition that the state at time t+1 is related to the state at time t in a linear way: vt+1=Avt for some matrix A. This is the situation we will consider in this section.

Definition

A (first-order homogeneous) matrix difference equation is an equation of the form

vt+1=Avt

where A is an n×n matrix. An initial condition is a vector v0 in Rn. Taken together, the difference equation and the initial condition determine a sequence of vectors v0,v1,v2,... such that vt+1=Avt for all t. This is called a (linear) discrete dynamical system.

In other words:

  • vt is the “state at time t,
  • vt+1 is the “state at time t+1, and
  • vt+1=Avt means that A is the “change of state matrix.”

Note that

vt=Avt1=A2vt2=···=Atv0,

which should hint to you that the long-term behavior of such a system is an eigenvalue problem.

Subsection7.3.2Long-term behaviour

An important question to ask about a dynamical system is: what is its long-term behavior? How many scooters will be at each location after 100 days (assuming no intervention from the business owner)? How many rabbits will there be in 20 years (and how many of them will be adults)? In this subsection, we will address this kind of question.

Example(A Predator–Prey Model)

There is a pond with two species: frogs and midges. The frogs eat the midges. The population is counted once a year. We measure frogs in hundreds (102 ), and midges in hundreds of thousands (105 ).

If it were not for the frogs, the midge population would increase by 30% each year. We assume that each frog kills 500 midges each year. Equivalently, for each 100 frogs, the number of midges that gets eaten is (0.5)×100,000.

The growth of the frog population is constrained by the availability of midges. We assume that on average, for each 100,000 midges, 10=0.1×100 tadpoles survive to become adult frogs each year. Finally, we need the death rate of the frog population. It is 30%. That is, only 70% of the adult frogs this year survive until next year.

We now show how this description leads directly to a difference equation

Let ft denote the number of frogs (in hundreds) after t years have passed, and let mt denote the number of midges (in hundreds of thousands) after t years have passed. Let

vt=NftmtO.

Then the text of the problem tells us that

ft+1=0.7ft+0.1mt

and

mt+1=0.5ft+1.3mt.

This can be written in matrix form:

vt+1=N0.70.10.51.3Ovt.

Write

A=N0.70.10.51.3O

for later reference.

If v0 is the vector containing the population data for this year (midges and frogs), then v1=Av0 is the vector containing the population data for next year, v2=Av1 is the vector containing the population for the year after, and so on.

For example, if we calculate that there are 700 frogs and 9×105 midges in year 0, then we would record this as

v0=N79O.

We could then calculate

v1=N0.70.10.51.3ON79O=N5.88.2O

and

v2=N0.70.10.51.3ON5.88.2O=N4.887.76O.

This represents 488 frogs and 776,000 midges in year 2.

There are many questions one can ask about the model we have constructed. Let us concentrate here on questions about long-term behaviour of the model. That is, what happens in our model after a large number of years? In mathematical notation, we want to know what vt looks like as t→∞.

In order to study vt, we start with the observation

vt=Avt1=AAvt2=···=ttimesJMLKAA...Av0.

This is to say that to get vt, you apply A to v0 a total of t times.

In Section 6.4 we saw that At is troublesome to calculate directly when t is large, but it is easier to calculate if we diagonalize: A=CDC1. In the case of the frogs and midges:

N0.70.10.51.3O=A=CDC1=N1151ON1.2000.8ON0.250.251.250.25O.

This allows us to write down a computable formula for vt:

vt=CDtC1v0. (7.3.1)

For instance, if we continue to suppose that v0=N79O, then we calculate

vt=NftmtO=N1151ON1.2t000.8tON0.250.251.250.25ON79O==N1151ON1.2t000.8tON0.56.5O=N1151ON(1.2)t(0.5)(0.8)t(6.5)O==N1(1.2)t(0.5)+1(0.8)t(6.5)5(1.2)t(0.5)+1(0.8)t(6.5)O. (7.3.2)

Simply, the model predicts that the number of frogs (in hundreds) is given by

ft=1(1.2)t(0.5)+1(0.8)t(6.5)

and the number of midges (in hundreds of thousands) is given by

mt=5(1.2)t(0.5)+1(0.8)t(6.5).

What we asked about the system was the long-term behaviour. From this point of view, the information in equation (7.3.2) was more than we needed. We know from calculus that as t grows, the quantity (0.8)t tends to 0, whereas (1.2)t grows without bound. This is good news for our frogs and midges, since it we calculate

limt→∞ft=limt→∞1(1.2)t(0.5)+limt→∞1(0.8)t(6.5)=+0

and similarly for the midges limt→∞mt=, so the model predicts that both frogs and midges will thrive.

The model can also be used to predict the ratio of frogs to midges. This is a standard kind of limit calculation

limt→∞ftmt=limt→∞1(1.2)t(0.5)+1(0.8)t(6.5)5(1.2)t(0.5)+1(0.8)t(6.5)=15.

This says that after several years have passed, the ratio of frogs to midges will be approximately 100 frogs for each 500,000 midges, which we can simplify to 1 frog for every 5,000 midges.

Warning

You can choose either ordering for the variables at the start of a question like this. You can list the midges first and the frogs second, to get the system

vt=NmtftO,A=N1.30.50.10.7O.

This describes the same model, so the formulas you would derive for mt and ft would be the same.

It is extremely important to keep the same order throughout, however. Do not mix up the order by writing frogs first sometimes and midges first other times. This will lead to nonsense.

Similarly, in problems with more than two variables, you can choose any order for the variables when you work it out. The important thing is to be consistent throughout the problem.

Writing the vectors in terms of eigenvectors

An analysis such as we did for the system of frogs and midges can be simplified and made more conceptual by concentrating on the role of eigenvectors in the story. Concentrating on eigenvectors can also make the process of diagonalization less mysterious.

Suppose we have a discrete dynamical system

vt+1=Avt

and an initial vector v0, then we can write

v1=Av0,v2=Av1=A(Av0)=A2v0,...,vt=ttimesJMLKA...Av0=Atv0.

The situation is simplest when v0 is an eigenvector of A, with eigenvalue λ. In this case, the multiplication Av0 has the effect of stretching v0 by a factor of λ, so that applying A t times to v0 results in scaling v0 by ttimesJMLKλλ...λ=λt.

Atv0=λtv0

provided v0 is an eigenvector with eigenvalue λ.

The next best situation, which is the usual one, is when we can write v0 as a linear combination of eigenvectors of A. Suppose w1,...,wj are eigenvectors of A with associated eigenvalues λ1,...,λj. If

v0=c1w1+···+cjwj

for some coefficients c1,...,cj then

Atv0=c1Atw1+···+cjAtwj=c1λt1w1+···+cjλtjwj.

We can always find ourselves in this situation if A is diagonalizable, because we can find an ordered basis for Rn made up of eigenvectors of A in this case. We might even be able to write v as a linear combination of eigenvectors even if A is not diagonalizable, but it's not guaranteed.

From now on, we assume A is diagonalizable. Let

C=B|||w1w2...wn|||C

be an invertible matrix where the columns are eigenvectors of A. We want to write

v0=c1w1+···+cnwn,

which is the same as solving the system of linear equations

v0=CDHHFc1c2...cnEIIG

so that we deduce that

C1v0=DHHFc1c2...cnEIIG.

Having written v as a linear combination of eigenvectors, we can calculate vt:

vt=λt1c1w1+λt2c2w2+···+λtncnwn.
Recipe: Calculating vt, the state at time t, for a discrete dynamical system

If A and v0 determine a discrete dynamical system vt=Atv0, and if A is diagonalizable, then to calculate the vector vt

  • Write
    v0=c1w1+c2w2+···+cnwn
    where w1,w2,...,wn are eigenvectors of A with associated eigenvalues λ1,λ2,...,λn.
  • Then
    vt=c1λt1w1+c2λt2w2+···+cnλtnwn.
Relating this procedure to diagonalization

In this case we are taking the vectors w1,w2,...,wn and are forming the combination with coefficients

DHHFλt1c1λt2c2...λtncnEIIG. (7.3.3)

You can check that if D denotes the diagonal matrix having λ1,λ2,...,λn as diagonal entries, then the vector of coefficients (7.3.3) is calculated as DtC1v0. Then to combine w1,w2,...,wn with these coefficients, we take the product CDtC1. That is to say:

vt=CDtC1v0=λt1c1w1+λt2c2w2+···+λtncnwn.
Example(Frogs and midges, revisited)

We look at the example of frogs and midge again, this time using the eigenvectors of A extensively. Remember that

vt+1=Avt,A=N0.70.10.51.3O.

Set v0=N79O. We know A has eigenvector–eigenvalue pairs

w1=N15O,λ1=1.2;w2=N11O,λ2=0.8.

For later use, we set up a little more notation:

vt=NftmtO,C=N1151O,D=N1.2000.8O.

Write v0 in terms of eigenvectors of A:

N79O=(0.5)N15O+(6.5)N11O.

You can calculate these coefficients in many ways, of course, but one way is to do the multiplication

C1v0=N0.56.5O.

We now know that

vt=(1.2)t(0.5)N15O+(0.8)t(6.5)N11O, (7.3.4)

which is saying the same thing as

vt=CDtC1v0

in different notation. You can check by expanding out that (7.3.4) gives the same information as (7.3.2).

Equation (7.3.4) is particularly useful for understanding the long-term behaviour of the model. As t grows larger, the coefficient (0.8)t tends to 0. This means that as time goes by, the contribution of (0.8)t(6.5)N11O to vt becomes less and less important, and the other summand, (1.2)t(0.5)N51O explains the long-term behaviour of the model. For example, we can see directly from Equation (7.3.4) that the ratio of ft (100s of frogs) to mt (100,000s of midges) tends to 1:5 as t→∞.

Figure10A plot of the number of frogs and midges in each year after year 0. The x -coordinate denotes 100s of frogs, and the y -coordinate denotes 100,000s of midges.

By moving the initial vector around in the figure above, you can see how the long-term behaviour of the model depends on v0. For example, if v0 lies in the eigenspace for 0.8, then the sequence v0,Av0,A2v0,... is attracted the origin. For any other starting position, the vector v0 has some nonzero component in the 1.2 -eigenspace, and this component will determine the long-term behaviour, so that v0,Av0,A2v0,... is eventually repelled by the origin. In a circumstance like this, where the origin attracts along some directions and repels along others, the origin is said to be a saddle point.

As a real-world matter, however, observe that moving v0 to the right has bad consequences for the frogs and midges. If, for example, we move v0 to v0=N85O, then

v0=0.75N15O+7.25N11O

so that applying the recipe gives us

NftmtO=vt=(0.75)(1.2)tN15O+(7.25)(0.8)tN11O.

As t becomes larger, both ft and mt tend to −∞. This is an abstract mathematical statement, and does not make sense for the frogs and midges. In the real world, as soon as the number of midges reaches 0, the ecosystem will collapse and the frogs and midges will all die.

Various kinds of long-term behaviour

There is considerable diversity in how discrete dynamial systems specified by vt+1=Avt can behave, even when we restrict our attention to 2×2 matrices. The following examples do not cover every possibility, but they should be enough to give you the tools to understand every case.

Possibly negative eigenvalues

We have said nothing about cases where one or both eigenvalues of A are negative. A negative eigenvalue λ1<0 causes the coefficient of the corresponding eigenvector to switch signs from positive to negative or back again every time A is applied.

With the exception that the negative eigenvalue or eigenvalues cause the vectors v0,v1,v2,... to “jump” back and forth, the analysis of discrete dynamical systems with negative eigenvalues is very similar to that of positive eigenvalues.

There are three main cases for a 2×2 -matrix A with two distinct real eigenvalues λ1,λ2

  • Both of |λ1|,|λ2| are bigger than 0 but less than 1. In this case, the origin is an attractor, which is to say the sequence v0,v1,v2,... will always approach the origin.
  • One of |λ1|,|λ2| is greater than 1, and the other is less than 1. In this case, the origin is a saddle point, which is to say the sequence v0,v1,v2,... can go towards the origin for a time, before heading away again (unless it approaches exactly along the eigenspace for the eigenvalue of smaller magnitude).
  • Both of |λ1|,|λ2| are greater than 1. In this case, the origin is a repeller, which is to say the sequence v0,v1,v2,... will always go away from the origin.

Of course, this discussion leaves out a great many special cases. What if |λ1|=1, or λ2=0? There are too many of these for it to be helpful for us to cover them all, but by use of the recipe and a little calculus, you can study almost all of them. The only case you might not be equipped to handle is that of a non-diagonalizable matrix A.

Subsection7.3.3Discrete dynamical systems with complex eigenvalues

It can happen that a real matrix A has complex eigenvalues. The associated dynamical systems show spiralling behaviour.

Previously, we saw that magnitude of the eigenvalues, i.e., whether |λ|<1 or |λ|>1, had a big effect on the long-term behaviour of the model. The case of complex eigenvalues is the same, with the important modification that we use the complex absolute value to measure the magnitude of the eigenvalues. This is discussed more fully in note.

We say that a sequence of complex numbers (z1,z2,...) tends to infinity if the sequence (|z1|,|z2|,...) of positive real numbers keeps growing without bound. If z is a complex number, then as t→∞

zttendstoAinBnityif|z|>10if|z|<1.

If A is a real 2×2 -matrix with non-real eigenvalues, λ1,λ2=λ1, then there are three possibilities for the long-term behaviour of the associated discrete dynamical system.

  • If |λ1|=|λ2|<1, then the vectors v0,v1,v2,... will spiral inwards, towards the origin, which is an attractor.
  • If |λ1|=|λ2|=1, then the vectors v0,v1,v2,... will move around the origin in a periodic or quasi-periodic way, neither getting closer or farther away on average.
  • If |λ1|=|λ2|>1, then the vectors v0,v1,v2,... will spiral outwards, away from the origin, which is a repeller.

Subsection7.3.4Discrete dynamical systems in more than 2 dimensions

The basic principles for discrete dynamical systems in more than 2 dimensions remain the same as in 2 dimensions. As before, we will concentrate on the case where A is diagonalizable.

Even in the 3×3 case, there are many possibilities for how a discrete dynamical system can behave. It would not be helpful to list every possibility here.

In general, if A is an n×n diagonalizable matrix, then we may find a basis w1,...,wn that consists of eigenvectors of A, with associated eigenvalues λ1,...,λn. Any initial state vector v0 can be written as

v0=c1w1+c2w2+···+cnwn

and then

vt=Atv0=λt1c1w1+λt2c2w2+···+λtncnwn.

Questions about the long-term behaviour can then be answered by using limit arguments from calculus.

Note

We observe that for a matrix with real-number entries, non-real eigenvalues come in conjugate pairs. It is not possible for a real-number 3×3 -matrix to have three non-real eigenvalues.