Stability of Equilibrium Solutions

2
Stability of Equilibrium Solutions
Equilibrium (Critical point, Steady State Solution)
Types of critical points
Stability for systems of first order linear differential
equ atio ns
Exercise (predator-prey system):
Consider the system usually described as a predator - prey model (Voltera, 1931):
dy
dx
= 0.2 x " 0.7 xy,
= "0.4 y + 0.5 xy.
dt
dt
ODE3-net.nb
Definition: The phase portrait (obtained in Mathematica using the command
StreamPlot) of a systems of linear differential equations is a representative set of
its solutions (trajectories, integral curves), plotted as parametric curves (with t as
the parameter) on the Cartesian plane xy, tracing the path of each particular
solution (x, y) = (x(t), y(t)), "∞ < t < ∞ .
Similar to a vector field (obtained in Mathematica using the command VectorPlot),
a phase portrait is a graphical tool to visualize how the solutions of a given system
of differential equations would behave in the long run. We can classify the behavior
of solutions and the type and stability of the equilibrium solution of a given linear
system by looking at the phase portrait and analyzing the properties of the
a b
coefficient matrix A = 
.
c d
Equilibrium Solution
where you can think of the function x(t) as representing a population of rabbits that naturally grow at a rate proportional to their population (that is, exponential growth in the
absence of predators) and the function y(t) as representing a population of foxes that
naturally decline (that is, exponential decay in the absence of prey). The term xy in both
equations is proportional to the number of likely encounters of the two population in a
certain environment. Encounters are detrimental to the rabbits and beneficial to the foxes.
Definition: An equilibrium solution of the system S is a point (x,y) where x’=0
and y’=0. An equilibrium solution is a constant solution of the system, and is
sometimes also called a critical point.
1. Plot the vector field using StreamPlot[...] in the region that makes sense for the given
problem. On the same plot, plot the tranjectory starting at the point (0, 1) in Red, the
tranjectory starting at the point (1, 0) in Green, the trajectory starting at (1,1) in Orange,
and the trajectory starting at (5, 2) in Purple.
For our linear system of differential equations, an equilibrium solution occurs at
each solution of the system (of homogeneous algebraic equations) ax+by=0 and
x
0
cx+dy=0. Equivalently, we need to solve the matrix equation A = . As we
y
0
0
have seen, such a system has exactly one solution, located at the origin  , if
0
and only if the matrix A is invertible. If A is not invertible, then there are infinitely
many solutions. Recall also that A is invertible if and only if the determinant of the
matrix det(A) is different from 0 if and only if 0 is an eigenvalue of A. If det (A) = 0,
then there are infinitely many solutions. The condition det(A) is equivalent to the
fact that 0 is an eigenvalue of A.
2. What do you notice? How do the solutions look like?
3. Assume that initially there are 5 rabbits and 2 foxes. Use NDSolve[...] or DSolve[...] to
find the solution corresponding to this initial condition. Try plotting the solution that
NDSolve returns.
Systems of first order linear differential equations
Consider a system S of linear differential equations 
x' = ax + by (1)
y' = cx + dy (2)
The functions x and y are functions of time t and the derivatives are also taken
x' (t) = ax(t) + by(t) (1)
with respect to the variable t. 
.
y' (t) = cx(t) + dy(t) (2)
Definition: The phase portrait (obtained in Mathematica using the command
StreamPlot) of a systems of linear differential equations is a representative set of
its solutions (trajectories, integral curves), plotted as parametric curves (with t as
the parameter) on the Cartesian plane xy, tracing the path of each particular
solution (x, y) = (x(t), y(t)), "∞ < t < ∞ .
Recall also that the following statements are equivalent:
A is invertible ⇔ the determinant of the matrix det (A) is different from 0 ⇔ 0 is
an eigenvalue of A.
Classification and Stability of Critical Points
ODE3-net.nb
3
4
ODE3-net.nb
The eigenvalues are: {$ 4, $ 1}
Classification and Stability of Critical Points
The eigenvectors are: $
2 , 1, 
1
, 1
2
Assume that det(A) ≠ 0. Let + and , be the two eigenvalues of A.
Case 1: The eigenvalues + and , are real and different.
As discussed in the lecture notes, the general solution of the system of linear
differential euations is
x(t)

 = c1 e+tv + c2 e,tw,
