Many physical systems involve coupled variables. A system of two first-order ODEs:
Solution method — Find eigenvalues and eigenvectors of :
Phase portrait classification
| Eigenvalues | Type | Stability |
|---|---|---|
| real | Node | Stable |
| real | Node | Unstable |
| real | Saddle | Unstable |
| , | Spiral | Stable |
| , | Spiral | Unstable |
| (pure imaginary) | Centre | Neutrally stable |
Example — Coupled spring-mass system with two masses yields a system. The eigenvalues give the normal mode frequencies.
import numpy as np
A = np.array([[-3, 1], [2, -2]])
vals, vecs = np.linalg.eig(A)
print("Eigenvalues:", vals)
print("Eigenvectors:\n", vecs)
Key insight: The eigenvalues of the system matrix completely determine the long-term behaviour — stability, oscillation, and decay rate.
Common pitfall: In coupled systems, each equation’s rate depends on the other variable — solving them one at a time as if independent destroys exactly the interaction the system exists to model.