线性代数 Cheat Sheet 5-7:微分方程中的应用
在很多应用问题中,有些量随时间连续变化,它们与下面的微分方程组有关:
\begin{equation}
x^\prime_1 = a_{11}x_1 + \cdots + a_{1n}x_n \\
x^\prime_2 = a_{21}x_2 + \cdots + a_{2n}x_n \\
\vdots \\
x^\prime_n = a_{n1}x_1 + \cdots + a_{nn}x_n
\end{equation}
这里 $x_1, \cdots, x_n$ 是关于 $t$ 的可导函数,导数分别是 $x^\prime_1, \cdots, x^\prime_n$,$a_{ij}$ 是常数。该方程组最主要的特征是线性性质。把方程组写成矩阵微分方程
\begin{equation}
\boldsymbol x^\prime(t) = A \boldsymbol x(t) \tag{1}
\end{equation}
其中
\begin{equation}
\boldsymbol x(t) = \begin{bmatrix} x_1(t) \\ \vdots \\ x_n(t)\end{bmatrix}, \;
\boldsymbol x^\prime(t) = \begin{bmatrix} x^\prime_1(t) \\ \vdots \\ x^\prime_n(t)\end{bmatrix}, \;
A = \begin{bmatrix} a_{11} & \cdots & a_{1n} \\ \vdots & & \vdots \\ a_{n1} & \cdots & a_{nn}\end{bmatrix}
\end{equation}
方程 $(1)$ 的解是向量值函数,该函数定义在某实数区间,比如 $t \geq 0$,且满足方程 $(1)$。
由于函数求导以及向量与矩阵相乘都是线性变换,故方程 $(1)$ 是线性的。因此,若 $\boldsymbol u$ 和 $\boldsymbol v$ 是 $\boldsymbol x^\prime = A \boldsymbol x$ 的解,则 $c \boldsymbol u + d \boldsymbol v$ 同样也是 $\boldsymbol x^\prime = A \boldsymbol x$ 的解,因为
\begin{equation}
(c \boldsymbol u + d \boldsymbol v)^\prime = c \boldsymbol u^\prime + d \boldsymbol v^\prime = c A\boldsymbol u + d A\boldsymbol v = A(c \boldsymbol u + d \boldsymbol v)
\end{equation}
这个性质称为解的叠加。同样,恒等于零的函数也是方程 $(1)$ 的(平凡)解。方程 $(1)$ 的所有解的集合是值属于 $\mathbb{R}^n$ 的所有连续函数组成的集合的子空间。
可以证明,方程 $(1)$ 一定存在基础解系。假如 $A$ 是 $n \times n$ 矩阵,那么在基础解系中存在 $n$ 个线性无关的函数,使得方程 $(1)$ 的每一个解可以唯一表示为这 $n$ 个函数的线性组合。即基础解系是方程 $(1)$ 的所有解的集合的基,且解集是函数的 $n$ 维向量空间。若给定向量 $\boldsymbol x_0$,那么初值问题就是构造一个(唯一)函数 $\boldsymbol x$,满足 $\boldsymbol x^\prime = A \boldsymbol x$ 和 $\boldsymbol x(0) = \boldsymbol x_0$。
当 $A$ 是对角矩阵时,可以用初等微积分求出 $(1)$ 的解。例如考虑
\begin{equation}
\begin{bmatrix} x^\prime_1(t) \\ x^\prime_2(t) \end{bmatrix} =
\begin{bmatrix} 3 & 0 \\ 0 & -5 \end{bmatrix}
\begin{bmatrix} x_1(t) \\ x_2(t) \end{bmatrix} \tag{2}
\end{equation}
即有
\begin{equation}
x_1^\prime(t) = 3x_1(t) \\
x_2^\prime(t) = -5x_2(t) \tag{3}
\end{equation}
因为每个函数的导数仅依赖于函数自身,而不是 $x_1(t)$ 和 $x_2(t)$ 的组合或“结合”,所以称方程组 $(2)$ 是解耦的。由微积分,$(3)$ 的解是 $x_1(t) = c_1\mathrm{e}^{3t}$ 和 $x_2(t) = c_2\mathrm{e}^{-5t}$,$c_1$ 和 $c_2$ 为任意常数。$(2)$ 的每一个解都可以写成下列形式:
\begin{equation}
\begin{bmatrix} x^\prime_1(t) \\ x^\prime_2(t) \end{bmatrix} =
\begin{bmatrix} c_1\mathrm{e}^{3t} \\ c_2\mathrm{e}^{-5t} \end{bmatrix} =
c_1 \begin{bmatrix} 1 \\ 0 \end{bmatrix} \mathrm{e}^{3t} + c_2 \begin{bmatrix} 0 \\ 1 \end{bmatrix} \mathrm{e}^{-5t}
\end{equation}
这个例子说明,对于一般的方程 $\boldsymbol x^\prime = A \boldsymbol x$,它的解可能是形如
\begin{equation}
\boldsymbol x(t) = \boldsymbol v \mathrm{e}^{\lambda t} \tag{4}
\end{equation}
的函数的线性组合,其中 $\lambda$ 为数,$\boldsymbol v$ 为非零向量(若 $\boldsymbol v = 0$,则函数 $\boldsymbol x(t)$ 恒为零,且满足 $\boldsymbol x^\prime = A \boldsymbol x$)。注意到
\begin{equation}
\boldsymbol x^\prime(t) = \lambda \boldsymbol v \mathrm{e}^{\lambda t} \\
A \boldsymbol x(t) = A \boldsymbol v \mathrm{e}^{\lambda t}
\end{equation}
因为 $\mathrm{e}^{\lambda t}$ 不可能为零,故 $\boldsymbol x^\prime(t)$ 等于 $A \boldsymbol x^\prime(t)$ 当且仅当 $\lambda \boldsymbol v = A \boldsymbol v$,即当且即当 $\lambda$ 是 $A$ 的特征值,而 $\boldsymbol v$ 是对应的特征向量。因此,每一对特征值-特征向量提供了 $\boldsymbol x^\prime = A \boldsymbol x$ 的一个解 $(4)$,这种解有时被称为微分方程的特征函数。特征函数为求解微分方程提供了方法。
1. 解耦动力系统
设 $A$ 的特征函数是
\begin{equation}
\boldsymbol v_1 \mathrm{e}^{\lambda_1 t}, \cdots, \boldsymbol v_n \mathrm{e}^{\lambda_n t}
\end{equation}
$\boldsymbol v_1, \cdots, \boldsymbol v_n$ 是线性无关的特征向量。令 $P = \begin{bmatrix} \boldsymbol v_1 & \cdots & \boldsymbol v_n\end{bmatrix}$,$D$ 是主对角线元素为 $\lambda_1, \cdots, \lambda_n$ 的对角阵,因此有 $A = PDP^{-1}$。现做变量代换,由
\begin{equation}
\boldsymbol y(t) = P^{-1}\boldsymbol x(t) \; 或 \; \boldsymbol x(t) = P \boldsymbol y(t)
\end{equation}
定义一个新的函数 $\boldsymbol y$,方程 $\boldsymbol x(t) = P \boldsymbol y(t)$ 表明 $\boldsymbol y(t)$ 是 $\boldsymbol x(t)$ 关于特征向量基的坐标向量。带入 $\boldsymbol x^\prime = A \boldsymbol x$,有
\begin{equation}
\frac{\mathrm{d}}{\mathrm{d} t} (P \boldsymbol y) = A(P \boldsymbol y) = (PDP^{-1})P\boldsymbol y = PD\boldsymbol y \tag{5}
\end{equation}
由于 $P$ 是常数矩阵,$(5)$ 的左边是 $P \boldsymbol y^\prime$。在 $(5)$ 的两边左乘 $P^{-1}$,得 $\boldsymbol y^\prime = D \boldsymbol y$ 或
\begin{equation}
\begin{bmatrix}
y_1^\prime(t) \\ y_2^\prime(t) \\ \vdots \\ y_n^\prime(t)
\end{bmatrix} =
\begin{bmatrix}
\lambda_1 & 0 & \cdots & 0 \\
0 & \lambda_2 & \cdots & 0 \\
\vdots & & \ddots & 0 \\
0 & \cdots & 0 & \lambda_n \\
\end{bmatrix}
\begin{bmatrix}
y_1(t) \\ y_2(t) \\ \vdots \\ y_n(t)
\end{bmatrix}
\end{equation}
因为数值函数 $y_k$ 的倒数 $y_k^\prime(t)$ 仅依赖于 $y_k$,故从 $\boldsymbol x$ 到 $\boldsymbol y$ 的变量代换解耦了微分方程组。由 $y_1 = \lambda_1 y_1$,由 $y_1(t) = c_1 \mathrm{e}^{\lambda_1 t}$,对 $y_2, \cdots, y_n$ 也有类似的公式,因此
\begin{equation}
\boldsymbol y(t) = \begin{bmatrix} c_1 \mathrm{e}^{\lambda_1 t} \\ \vdots \\ c_n \mathrm{e}^{\lambda_n t} \end{bmatrix}, \; 其中 \begin{bmatrix} c_1 \\ \vdots \\ c_n \end{bmatrix} = \boldsymbol y(0) = P^{-1}\boldsymbol x(0) = P^{-1} \boldsymbol x_0
\end{equation}
为了得到原方程组的通解 $\boldsymbol x$,计算
\begin{align}
\boldsymbol x(t) &= P \boldsymbol y(t) = \begin{bmatrix} \boldsymbol v_1 & \cdots & \boldsymbol v_n \end{bmatrix} \boldsymbol y(t) \\
&= c_1 \boldsymbol v_1 \mathrm{e}^{\lambda_1 t} + \cdots + c_n \boldsymbol v_n \mathrm{e}^{\lambda_n t}
\end{align}