---
title: The Phase Plane, Critical Points, and Stability
module: Nonlinear Systems and Stability
moduleNumber: 8
lessonNumber: 1
order: 801
summary: >
  Most nonlinear systems cannot be solved in closed form, so they are studied
  geometrically. The phase plane turns an autonomous planar system into a family
  of trajectories; the five archetypes of critical point follow from the
  eigenvalues of the coefficient matrix; the trace-determinant plane reads off
  type and stability directly; and epsilon-delta definitions make stability,
  asymptotic stability, and instability precise.
topics: [Nonlinear Systems and Stability]
sources:
  - book: Boyce
    ref: "Ch. 9 — Nonlinear Differential Equations and Stability; §9.1 The Phase Plane: Linear Systems; §9.2 Autonomous Systems and Stability"
  - book: Simmons
    ref: "Ch. 11 §58 Autonomous Systems; The Phase Plane and Its Phenomena; §59 Types of Critical Points; Stability; §60 Critical Points and Stability for Linear Systems"
draft: false
---

A nonlinear differential equation rarely has a closed-form solution.
The alternative, created by Poincaré in the 1880s, is to abandon the search for
explicit solutions and instead ask geometric questions: where does the system
sit at rest, what happens to a state that starts near a rest position, and what
does the family of all solution curves look like as a whole.[^boyce-intro] The
setting for these questions is the **phase plane**, and the vocabulary is
**stability**.

For the linear constant-coefficient system $\mathbf{x}' = A\mathbf{x}$ every case
can be worked out exactly from the [eigenvalue analysis of
systems](/differential-equations/systems/constant-coefficient-systems-phase-portraits).
The catalogue of behaviors it produces is what the [nonlinear
theory](/differential-equations/nonlinear/locally-linear-and-liapunov) reuses to
classify equilibria.

## Autonomous systems and the phase plane

We restrict attention to a system of two first-order equations in which the
right-hand sides do not depend on $t$:

$$
\frac{\d x}{\d t} = F(x, y), \qquad \frac{\d y}{\d t} = G(x, y).
$$

> **Definition (Autonomous system).** A first-order system $\mathbf{x}' =
> \mathbf{f}(\mathbf{x})$ whose right-hand side depends on the state
> $\mathbf{x}$ but not on the independent variable $t$. Its associated direction
> field is fixed in time.

The geometric picture is possible only because the system is autonomous. Because
the direction field $\mathbf{f}$ does not change with $t$, the trajectory through
a point $(x_0, y_0)$ is the same regardless of _when_ the solution passes through
it. Assuming $F$ and $G$ are continuous with continuous first partial
derivatives, the [existence–uniqueness theorem](/differential-equations/first-order/existence-uniqueness-euler)
guarantees exactly one solution through each point, so exactly one trajectory
passes through each point of the plane.[^boyce-auto] Two consequences follow, and
both are used constantly:

- **Trajectories do not cross.** If two trajectories met at a point, uniqueness
  would be violated there.
- **A single phase portrait describes every solution at once.** Time-translating
  a solution slides it along the _same_ curve, so the picture of all curves is
  time-independent.

> **Definition (Phase plane, trajectory, phase portrait).** The $xy$-plane in
> which a solution $\mathbf{x}(t) = (x(t), y(t))$ is drawn as a curve is the
> **phase plane**. The curve itself, traced by the moving state, is a
> **trajectory** (or path, or orbit). A representative collection of
> trajectories is a **phase portrait**.

The state moves along its trajectory with velocity $\mathbf{x}'(t) =
\mathbf{f}(\mathbf{x})$; the direction field assigns that velocity vector to
every point, and the trajectories are the curves everywhere tangent to it.

### Critical points

The points where the velocity vanishes organize the picture.

> **Definition (Critical point).** A point $\mathbf{x}_0$ with
> $\mathbf{f}(\mathbf{x}_0) = \mathbf{0}$. Since $\mathbf{x}' = \mathbf{0}$
> there, the constant function $\mathbf{x}(t) \equiv \mathbf{x}_0$ is a solution;
> critical points are precisely the **equilibrium solutions**. They are also
> called equilibrium points or, in older texts, points of rest.

