Systems of differential equations
The idea
When several quantities evolve and influence each other — predator and prey, two coupled tanks, competing currents — you get a system of differential equations, written compactly as x' = Ax for a vector x(t) and matrix A. Eigentheory is the master key: along an eigenvector v with eigenvalue λ, the system decouples into one-dimensional growth or decay, giving the building-block solution e^(λt) v. When the matrix has a full set of independent eigenvectors, superposing one block per eigenpair gives the general solution.
Think of eigenvectors as the system's natural axes. Initial conditions aligned with an eigenvector stay on that line forever, evolving by a pure exponential; every other start is a mixture of the modes, each running at its own clock rate. Long-run behavior is read straight off the eigenvalues: the mode with the largest eigenvalue eventually dominates, and any positive eigenvalue is enough to make the origin unstable.
A misconception to intercept: the constants c₁ and c₂ do not multiply whole coordinates of the answer — they weight entire eigenvector modes. Fitting an initial condition means expressing x(0) as a combination of eigenvectors, a small linear system, not a coordinate-by-coordinate match.
Worked example
Solve the system x₁' = x₁ + 2x₂, x₂' = 2x₁ + x₂ with initial condition (x₁(0), x₂(0)) = (3, 1).
- Write the coefficient matrix A with rows (1, 2) and (2, 1), and find its eigenvalues: det(A − λI) = (1 − λ)² − 4 = 0 gives 1 − λ = ±2, so λ₁ = 3 and λ₂ = −1.
- Find the eigenvectors: for λ₁ = 3, A − 3I has rows (−2, 2) and (2, −2), both forcing x₂ = x₁, so v₁ = (1, 1); for λ₂ = −1, A + I has identical rows (2, 2), forcing x₂ = −x₁, so v₂ = (1, −1).
- Assemble the general solution from the modes: x(t) = c₁ e^(3t) (1, 1) + c₂ e^(−t) (1, −1).
- Fit the initial condition by decomposing (3, 1) over the eigenvectors: c₁ + c₂ = 3 and c₁ − c₂ = 1, so adding gives c₁ = 2 and then c₂ = 1.
- Write out the components: x₁(t) = 2e^(3t) + e^(−t) and x₂(t) = 2e^(3t) − e^(−t). Check the ODE at the level of x₁: its derivative is 6e^(3t) − e^(−t), while x₁ + 2x₂ = 2e^(3t) + e^(−t) + 4e^(3t) − 2e^(−t) = 6e^(3t) − e^(−t) — identical.
- Read the long-run story: the e^(3t) mode along (1, 1) explodes while the e^(−t) mode dies, so trajectories asymptotically hug the line x₂ = x₁ — the unstable axis of a saddle at the origin, exactly what the opposite-sign eigenvalues 3 and −1 predict.
Answer. x₁(t) = 2e^(3t) + e^(−t) and x₂(t) = 2e^(3t) − e^(−t), with the (1, 1) growth mode dominating as t increases.
Check your understanding
- Why does an initial condition lying exactly on an eigenvector produce motion that never leaves that line?
- How do the signs of the eigenvalues determine whether the origin attracts, repels, or saddles nearby trajectories?
- What would change in the solution recipe if the eigenvalues came out complex, and what would trajectories look like?
- How is fitting c₁ and c₂ to an initial condition the same problem as writing a vector in a new basis?
Build the foundations first
Systems of differential equations builds on these concepts. If any feel shaky, start there.