y(t)
4
2
0
where c1 and c2 are constant parameters, and v and w are eigenvectors
corresponding to the eigenvalues + and ,.
a) The eigenvalues + and , are both negative.
The origin is called a sink (attracting point, stable node, stable point, nodal sink).
All trajectories converge to 0 when t/∞.
"2
"4
A = #3,
2 , 
2 , #2;
Print["The eigenvalues are: ", Eigenvalues[A]]
Print["The eigenvectors are: ", Eigenvectors[A]]
StreamPlot#3 x +
2 y,
2 x # 2 y,
{x, #5, 5}, {y, #5, 5}, StreamScale + Automatic,
1
#1
StreamPoints + 
, 1, Red, 
, #1, Red,
2
2
#
2 , 1, Green, 
2 , #1, Green, , Automatic
"4
"2
0
2
4
b) The eigenvalues + and , are both positive.
The origin is called a source (repelling point, unstable node, unstable point, nodal
source). All trajectories diverge away from 0 when t/∞.
c) The eigenvalues + and , have different signs, say +>0 and ,<0. The origin is
called a saddle.
The trajectories given by the eigenvectors of the negative eigenvalue ,<0 initially
start at infinite distance
away, but converge to the origin exponentially fast
(x(t),y(t)) = c2 e,tw. The trajectories given by the eigenvectors of the positive
eigenvalue +>0 diverge from the origin exponentially fast (x(t),y(t)) = c1 e+tv.
Every other trajectory moves towards the origin following the attracting direction
w, but never converges to the origin, as it changes direction and diverges from the
origin following the repelling direction v.
The trajectories given by the eigenvectors of the negative eigenvalue ,<0 initially
start at infinite distance
away, but converge to the origin exponentially fast
(x(t),y(t)) = c2 e,tw. The trajectories given by the eigenvectors of the positive
eigenvalue +>0 diverge from the origin exponentially fast (x(t),y(t)) = c1 e+tv.
Every other trajectory moves towards the origin following the attracting
direction
ODE3-net.nb
5
w, but never converges to the origin, as it changes direction and diverges from the
origin following the repelling direction v.
The example discussed during last class was a saddle, see the lecture notes for the code :
4
6
ODE3-net.nb
a) The eigenvalues + and , have real part Re(+)=Re(,)<0.
The origin is called a spiralling sink. All trajectories spiral toward 0 when t/∞.
b) The eigenvalues + and , have real part Re(+)=Re(,)>0.
The origin is called a spiralling source. All trajectories spiral away from 0 when t/
∞.
A = {{0, 1}, {#1, 1}};
Print["The Eigenvalues are complex conjugate",
N[Eigenvalues[A], 1], " with positive real part"]
Print["Eigenvectors: ", e = Eigenvectors[A]]
2
StreamPlot[{y, #x + y}, {x, #5, 5},
{y, #5, 5}, StreamScale + Automatic,
StreamPoints + {{{{1, 0}, Red}, {{#1, 0}, Red}, {{0, 1}, Green},
{{1, 1}, Green}, {{#3, 2}, Orange}, Automatic}}]
0
"2
"4
"4
"2
0
2
4
Case 2: The eigenvalues + and , are complex conjugate.
As discussed in the lecture notes, the general solution of the system of linear
differential equations is
x(t)

 = c1 eat(u cos(bt) - vsin(bt)) + c2 eat(u sin(bt) + vcos(bt)),
y(t)
where c1 and c2 are constant parameters,
+ = a+ib, , = a-ib,
and w + = u+iv and w , = u-iv are eigenvectors corresponding to the eigenvalues
+ and ,.
a) The eigenvalues + and , have real part Re(+)=Re(,)<0.
The origin is called a spiralling sink. All trajectories spiral toward 0 when t/∞.
ODE3-net.nb
The Eigenvalues are complex conjugate
{0.5 + 0.9 ), 0.5 $ 0.9 )} with positive real part
Eigenvectors: $
1
2
) ) +
3 , 1, 
1
2
) $) +
7
8
ODE3-net.nb
c) The eigenvalues + and , have real part Re(+)=Re(,)=0.
The origin is called a center. All trajectories are closed circles around the origin.
3 , 1
A = {{0, 1}, {#1, 0}};
Print["The eigenvalues are ", Eigenvalues[A]]
Eigenvectors[A]
4
StreamPlot[{y, #x}, {x, #5, 5}, {y, #5, 5}, StreamScale + Automatic,
StreamPoints + {{{{0, 1}, Red}, {{1, 1}, Green}, Automatic}}]
The eigenvalues are {), $ )}
{{$ ), 1}, {), 1}}
2
0
4
"2
2
"4
0
"4
"2
0
2
4
"2
"4
"4
"2
0
2
4
Case 3: The eigenvalues + and , are real and + = , .
ODE3-net.nb
9
10
ODE3-net.nb
Case 3: The eigenvalues + and , are real and + = , .
a) The eigenvalue + has algebraic and geometric multiplicity 2 (there exists two
linearly independent eigenvectors v and w of +).
x(t)
The general solution is 
 = c1 e+tv + c2 e+tw.
y(t)
All the theory from Case 1 holds true, and the origin is called a sink if +<0 and
respectively a source if +>0. In the Phase Portrait, every nonzero solution looks
like a straight line in the direction given by the vector c1v + c2w.
b) The eigenvalue + has algebraic multiplicity 2 and geometric multiplicity 1.
x(t)
The general solution is 
 = c1 e+tv + c2 e+tw + t e+tv), where v is an