For the linear system $\mathbf{x}' = A\mathbf{x}$ with $\det A \neq 0$, the only
critical point is the origin. For a nonlinear system there may be many, each
governing the trajectories in its neighborhood. A trajectory that
is not itself an equilibrium can approach a critical point only as $t \to \infty$
or $t \to -\infty$; it never reaches one in finite time.[^boyce-reach]

## Trajectories of the linear system

Take $\mathbf{x}' = A\mathbf{x}$ with $A$ a $2 \times 2$ constant matrix and
$\det A \neq 0$. Seeking solutions $\mathbf{x} = \boldsymbol{\xi}\, e^{rt}$ leads,
as usual, to the eigenvalue problem $(A - rI)\boldsymbol{\xi} = \mathbf{0}$, so
the eigenvalues $r_1, r_2$ of $A$ and their eigenvectors govern everything. Five
cases exhaust the possibilities, and each produces a distinct geometric type of
critical point at the origin.

**Case 1 — real eigenvalues, same sign (node).** With $r_1 < r_2 < 0$ the general
solution is $\mathbf{x} = c_1 \boldsymbol{\xi}^{(1)} e^{r_1 t} + c_2
\boldsymbol{\xi}^{(2)} e^{r_2 t}$, and every trajectory tends to the origin as
$t \to \infty$. Writing $\mathbf{x} = e^{r_2 t}\!\left[c_1 \boldsymbol{\xi}^{(1)}
e^{(r_1 - r_2)t} + c_2 \boldsymbol{\xi}^{(2)}\right]$ shows that, because $r_1 -
r_2 < 0$, the bracket is dominated by its second term for large $t$: every
trajectory except the pair along $\boldsymbol{\xi}^{(1)}$ enters the origin
tangent to $\boldsymbol{\xi}^{(2)}$, the slow eigendirection. This is a **node**
(a nodal sink when both eigenvalues are negative, a nodal source when both are
positive, with the arrows reversed).

**Case 2 — real eigenvalues, opposite sign (saddle).** With $r_2 < 0 < r_1$, the
solutions along $\boldsymbol{\xi}^{(2)}$ approach the origin while those along
$\boldsymbol{\xi}^{(1)}$ leave it, and a generic trajectory comes in from the
$\boldsymbol{\xi}^{(2)}$ direction and departs asymptotic to
$\boldsymbol{\xi}^{(1)}$. The origin is a **saddle point**, always unstable: the
only trajectories that approach it are the two along the negative eigendirection.

**Case 3 — repeated eigenvalue (proper or improper node).** If $r_1 = r_2 = r$
has two independent eigenvectors, every trajectory is a ray through the origin (a
**proper node**, or star point). If there is only one eigenvector
$\boldsymbol{\xi}$, the solution carries a $t\,e^{rt}$ term and all trajectories
enter tangent to $\boldsymbol{\xi}$; this is an **improper** (degenerate) node.

**Case 4 — complex eigenvalues $\lambda \pm i\mu$, $\lambda \neq 0$ (spiral).**
In polar coordinates the system reduces to $r' = \lambda r$, $\theta' = -\mu$, so
$r = c\,e^{\lambda t}$ and $\theta = -\mu t + \theta_0$. The radius grows or
decays exponentially while the angle turns steadily: the trajectories are
**spirals**, spiraling inward if $\lambda < 0$ (spiral sink) and outward if
$\lambda > 0$ (spiral source).

**Case 5 — pure imaginary eigenvalues $\pm i\mu$ (center).** Now $\lambda = 0$,
so $r' = 0$: the radius is constant and every trajectory is a closed curve (a
circle, or in general an ellipse) around the origin. The origin is a **center**,
and every solution is periodic with period $2\pi / \mu$.

$$
% caption: The five archetypes of critical point for a planar linear system,
% keyed to the eigenvalues of the coefficient matrix.
\begin{tikzpicture}[scale=1.0, >=stealth, font=\footnotesize]
\definecolor{acc}{HTML}{4A6FA5}
% ---- node (sink) ----
\begin{scope}[xshift=0cm]
  \draw[black] (-1,0)--(1,0); \draw[black] (0,-1)--(0,1);
  \foreach \a in {25,70,115,160,205,250,295,340}
    \draw[acc, ->] (\a:1.05) .. controls (\a:0.55) .. (0,0);
  \fill[black] (0,0) circle (1.3pt);
  \node[anchor=north] at (0,-1.35) {node (sink)};
