Math216 Introduction to Differential Equations

Deniz Bilman, Department of Mathematics, University of Michigan

Lecture 11: Systems with 2 real distinct eigenvalues

Today we consider the case where the coefficient matrix $\mathbf{A}$ of the homogeneous autonomous system $\mathbf{x}' = \mathbf{A}\mathbf{x}$ has 2 real distinct eigenvalues. There are several configuration of the two eigenvalues.

Case 1. $\mathbf{A}$ has 2 real distinct negative eigenvalues

Consider solving

$$ \mathbf{x}' = \underbrace{\begin{bmatrix} 1 & -2 \\ 3 & -4 \end{bmatrix}}_{\text{$\mathbf{A}$}}\mathbf{x}. $$

$\det(\mathbf{A}-\lambda \mathbf{I})=\lambda^2+3\lambda+2=0$ has two solutions that give precisely the eigenvalues of $\mathbf{A}$:

$$ \lambda_1 = -1 $$$$ \lambda_2 = -2. $$

We now find the associated eigenvectors.

Eigenvector for $\lambda_1=-1$ is found by solving

$$ (\mathbf{A}-(-1)\mathbf{I})\mathbf{x} = \mathbf{0} $$$$ \begin{bmatrix} 2 & -2 \\ 3 & -3 \end{bmatrix} \begin{bmatrix}x_1 \\ x_2\end{bmatrix} =\begin{bmatrix}0 \\ 0\end{bmatrix} $$

The first row yields $x_1=x_2$. So we can take the eigenvector for $\lambda_1=-1$ to be

$$ \mathbf{u}_1=\begin{bmatrix}1 \\ 1\end{bmatrix}. $$

We now obtained a solution of the homogenous system of ODEs:

$$ \mathbf{x}_1(t) = e^{\lambda_1 t}\mathbf{u}_1 = e^{-t}\begin{bmatrix}1 \\ 1\end{bmatrix}. $$

A similar calculation for the eigenvalue $\lambda_2=-2$ gives the eigenvector

$$ \mathbf{u}_2=\begin{bmatrix}2\\ 3\end{bmatrix}, $$

and we obtain another solution

$$ \mathbf{x}_2(t) = e^{\lambda_2 t}\mathbf{u}_2 = e^{-2t}\begin{bmatrix}2 \\ 3\end{bmatrix}. $$

Since the eigenvectors belong to different eigenvalues, the Wronskian determinant of the solutions $\mathbf{x}_1(t)$ and $\mathbf{x}_2(t)$ is nonzero (you should calculate this), therefore $\mathbf{x}_1(t)$ and $\mathbf{x}_2(t)$ are 2 independent solutions of the system of ODEs and can be used to construct the general solution:

$$ \mathbf{x}(t) = c_1 e^{-t}\begin{bmatrix}1 \\ 1\end{bmatrix} + c_2 e^{-2t}\begin{bmatrix}2 \\ 3\end{bmatrix}. $$

We now investigate the qualitative behavior of solutions. First, note that all of the solutions tend to $0$ as $t\to+\infty.$ Note that

$$ \mathbf{x}_\text{eq}= \mathbf{0}=\begin{bmatrix}0\\ 0\end{bmatrix} $$

is the only equilibrium solution and $\mathbf{x}(t)\to \mathbf{0}$ as $t\to\infty$, and the origin in the phase plane is called a nodal sink. The origin is asymptotically stable. Observe that all of the solutions decay to zero as time elapses because both of the eigenvalues are negative. Note that the time dependence of the solutions are governed by the terms $e^{\lambda_1 t}$ and $e^{\lambda_2 t}$. More can be said. Since $|\lambda_1| \lt |\lambda_2|$, the solution $\mathbf{x}_1(t)$ decays to zero slower than $\mathbf{x}_2(t)$ does. Therefore this slow decaying solution $\mathbf{x}_1(t)$ is the dominant solution.

  • Any solution that starts on the trajectory of $\mathbf{x_1}(t)$ remains on that trajectory, which is in the direction $\begin{bmatrix}1 \\ 1\end{bmatrix}$.
  • Any solution that starts on the trajectory of $\mathbf{x_2}(t)$ remains on that trajectory, $\begin{bmatrix}2 \\ 3\end{bmatrix}$.
  • Any other solution that start in the complement of the trajectories of $\mathbf{x}_1(t)$ and $\mathbf{x}_2(t)$ tends to $0$ as $t\to\infty$ with direction vectors approaching to those of the dominant solution $\mathbf{x}_{1}(t)$.

See the phase portrait with fundamental solutions and 2 linear combinations below. You can zoom in to the origin.


