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);

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);

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>")))