\end{scope}
% ---- saddle ----
\begin{scope}[xshift=3.4cm]
  \draw[black] (-1,0)--(1,0); \draw[black] (0,-1)--(0,1);
  \draw[acc, <-] (-1.05,0)--(-0.1,0); \draw[acc, <-] (1.05,0)--(0.1,0);
  \draw[acc, ->] (0,-1.05)--(0,-0.1); \draw[acc, ->] (0,1.05)--(0,0.1);
  \draw[black] (0.35,1.0) .. controls (0.15,0.2) and (0.4,0.15) .. (1.0,0.35);
  \draw[black] (-0.35,-1.0) .. controls (-0.15,-0.2) and (-0.4,-0.15) .. (-1.0,-0.35);
  \fill[black] (0,0) circle (1.3pt);
  \node[anchor=north] at (0,-1.35) {saddle};
\end{scope}
% ---- spiral (sink) ----
\begin{scope}[xshift=6.8cm]
  \draw[black] (-1,0)--(1,0); \draw[black] (0,-1)--(0,1);
  \draw[acc, ->, domain=0:640, samples=90, variable=\t]
    plot ({0.0016*\t*cos(\t)}, {0.0016*\t*sin(\t)});
  \fill[black] (0,0) circle (1.3pt);
  \node[anchor=north] at (0,-1.35) {spiral (sink)};
\end{scope}
% ---- center ----
\begin{scope}[xshift=10.2cm]
  \draw[black] (-1,0)--(1,0); \draw[black] (0,-1)--(0,1);
  \draw[acc] (0,0) ellipse (0.9 and 0.55);
  \draw[acc] (0,0) ellipse (0.55 and 0.33);
  \draw[acc, ->] (0.9,0.02)--(0.9,-0.02);
  \fill[black] (0,0) circle (1.3pt);
  \node[anchor=north] at (0,-1.35) {center};
\end{scope}
% ---- star (proper node) ----
\begin{scope}[xshift=13.6cm]
  \draw[black] (-1,0)--(1,0); \draw[black] (0,-1)--(0,1);
  \foreach \a in {20,60,100,140,180,220,260,300,340}
    \draw[acc, ->] (\a:1.05)--(\a:0.12);
  \fill[black] (0,0) circle (1.3pt);
  \node[anchor=north] at (0,-1.35) {star node};
\end{scope}
\end{tikzpicture}
$$

The table collects the classification and reads directly off the eigenvalues.

| Eigenvalues | Type | Behavior |
| --- | --- | --- |
| $r_1 > r_2 > 0$ | Node (source) | all trajectories leave |
| $r_1 < r_2 < 0$ | Node (sink) | all trajectories enter |
| $r_2 < 0 < r_1$ | Saddle | enter along one direction, leave along the other |
| $r_1 = r_2 \neq 0$ | Proper/improper node | rays or a single tangent direction |
| $\lambda \pm i\mu,\ \lambda \neq 0$ | Spiral | inward if $\lambda < 0$, outward if $\lambda > 0$ |
| $\pm i\mu$ | Center | closed orbits, periodic |

> **Worked example.** Classify the origin for two linear systems from their
> eigenvalues. For $\mathbf{x}' = \begin{pmatrix} 1 & 1 \\ 4 & 1 \end{pmatrix}
> \mathbf{x}$ the characteristic equation $r^2 - pr + q = 0$ has
> $p = \operatorname{tr} A = 2$, $q = \det A = 1 - 4 = -3$, so
> $$
> r^2 - 2r - 3 = (r - 3)(r + 1) = 0, \qquad r_1 = 3,\ r_2 = -1.
> $$
> Real eigenvalues of opposite sign make the origin a saddle point, unstable.
> For $\mathbf{x}' = \begin{pmatrix} -2 & 1 \\ 1 & -2 \end{pmatrix}\mathbf{x}$,
> $p = -4$ and $q = 3$, giving
> $$
> r^2 + 4r + 3 = (r + 1)(r + 3) = 0, \qquad r_1 = -1,\ r_2 = -3,
> $$
> two negative eigenvalues: an asymptotically stable node, every trajectory
> entering tangent to the slow eigendirection of $r_2 = -1$.

## Stability, precisely