In [1]:
using PlotlyJS

tt1 = -1:0.1:4;
tt = 0:0.1:5;
x11 = exp(-tt1).*1.0;
x21 = exp(-tt1).*1.0;
x11neg = -exp(-tt1).*1.0;
x21neg = -exp(-tt1).*1.0;
x12 = exp(-2*tt).*2.0;
x22 = exp(-2*tt).*3.0;
x12neg = -exp(-2*tt).*2.0;
x22neg = -exp(-2*tt).*3.0;
tracesODE1 = GenericTrace[];
trace = scatter(x=x11, y=x21, name = "x<sub>1</sub>(t)");
push!(tracesODE1, trace);
trace = scatter(x=x11neg, y=x21neg, name = "x<sub>1</sub>(t)");
push!(tracesODE1, trace);
trace = scatter(x=x12, y=x22, name = "x<sub>2</sub>(t)");
push!(tracesODE1, trace);
trace = scatter(x=x12neg, y=x22neg, name = "x<sub>2</sub>(t)");
push!(tracesODE1, trace);

c1=1;
c2=-1;
x11 = exp(-tt).*1.0;
x21 = exp(-tt).*1.0;
x11neg = -exp(-tt).*1.0;
x21neg = -exp(-tt).*1.0;
x13 =c1*x11+c2*x12; 
x23 =c1*x21+c2*x22; 
x13neg =c1*x11neg+c2*x12neg; 
x23neg =c1*x21neg+c2*x22neg; 
trace = scatter(x=x13, y=x23, name = "a solution");
push!(tracesODE1, trace);
trace = scatter(x=x13neg, y=x23neg, name = "another solution");
push!(tracesODE1, trace);

c1=-2/3;
c2=1;
x14 =c1*x11+c2*x12; 
x24 =c1*x21+c2*x22; 
x14neg =c1*x11neg+c2*x12neg; 
x24neg =c1*x21neg+c2*x22neg; 
trace = scatter(x=x14, y=x24, name = "some other solution");
push!(tracesODE1, trace);
trace = scatter(x=x14neg, y=x24neg, name = "yet another solution");
push!(tracesODE1, trace);

plot(tracesODE1, Layout(title="Trajectories in the phase plane. All solutions decay to 0.", xaxis=attr(title="x<sub>1</sub>"),yaxis=attr(title="x<sub>2</sub>")))


Plotly javascript loaded.

To load again call

init_notebook(true)

Out[1]:

Case 1. $\mathbf{A}$ has 2 real distinct positive eigenvalues

This case is identical to the first case, except that all the solutions are unbounded as $t\to\infty$ because the eigenvalues are positive. Consider

$$ \mathbf{x}' = \underbrace{\begin{bmatrix} \frac{5}{4} & \frac{3}{4} \\ \frac{3}{4} & \frac{5}{4} \end{bmatrix}}_{\text{$\mathbf{A}$}}\mathbf{x}. $$

The eigenvalues of the coefficient matrix are $\lambda_1 = 2$ and $\lambda_2=\frac{1}{2}$.

The eigenvector for $\lambda_1 = 2$ is $\mathbf{u}_1 = \begin{bmatrix}1\\1\end{bmatrix}$. Thus one of the solutions to the system of ODEs is:

$$ \mathbf{x}_1(t) = e^{2t}\begin{bmatrix}1\\1\end{bmatrix}. $$

The eigenvector for $\lambda_2 = \frac{1}{2}$ is $\mathbf{u}_2 = \begin{bmatrix}1\\-1\end{bmatrix}$. Then another solution to the system of ODEs is:

$$ \mathbf{x}_2(t) = e^{\frac{t}{2}}\begin{bmatrix}1\\-1\end{bmatrix}. $$

These solutions are independent and form a fundamental set. Therefore the general solution to the system of ODEs is given by

$$ \mathbf{x}(t) =c_1 e^{2t}\begin{bmatrix}1\\1\end{bmatrix} + c_2 e^{\frac{t}{2}}\begin{bmatrix}1\\-1\end{bmatrix}. $$

Note that all of the solutions (for any choice of $c_1$ and $c_2$ determined by an initial condition) $\mathbf{x}(t)\to \infty$ as $t\to\infty$. But if we consider the scenario where time went backwards, as $t\to -\infty$, the solution trajectories would tend to the origin in the phase plane. For this reason the origin is called a nodal source. It is unstable.

