Search Knowledge

© 2026 LIBREUNI PROJECT

Mathematics / Differential Equations

Systems of ODEs & Stability

Systems of Ordinary Differential Equations and Stability Theory

Systems of Ordinary Differential Equations (ODEs) are fundamental in modeling complex phenomena where multiple interdependent quantities evolve simultaneously. In this lesson, we transition from scalar equations to vector-valued differential equations, focusing on linear systems, the matrix exponential, and the qualitative behavior of solutions.

1. Linear Systems of First-Order ODEs

A general system of first-order linear ODEs can be expressed in vector-matrix form: where is the state vector, is the coefficient matrix, and is the non-homogeneous term.

For a system with constant coefficients ( is independent of ), the homogeneous system is:

Existence and Uniqueness

By the Picard-Lindelöf Theorem, if and are continuous on an interval , then for any and , there exists a unique solution existing for all satisfying .

2. The Matrix Exponential

The solution to the scalar equation is . By analogy, the solution to the vector equation is:

Definition

The matrix exponential is defined by the power series: This series converges absolutely for all and all square matrices .

Properties

  1. .
  2. if and only if any matrices involved commute.
  3. .
  4. If is diagonalizable, , then , where .

3. Solving Homogeneous Systems

The general solution is a linear combination of linearly independent solutions . These solutions are derived from the eigenvalues and eigenvectors of .

Case 1: Distinct Real Eigenvalues

If has linearly independent eigenvectors corresponding to real :

Case 2: Complex Eigenvalues

If with eigenvectors , the real-valued solutions are:

Case 3: Repeated Eigenvalues

If an eigenvalue has algebraic multiplicity greater than its geometric multiplicity, generalized eigenvectors are used. For a matrix with a single Jordan block of size 2: where .

4. Phase Plane Analysis (2D Systems)

For where , the equilibrium point at the origin is classified by the eigenvalues:

  • Nodes: real and same sign.
    • Stable Node: .
    • Unstable Node: .
  • Saddle Points: real and opposite sign. Always unstable.
  • Spiral Points: with .
    • Stable Spiral: .
    • Unstable Spiral: .
  • Centers: (purely imaginary). Marginally stable.

5. Stability Theory and Linearization

Stability Definitions

An equilibrium point is:

  • Stable (Lyapunov): If for every , there exists such that if , then for all .
  • Asymptotically Stable: If it is stable and .
  • Unstable: If it is not stable.

Linearization and Hartman-Grobman

For a nonlinear system , let be an equilibrium point. The Hartman-Grobman Theorem states that if is hyperbolic (no eigenvalues of have zero real part), then the nonlinear flow is topologically conjugate to the linear flow near the equilibrium.

Lyapunov’s Direct Method

Define a scalar function such that and for . If , the equilibrium is stable. If , it is asymptotically stable.

6. Non-Homogeneous Systems

The general solution to is given by the Variation of Parameters formula:

7. Application: Lotka-Volterra Predator-Prey Model

The interaction between prey and predators is modeled by: Linearizing around the interior equilibrium point yields: The eigenvalues are purely imaginary (), indicating a center in the linearized system and periodic orbits in the nonlinear system.

Computational Example: Phase Portraits in Python

import numpy as np
import matplotlib.pyplot as plt
from scipy.linalg import expm

# Define the system matrix A for a stable spiral
A = np.array([[-0.5, 1.0], 
              [-1.0, -0.5]])

# 1. Compute Matrix Exponential for t=1.0
t = 1.0
Phi = expm(A * t)
print(f"Matrix Exponential e^(At) at t={t}:\n{Phi}")

# 2. Generate Phase Portrait using streamplot
w = 2.0
x, y = np.mgrid[-w:w:20j, -w:w:20j]
u = A[0,0]*x + A[0,1]*y
v = A[1,0]*x + A[1,1]*y

plt.figure(figsize=(8, 8))
plt.streamplot(x, y, u, v, color='cornflowerblue')
plt.axhline(0, color='black', lw=1)
plt.axvline(0, color='black', lw=1)
plt.title("Phase Portrait of a Stable Spiral")
plt.xlabel("x")
plt.ylabel("y")
plt.grid(True)
plt.show()
Conceptual Check

Given a 2x2 system x' = Ax, if det(A) < 0, what is the nature of the equilibrium point at the origin?

Conceptual Check

Which property of the matrix exponential is FALSE for general matrices A and B?

Conceptual Check

According to the Hartman-Grobman Theorem, when is the linearization guaranteed to represent the local qualitative behavior of a nonlinear system?