Three definitions classify the long-term behavior of solutions near a critical
point. Stated for a general $n$-dimensional autonomous system
$\mathbf{x}' = \mathbf{f}(\mathbf{x})$, use $\|\mathbf{x}\|$ for the length of the
vector $\mathbf{x}$.[^boyce-stab]

> **Definition (Stability).** A critical point $\mathbf{x}_0$ is **stable** if
> for every $\varepsilon > 0$ there is a $\delta > 0$ such that every solution
> starting within $\delta$ of $\mathbf{x}_0$,
> $$
> \|\mathbf{x}(0) - \mathbf{x}_0\| < \delta,
> $$
> exists for all $t \geq 0$ and stays within $\varepsilon$ of $\mathbf{x}_0$,
> $$
> \|\mathbf{x}(t) - \mathbf{x}_0\| < \varepsilon \quad \text{for all } t \geq 0.
> $$
> A critical point that is not stable is **unstable**.

Stability is the statement that a state starting close stays close. It does not
require the state to return to equilibrium; a center is stable, its orbits
circling forever at fixed distance without approaching the middle.

> **Definition (Asymptotic stability).** A critical point $\mathbf{x}_0$ is
> **asymptotically stable** if it is stable and, in addition, there is a
> $\delta_0 > 0$ such that every solution with $\|\mathbf{x}(0) - \mathbf{x}_0\|
> < \delta_0$ satisfies
> $$
> \lim_{t \to \infty} \mathbf{x}(t) = \mathbf{x}_0.
> $$

Asymptotic stability is strictly stronger: nearby states must stay close _and_
eventually return. The limit condition alone is not enough — one can construct
systems in which every trajectory reaches $\mathbf{x}_0$ yet a trajectory first
wanders arbitrarily far before returning, so $\mathbf{x}_0$ is not stable. Both
conditions are required.

$$
% caption: Starting inside the inner circle (radius $\delta$), the trajectory
% stays inside the outer circle (radius $\varepsilon$): stability. In (a) it also
% converges to the center — asymptotic stability; in (b) it circles forever.
\begin{tikzpicture}[scale=1.0, >=stealth, font=\footnotesize]
\definecolor{acc}{HTML}{4A6FA5}
% ---- (a) asymptotic stability ----
\begin{scope}[xshift=0cm]
  \draw[black, dashed] (0,0) circle (1.7);
  \draw[black] (0,0) circle (0.7);
  \fill[black] (0,0) circle (1.6pt);
  % spiralling-in trajectory starting inside inner circle
  \draw[acc, ->, domain=0:540, samples=110, variable=\t]
    plot ({(0.62 - 0.00104*\t)*cos(\t+40)}, {(0.62 - 0.00104*\t)*sin(\t+40)});
  \fill[acc] ({0.62*cos(40)},{0.62*sin(40)}) circle (1.4pt);
  \node[acc, anchor=west, font=\scriptsize] at ({0.62*cos(40)+0.05},{0.62*sin(40)+0.16}) {start};
  \node[anchor=north] at (0,-2.15) {(a) asymptotically stable};
\end{scope}
% ---- (b) stability only ----
\begin{scope}[xshift=6.2cm]
  \draw[black, dashed] (0,0) circle (1.7);
  \draw[black] (0,0) circle (0.7);
  \fill[black] (0,0) circle (1.6pt);
  % closed loop staying in the band, not approaching center
  \draw[acc, ->] (0,0) ellipse (1.25 and 0.95);
  \node[anchor=north] at (0,-2.15) {(b) stable, not asymptotically};
\end{scope}
\end{tikzpicture}
$$

Reading the five cases against these definitions gives the master table for the
linear system.[^boyce-stab] Everything hinges on the sign of the real parts of
the eigenvalues.

| Eigenvalues | Type | Stability |
| --- | --- | --- |
| $r_1 > r_2 > 0$ | Node | Unstable |
| $r_1 < r_2 < 0$ | Node | Asymptotically stable |
| $r_2 < 0 < r_1$ | Saddle | Unstable |
| $r_1 = r_2 > 0$ | Proper/improper node | Unstable |
| $r_1 = r_2 < 0$ | Proper/improper node | Asymptotically stable |
| $\lambda \pm i\mu,\ \lambda > 0$ | Spiral | Unstable |
| $\lambda \pm i\mu,\ \lambda < 0$ | Spiral | Asymptotically stable |
| $\pm i\mu$ | Center | Stable (not asymptotically) |