Observe also that since $\lambda_1 \gt \lambda_2 \gt 0$, $\mathbf{x}_1(t)$ grows faster than $\mathbf{x}_2(t)$ does. Therefore $\mathbf{x}_1(t)$ is the dominant solution. For large times, solutions that start in the complement of the trajectories of $\mathbf{x}_1(t)$ and $\mathbf{x}_2(t)$ in the phase plane tend to $\infty$ by becoming parallel to the dominant solution $\mathbf{x}_1(t)$.


In [2]:
tt1 = -10:0.1:1.2;
tt2 = -10:0.1:4.8;
tt = -10:0.1:1;
x11 = exp(2.0*tt1).*1.0;
x21 = exp(2.0*tt1).*1.0;
x11neg = -exp(2.0*tt1).*1.0;
x21neg = -exp(2.0*tt1).*1.0;

x12 = exp(0.5*tt2).*1.0;
x22 = -exp(0.5*tt2);
x12neg = -exp(0.5*tt2).*1.0;
x22neg = exp(0.5*tt2);
tracesODE1 = GenericTrace[];
trace = scatter(x=x11, y=x21, name = "x<sub>1</sub>(t)");
push!(tracesODE1, trace);
trace = scatter(x=x11neg, y=x21neg, name = "x<sub>1</sub>(t)");
push!(tracesODE1, trace);
trace = scatter(x=x12, y=x22, name = "x<sub>2</sub>(t)");
push!(tracesODE1, trace);
trace = scatter(x=x12neg, y=x22neg, name = "x<sub>2</sub>(t)");
push!(tracesODE1, trace);

c1=1;
c2=2;
x11 = exp(2.0*tt).*1.0;
x21 = exp(2.0*tt).*1.0;
x11neg = -exp(2.0*tt).*1.0;
x21neg = -exp(2.0*tt).*1.0;
x12 = exp(0.5*tt).*1.0;
x22 = -exp(0.5*tt);
x12neg = -exp(0.5*tt).*1.0;
x22neg = exp(0.5*tt);
x13 =c1*x11+c2*x12; 
x23 =c1*x21+c2*x22; 
x13neg =c1*x11neg+c2*x12neg; 
x23neg =c1*x21neg+c2*x22neg; 
trace = scatter(x=x13, y=x23, name = "a solution");
push!(tracesODE1, trace);
trace = scatter(x=x13neg, y=x23neg, name = "another solution");
push!(tracesODE1, trace);

c1=2;
c2=-1;
x13 =c1*x11+c2*x12; 
x23 =c1*x21+c2*x22; 
x13neg =c1*x11neg+c2*x12neg; 
x23neg =c1*x21neg+c2*x22neg; 
trace = scatter(x=x13, y=x23, name = "some other solution");
push!(tracesODE1, trace);
trace = scatter(x=x13neg, y=x23neg, name = "yet another solution");
push!(tracesODE1, trace);

plot(tracesODE1, Layout(title="Trajectories in the phase plane. All solutions grow unboundedly.", xaxis=attr(title="x<sub>1</sub>"),yaxis=attr(title="x<sub>2</sub>")))


Out[2]:

Case 3: $\mathbf{A}$ has 2 different real eigenvalues with opposite signs

In this case one of the solutions obtained from the eigenvalue method will be growing (corresponding to the positive eigenvalue) and the other will be exponentially decaying (corresponding to the negative eigenvalue). The procedure to obtain the solutions is exactly the same as above.

Consider the system of ODEs:

$$ \mathbf{x}'=\begin{bmatrix} 1 & 1 \\ 4 & 1 \end{bmatrix}\mathbf{x}. $$

The coefficient matrix has the eigenvalues $\lambda_1=3$ and $\lambda_2 = -1$.

$\lambda_1=3$ has the associated eigenvector $\mathbf{u}_1 =\begin{bmatrix}1\\2 \end{bmatrix}$. Therefore one of the solutions is

$$ \mathbf{x}_1(t)=e^{3 t}\begin{bmatrix}1\\2 \end{bmatrix}. $$

$\lambda_2=-1$ has the associated eigenvector $\mathbf{u}_2 =\begin{bmatrix}1\\-2 \end{bmatrix}$.Therefore another solution is

$$ \mathbf{x}_2(t)=e^{- t}\begin{bmatrix}1\\-2 \end{bmatrix}. $$

These solutions are independent since the eigenvectors are independent. Therefore we can construct the general solution by taking their linear combination:

$$ \mathbf{x}(t) = c_1 e^{3 t}\begin{bmatrix}1\\2 \end{bmatrix}+c_2 e^{- t}\begin{bmatrix}1\\-2 \end{bmatrix} $$