y(t)
eigenvector, and w is a generalized eigenvector (see the lectures notes for the
definition of a generalized eigenvector).
When +<0, the origin is called a degenerate sink. All trajectories converge to the
origin. With only one linearly independent eigenvector, the Phase Portrait looks
like a combination between Case 1(a) and Case 2(a). The origin is called a
degenerate source when +>0.
A = {{1, 1}, {0, 1}};
Print["The command Eigenvalues returns ",
Eigenvalues[A], " so 1 is the only
eigenvalue and it has algebraic multiplicity 2"]
Print["The command Eigenvectors returns ", e = Eigenvectors[A],
" but the only eigenvector is ", e[[1]]]
4
2
0
"2
"4
"4
StreamPlot[{x + y, y}, {x, #5, 5},
{y, #5, 5}, StreamScale + Automatic,
StreamPoints + {{{{1, 0}, Red}, {{#1, 0}, Red}, {{0, 1}, Green},
{{1, 1}, Green}, {{#3, 2}, Orange}, Automatic}}]
The command Eigenvalues returns {1, 1}
so 1 is the only eigenvalue and it has algebraic multiplicity 2
The command Eigenvectors returns {{1, 0}, {0, 0}} but the only eigenvector is {1, 0}
"2
0
2
4
ODE3-net.nb
11
12
ODE3-net.nb
Interactive examples with StreamPlot
m
Interactive plot of the vector field of various systems of linear differential
equations.
In[3]:=
Manipulate[
Column[{
Row[{
Text[" MATRIX "],
MatrixForm[m],
Text[" EIGENVALUES "],
N[Eigenvalues[m], 1],
Text[" EIGENVECTORS "],
Row[{
MatrixForm[N[Eigenvectors[m][[1]], 1]],
MatrixForm[N[Eigenvectors[m][[2]], 1]]
}]
}],
StreamPlot[m.{x, y}, {x, #1, 1}, {y, #1, 1}, StreamScale + Large,
StreamColorFunction + "Rainbow", ImageSize + Large]
}],
{{m, ({{1, 0}, {0, 2}})},
{({{1, 0}, {0, 2}}) + "Nodal source",
({{1, 1}, {0, 1}}) + "Degenerate source",
({{0, 1}, {#1, 1}}) + "Spiral source",
({{#1, 0}, {0, #1}}) + "Nodal sink",
({{#1, 0}, {0, #2}}) + "Nodal sink", ({{#1, 1}, {0, #1}}) +
"Degenerate sink", ({{0, 1}, {#1, #1}}) + "Spiral sink",
({{0, 1}, {#1, 0}}) + "Center", ({{1, 0}, {0, #2}}) + "Saddle"}}
]
Nodalsink
MATRIX  $ 1 0  EIGENVALUES {$ 2., $ 1.} EIGENVECTORS  0  1. 
0 $2
1.
0
1.0
0.5
Out[3]=
0.0
"0.5
"1.0
"1.0
"0.5
0.0
0.5
1.0