Every trajectory of a linear system, after a long time, does exactly one of
three things: it approaches the origin, it traverses a closed orbit around the
origin, or it becomes unbounded. These are asymptotic stability, stability, and
instability respectively.

## The trace–determinant plane

The eigenvalues of $A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}$ are the
roots of $r^2 - pr + q = 0$, where

$$
p = a + d = \operatorname{tr} A, \qquad q = ad - bc = \det A,
$$

so $r_{1,2} = \tfrac{1}{2}\!\left(p \pm \sqrt{p^2 - 4q}\right)$, and $r_1 r_2 =
q$, $r_1 + r_2 = p$. The two numbers $p$ and $q$, together with the discriminant
$\Delta = p^2 - 4q$, decide the type and stability without ever computing the
eigenvalues explicitly:[^boyce-td]

- **$q < 0$:** the eigenvalues are real with opposite signs — a **saddle point**,
  always unstable.
- **$q > 0$, $\Delta > 0$:** real eigenvalues of the same sign — a **node**,
  stable if $p < 0$ and unstable if $p > 0$.
- **$q > 0$, $\Delta < 0$:** complex eigenvalues $\lambda \pm i\mu$ with
  $\lambda = p/2$ — a **spiral**, stable if $p < 0$ and unstable if $p > 0$.
- **$p = 0$, $q > 0$:** pure imaginary eigenvalues — a **center**, stable.
- **$\Delta = 0$ ($p^2 = 4q$):** a repeated eigenvalue — the boundary parabola of
  proper and improper nodes.

The whole classification is a partition of the $(p, q)$ half-plane $q$-versus-$p$
by the axes and the parabola $q = p^2/4$.

$$
% caption: The trace-determinant plane. The horizontal axis is $p$ (trace), the
% vertical axis is $q$ (determinant); the parabola is the repeated-root boundary.
\begin{tikzpicture}[scale=1.05, >=stealth, font=\footnotesize]
\definecolor{acc}{HTML}{4A6FA5}
% shading of the saddle region (q<0)
\fill[acc!7] (-3.6,0) rectangle (3.6,-1.9);
% axes
\draw[->, black] (-3.7,0) -- (3.8,0) node[right, black] {$p$};
\draw[->, black] (0,-2.0) -- (0,4.2) node[above, black] {$q$};
% parabola q = p^2/4
\draw[acc, thick, domain=-3.55:3.55, samples=80] plot (\x, {(\x*\x)/4});
\node[acc, anchor=west] at (2.55,3.5) {$q=p^2/4$};
% region labels
\node[align=center] at (1.85,-1.05) {saddle points\\(unstable)};
\node[align=center, black!75] at (-2.55,0.75) {asymp.\\stable node};
\node[align=center, black!75] at (2.55,0.75) {unstable\\node};
\node[align=center, black!75] at (-1.15,2.7) {asymp.\\stable spiral};
\node[align=center, black!75] at (1.15,2.7) {unstable\\spiral};
% center: the positive q-axis
\draw[acc, very thick] (0,0.6)--(0,3.9);
\node[acc, anchor=west] at (0.12,3.9) {centers ($p=0$)};
\end{tikzpicture}
$$

> **Worked example.** Read the type off the trace and determinant for
> $\mathbf{x}' = \begin{pmatrix} -1 & -4 \\ 1 & -1 \end{pmatrix}\mathbf{x}$. Here
> $p = \operatorname{tr} A = -2$ and $q = \det A = 1 + 4 = 5$, so the discriminant
> is
> $$
> \Delta = p^2 - 4q = 4 - 20 = -16 < 0,
> $$
> the eigenvalues are complex, $r = \tfrac{1}{2}(p \pm \sqrt{\Delta}) = -1 \pm 2i$,
> and $p < 0$ makes the origin an asymptotically stable spiral. Raising the two
> diagonal entries to zero sets $p = 0$, moving the system onto the $q$-axis and
> turning the spiral into a center: the fragile boundary case.

The left half-plane $p < 0$ is where trajectories decay; the right half-plane
$p > 0$ is where they grow. The positive $q$-axis, the single line $p = 0$ with
$q > 0$, consists of centers separating stable spirals from unstable
ones. This boundary is why the nonlinear theory is delicate: a center is
the one case where an arbitrarily small change to the system can flip it either
way.

## Nullclines

For a system that is not linear, there is no eigenvalue shortcut to the global
picture, but the direction field still has a skeleton. The **nullclines** are the
curves where one component of the velocity vanishes.

> **Definition (Nullcline).** The **$x$-nullcline** is the set $F(x, y) = 0$,
> where $x' = 0$ and trajectories cross vertically. The **$y$-nullcline** is the
> set $G(x, y) = 0$, where $y' = 0$ and trajectories cross horizontally. Their
> intersections mark the critical points, where $x'$ and $y'$ vanish together.

Nullclines partition the plane into regions inside which the signs of $x'$ and
$y'$ are constant, so the general direction of motion — up-right, up-left, and so
on — is fixed within each region. Sketching the two nullclines, marking their
intersections as critical points, and recording the sign of $(x', y')$ in each
region gives a qualitatively correct phase portrait before any linearization.

$$
% caption: The $x$-nullcline and $y$-nullcline cut the plane into regions of
% constant velocity sign; their crossings are the critical points.
\begin{tikzpicture}[scale=1.0, >=stealth, font=\footnotesize]
\definecolor{acc}{HTML}{4A6FA5}
\draw[->, black] (-0.3,0)--(5.2,0) node[right, black] {$x$};
\draw[->, black] (0,-0.3)--(0,4.3) node[above, black] {$y$};
% x-nullcline (solid): a descending curve  x' = 0
\draw[acc, thick] (0.2,4.0) .. controls (2.0,2.4) and (3.0,1.4) .. (4.8,0.8);
\node[acc, anchor=south west] at (3.4,1.25) {$F=0$};
% y-nullcline (dashed): an ascending curve  y' = 0
\draw[acc, thick, dashed] (0.6,0.4) .. controls (2.2,1.2) and (3.0,2.6) .. (3.8,4.1);
\node[acc, anchor=north east] at (1.35,1.05) {$G=0$};
% intersection = critical point
\fill[black] (2.62,1.95) circle (2.0pt);
\node[anchor=south west, font=\scriptsize] at (2.72,2.0) {critical point};
% direction arrows in the four regions around the crossing
\draw[black, ->] (1.2,3.2)--(1.55,3.05);
\draw[black, ->] (4.2,2.2)--(4.45,2.4);
\draw[black, ->] (1.1,0.7)--(0.85,0.55);
\draw[black, ->] (3.7,0.6)--(3.95,0.45);
\end{tikzpicture}
$$

## Carryover from the linear case

Two features of the linear case are special and do not carry over to nonlinear
systems:

- **A linear system has a single critical point.** A nonlinear system typically
  has several, each governing its own neighborhood.
- **Linear stability is global.** If the origin of a stable linear system
  attracts nearby trajectories, it attracts _all_ of them. For a nonlinear
  system, a stable critical point attracts only trajectories that begin in its
  **basin of attraction**, and mapping that basin is a separate problem.

> **Definition (Basin of attraction).** For an asymptotically stable critical
> point, the set of all starting points whose trajectories approach it as
> $t \to \infty$. A trajectory bounding two basins is a **separatrix**.

Zooming in on any critical point of a nonlinear system, the direction field
comes to resemble that of a linear system, and the Jacobian at that point makes
the resemblance precise.

[^boyce-intro]: **Boyce**, §9.1 — the qualitative, geometric approach to
    nonlinear systems, and Poincaré's founding role in the theory.
[^boyce-auto]: **Boyce**, §9.2 — autonomous systems, the time-independence of the
    direction field, and the resulting single-trajectory-per-point property; see
    also Simmons, §58, on paths in the phase plane.
[^boyce-reach]: **Boyce**, §9.2, Problem 23 — a trajectory starting at a
    noncritical point cannot reach a critical point in finite time.
[^boyce-stab]: **Boyce**, §9.2 — the $\varepsilon$–$\delta$ definitions of
    stability, asymptotic stability, and instability, valid for systems of any
    dimension; Simmons, §59, gives the same definitions.
[^boyce-td]: **Boyce**, §9.1, Problems 17–18 and Figure 9.1.8 — classification of
    the critical point by $p = \operatorname{tr} A$, $q = \det A$, and $\Delta =
    p^2 - 4q$; Simmons, §60, treats stability for linear systems.