A few observations about the solutions:

  • Note that $\mathbf{x}_1(t)$ grows exponentially to $\infty$ as $t\to\infty$ (determined by $\lambda_1=3 \gt 0$) and $\mathbf{x}_2(t)$ decays exponentially to $\mathbf{0}$ as $t\to\infty$ (determined by $\lambda_2=-1 \lt 0$). Clearly, as $t$ grows, $\mathbf{x}_1(t)$ is the dominant solution.

  • A solution that starts on the trajectory of $\mathbf{x}_2(t)$ ($c_1=0$) stays on this trajectory for all times $t$ and tends to $0$ as $t$ grows.

  • A solution that starts on the trajectory of $\mathbf{x}_1(t)$ ($c_2=0$) stays on this trajectory for all times $t$ and tends to $\infty$ as $t$ grows.

  • Any other solution ($c_1$ and $c_2$ are both nonzero) will contain some of $\mathbf{x}_1(t)$ in it and will grow unboundedly as $t\to\infty$. Moreover the tangent vectors of the trajectory will tend to become parallel to those of the dominant solution $\mathbf{x}_1(t)$.

  • The origin is called a saddle point. It is unstable since any solution that starts near the origin (which is the only equilibrium solution), if it is not on the particular trajectory of the decaying solution $\mathbf{x}_2(t)$, will grow unboundedly.

See the plots we did in class.

Case 4: $\mathbf{A}$ has two distinct real eigenvalues, one of them is $0$

Before a concrete example, observe that given $\mathbf{x}'=\mathbf{A}\mathbf{x}$, if $\mathbf{A}$ has a zero eigenvalue, then $\det{\mathbf{A}}=0$, which means that $\mathbf{A}$ is a singular (i.e. noninvertible) matrix. Also, recall that to find the equilibrium solutions (ones that are constant: $\mathbf{x}'=\mathbf{0}$) of this system of ODEs we need to solve

$$ \mathbf{A}\mathbf{x}=\mathbf{0}. $$

Since $\mathbf{A}$ is singular, this equation has infinitely many solutions which are proportional to the eigenvector associated to the $0$ eigenvalue (observe that solutions $\mathbf{x}$ of the equation $\mathbf{A}\mathbf{x}=\mathbf{0}$ are the eigenvectors associated to the $0$ eigenvalue). Therefore the system of ODEs $\mathbf{x}'=\mathbf{A}\mathbf{x}$ has infinitely many equilibrium solutions all of which lie on a line passing through the origin in the phase plane.

Consider the system

$$ \mathbf{x}'=\underbrace{\begin{bmatrix}-1 & 4 \\ \frac{1}{2} & -2 \end{bmatrix}}_{\text{$\mathbf{A}$}}\mathbf{x}. $$

The eigenvalues of $\mathbf{A}$ are $\lambda_1 = 0$ and $\lambda_2 = -3$.

The eigenvector for $\lambda_1=0$ is found to be $\mathbf{u}_1=\begin{bmatrix} 4 \\ 1 \end{bmatrix}$. This means that any vector of the form $k\begin{bmatrix} 4 \\ 1 \end{bmatrix}$ is an equilibrium solution of the ODE. You can also see this by proceeding with the usual eigenvalue method and obtain the first solution

$$ \mathbf{x}_1(t)=e^{\lambda_1 t} \mathbf{u}_1 = \begin{bmatrix} 4 \\ 1 \end{bmatrix}. $$

The eigenvector for $\lambda_2=-3$ is found to be $\mathbf{u}_2=\begin{bmatrix} -2 \\ 1 \end{bmatrix}$. We obtain a second solution to the system of ODEs:

$$ \mathbf{x}_2(t)=e^{\lambda_2 t} \mathbf{u}_2 = e^{-3 t}\begin{bmatrix} -2 \\ 1 \end{bmatrix}. $$

This is a solution that decays to $0$ as $t\to +\infty$. As before $\mathbf{x}_1$ and $\mathbf{x}_2$ are independent solutions. Therefore, the general solution can be given by

$$ \mathbf{x}(t)=c_1\mathbf{x}_1(t)+c_2\mathbf{x}_2(t)=c_1\begin{bmatrix} 4 \\ 1 \end{bmatrix} + c_2 e^{-3 t}\begin{bmatrix} -2 \\ 1 \end{bmatrix}. $$

Now observe that

  • If a solution starts on the trajectory of $\mathbf{x}_1(t)$ (from an initial condition that determines $c_2$ to be $0$) then the solution remains constant over time.
  • If a solution starts on the trajectory of $\mathbf{x}_2(t)$ (from an initial condition that determines $c_1$ to be $0$) then the solution tends to the origin: the $\mathbf{0}$ equilibrium solution.
  • If a solution starts elsewhere ($c_1$ and $c_2$ both non-zero), the solution tends to the equilibrium solution $c_1\begin{bmatrix}4\\1\end{bmatrix}$ as $t\to+\infty$.

In [3]:
# using Plots
# plotly()
# t = linspace(0.2, 6, 2000)
# y = t.^2 + 1./t.^2
# plot(t, y, linewidth=4, label="y(t)",xlabel="x",ylabel="y")
# scatter!([1],[2], label="y(1)=2")

In [4]:
# using PlotlyJS

tt1 = -0.5:0.01:15;
tt = -0.25:0.01:40;

x11 = [4.0];
x21 = [1.0];

xeq = 4.0*(-2.0:0.25:2.0);
yeq = -2.0:0.25:2.0;
x12 = exp(-3.0*tt1).*(-2.0);
x22 = exp(-3.0*tt1).*(1.0);
x12neg = -exp(-3.0*tt1).*(-2.0);
x22neg = -exp(-3.0*tt1).*(1.0);
tracesODE1 = GenericTrace[];
trace = scatter(x=x11, y=x21, name = "x<sub>1</sub>(t)",mode="markers",marker_size = 12);
push!(tracesODE1, trace);
trace = scatter(x=x12, y=x22, name = "x<sub>2</sub>(t)");
push!(tracesODE1, trace);
trace = scatter(x=x12neg, y=x22neg, name = "x<sub>2</sub>(t)");
push!(tracesODE1, trace);
trace = scatter(x=xeq, y=yeq, name = "eq. solutions.",mode="lines+markers");
push!(tracesODE1, trace);

c1=1.0;
c2=2.0;
x12 = exp(-3.0*tt).*(-2.0);
x22 = exp(-3.0*tt).*(1.0);
x12neg = -exp(-3.0*tt).*(-2.0);
x22neg = -exp(-3.0*tt).*(1.0);
xeq = 4.0*ones(length(tt));
yeq = ones(length(tt));
x13 =c1*xeq+c2*x12; 
x23 =c1*yeq+c2*x22; 
# x13neg =-c1*xeq+c2*x12neg; 
# x23neg =-c1*yeq+c2*x22neg; 
trace = scatter(x=x13, y=x23, name = "a solution");
push!(tracesODE1, trace);
# trace = scatter(x=x13neg, y=x23neg, name = "x<sub>2</sub>(t)");
# push!(tracesODE1, trace);
c1=-1.0;
c2=-2.0;
x12 = exp(-3.0*tt).*(-2.0);
x22 = exp(-3.0*tt).*(1.0);
# x12neg = -exp(-3.0*tt).*(-2.0);
# x22neg = -exp(-3.0*tt).*(1.0);
xeq = 4.0*ones(length(tt));
yeq = ones(length(tt));
x13 =c1*xeq+c2*x12; 
x23 =c1*yeq+c2*x22; 
# x13neg =-c1*xeq+c2*x12neg; 
# x23neg =-c1*yeq+c2*x22neg; 
trace = scatter(x=x13, y=x23, name = "another solution");
push!(tracesODE1, trace);
# push!(tracesODE1, trace);

c1=0.5;
c2=-0.5;
x12 = exp(-3.0*tt1).*(-2.0);
x22 = exp(-3.0*tt1).*(1.0);
# x12neg = -exp(-3.0*tt1).*(-2.0);
# x22neg = -exp(-3.0*tt1).*(1.0);
xeq = 4.0*ones(length(tt1));
yeq = ones(length(tt1));
x13 =c1*xeq+c2*x12; 
x23 =c1*yeq+c2*x22; 
# x13neg =-c1*xeq+c2*x12neg; 
# x23neg =-c1*yeq+c2*x22neg; 
trace = scatter(x=x13, y=x23, name = "some other solution");
push!(tracesODE1, trace);

plot(tracesODE1, Layout(title="Trajectories in the phase plane. Infinitely many equilibrium solutions.", xaxis=attr(title="x<sub>1</sub>"),yaxis=attr(title="x<sub>2</sub>")))


Out[4]:

Final Remark: You should place the direction arrows on the trajectories. In the example above, solutions flow towards the equilibrium points on the red line. There are infinitely many equilibrium points (on only the ones that are marked.)

If $\mathbf{A}$ has two distinct real eigenvalues, one of them is $0$ and the other one is positive (as opposed to the case in the last example), then the solutions would flow towards infinity on the $(x_1,x_2)$-plane from the line of equilibrium solutions $\mathbf{x}_1(t)$, parallel to the time dependent solution $\mathbf{x}_2(t)$ found above.


In [ ]: