线性代数 - 特征值与特征向量

36

概述

本篇讲解什么是方阵 $\mathbf{A}$ 的特征值与特征向量,以及它们能用来做什么。现在请同学们坐好,咱们开始上课 ^_^ !

特征值与特征向量

什么是一个方阵(很快就会讲到为什么只能是方阵)的特征值与特征向量呢?我们先计算一个矩阵乘法:

\begin{align*} \begin{bmatrix} 1&2\\2&1 \end{bmatrix} \begin{bmatrix} 1\\1 \end{bmatrix} = \begin{bmatrix} 3\\3 \end{bmatrix} \end{align*}

将 $\begin{bmatrix} 3\\3 \end{bmatrix}$ 中的常量 $3$ 提取出来,有:

\begin{align*} \begin{bmatrix} 1&2\\2&1 \end{bmatrix} \begin{bmatrix} 1\\1 \end{bmatrix} = 3 \begin{bmatrix} 1\\1 \end{bmatrix} \end{align*}

仔细观察上面的算式,它只包含了:一个矩阵 $\mathbf{A} = \begin{bmatrix} 1&2\\2&1 \end{bmatrix}$,一个向量 $\mathbf{x} = \begin{bmatrix} 1\\1 \end{bmatrix}$,以及一个常数 $\lambda = 3$。$\lambda$ 与 $\mathbf{x}$ 共同描述了 $\mathbf{A}$,我们将 $\lambda$ 称为 $\mathbf{A}$ 的特征值Eigenvalue),将 $\mathbf{x}$ 称为 $\mathbf{A}$ 的特征向量Eigenvector)。


设 $\mathbf{A}$ 是 $n$ 阶矩阵,如果数 $\lambda$ 和 $n$ 维非零向量 $\mathbf{x}$ 使关系式
$$\mathbf{A} \mathbf{x} = \lambda \mathbf{x} \tag{1} $$
成立,那么,这样的数 $\lambda$ 称为矩阵 $\mathbf{A}$ 的特征值,非零向量 $\mathbf{x}$ 称为 $\mathbf{A}$ 的对应于特征值 $\lambda$ 的特征向量。

在以上的定义中,我们需要注意几点:

首先,一个方阵 $\mathbf{A}$ 的特征向量 $\mathbf{x}$ 是非零向量,并且 $\mathbf{A}\mathbf{x}$ 与 $\mathbf{x}$ 共线。其次,$\mathbf{A}$ 必须是方阵,并且它的阶数必须与 $\mathbf{x}$ 的维数相同,也就是说如果 $\mathbf{A}$ 是 $n$ 阶方阵,$\mathbf{x}$ 必须是 $n$ 维向量,反过来,如果 $\mathbf{x}$ 是 $n$ 维向量,那么 $\mathbf{A}$ 必须是 $n$ 阶方阵,否则 $\mathbf{A}$ 与 $\mathbf{x}$ 的乘积 $\mathbf{A}\mathbf{x}$ 不是 $n$ 维向量,无法与 $\lambda\mathbf{x}$ 相等。

为了更深刻地理解特征值和特征向量的概念,我们可以举一些特殊的例子。

当特征值 $\lambda=0$ 时,$(1)$ 式变为:$\mathbf{A}\mathbf{x}=\mathbf{0}$,此时特征向量 $\mathbf{x}$ 是 $\mathbf{A}$ 的零空间中任一非零向量。

当 $\mathbf{A}=\mathbf{I}$ 时,任取非零向量 $\mathbf{x}$ 都有 $\mathbf{A}\mathbf{x}=\mathbf{x}$,此时任意非零向量 $\mathbf{x}$ 都是 $\mathbf{A}$ 的特征向量,并且所有特征值 $\lambda$ 都是 $1$ 。

向量 $\mathbf{b}$ 在它所在的平面中的投影就是它本身,即:$\mathbf{P} \mathbf{b} = \mathbf{b}$,其中 $\mathbf{P}$ 为投影矩阵。此时 $\mathbf{P}$ 的特征向量为 $\mathbf{b}$,特征值为 $1$。

向量 $\mathbf{b}$ 在以它为法向量的平面上的投影为零向量,即:$\mathbf{P} \mathbf{b} = \mathbf{0}$,其中 $\mathbf{P}$ 为投影矩阵。此时 $\mathbf{P}$ 的特征向量为 $\mathbf{b}$,特征值为 $0$。

置换矩阵 $\mathbf{P} = \begin{bmatrix} 0&1 \\ 1&0 \end{bmatrix}$ 的特征值为 $\lambda_1=1$,$\lambda_2=-1$,对应于 $\lambda_1=1$ 的特征向量为 $\mathbf{x}_1 = \begin{bmatrix} 1\\1 \end{bmatrix}$,对应于 $\lambda_2=-1$ 的特征向量为 $\mathbf{x}_2 = \begin{bmatrix} -1\\1 \end{bmatrix}$。

对于上面这些简单的例子,用目测和心算就可以找到特征值与特征向量,那么遇到更复杂的情况时该怎么办呢?我们需要一个系统的方法来计算特征值与特征向量。

特征值与特征向量的计算

如何计算特征值与特征向量呢?将 $(1)$ 式等号右边的 $\lambda \mathbf{x}$ 移到左边,得:

$$ (\mathbf{A} - \lambda\mathbf{I})\mathbf{x} = \mathbf{0} \tag{2} $$

为了使 $\mathbf{x}$ 存在非零解,$\mathbf{A} - \lambda\mathbf{I}$ 必须是奇异矩阵,根据奇异矩阵的行列式必为零,有:

$$ \det(\mathbf{A} - \lambda\mathbf{I}) = 0 \tag{3} $$

根据 $(2)$ 式我们就可以计算出特征值 $\lambda$ 了。最后,我们将计算出来的 $\lambda$ 代入 $(2)$ 式,就可以计算出对应的特征向量 $\mathbf{x}$ 了。

假设 $\mathbf{A}$ 是一个 $n$ 阶矩阵,那么 $(3)$ 式就是一个以 $\lambda$ 为未知数的一元 $n$ 次方程,这个方程称为矩阵 $\mathbf{A}$ 的特征方程Characteristic Equation)。$(3)$ 式左侧的行列式 $\det(\mathbf{A} - \lambda\mathbf{I})$ 是 $\lambda$ 的 $n$ 次多项式,记作 $f(\lambda)$,称为矩阵 $\mathbf{A}$ 的特征多项式Characteristic Polynomial)。显然,$\mathbf{A}$ 的特征值就是特征方程的解。特征方程在复数范围内恒有解,其个数为方程的次数(重根按重数计算),因此,$n$ 阶矩阵 $\mathbf{A}$ 在复数范围内有 $n$ 个特征值。

综上,计算 $n$ 阶方阵 $\mathbf{A}$ 的特征值与特征向量的步骤如下:

假设 $\mathbf{A}$ 是一个 $n$ 阶矩阵,$\mathbf{A}$ 的特征值与特征向量的计算步骤如下:

1. 计算 $\mathbf{A}$ 的特征多项式 $\det(\mathbf{A} - \lambda\mathbf{I})$,它是一个关于 $\lambda$ 的 $n$ 次多项式。
2. 求解 $\mathbf{A}$ 的特征方程 $\det(\mathbf{A} - \lambda\mathbf{I}) = 0$,该方程在复数范围内有 $n$ 个解,这 $n$ 个解就是 $\mathbf{A}$ 的 $n$ 个特征值。
3. 将 2 中计算出的 $n$ 个特征值分别代入 $(\mathbf{A} - \lambda\mathbf{I})\mathbf{x} = \mathbf{0}$,解出 $\mathbf{A}$ 的 $n$ 个特征方程。

举个例子吧!


求 $\mathbf{A} = \begin{bmatrix} -1&2\\-3&4 \end{bmatrix}$ 的特征值与特征向量。
计算 $\mathbf{A}$ 的特征多项式:
\begin{align*} & \det(\mathbf{A} - \lambda\mathbf{I}) \\ &= \det \left(\begin{bmatrix} -1&2\\-3&4 \end{bmatrix} - \begin{bmatrix} \lambda&0\\0&\lambda \end{bmatrix} \right) \\ &= \begin{vmatrix} -1-\lambda & 2 \\ -3 & 4-\lambda \end{vmatrix} \\ &= (-1-\lambda)(4-\lambda)+6 \\ &= \lambda^2 - 3 \lambda + 2 \\ &= (\lambda - 1)(\lambda - 2) \end{align*}

求解 $\mathbf{A}$ 的特征方程:
$$ (\lambda - 1)(\lambda - 2) = 0 $$

解得:$\lambda_1=1$,$\lambda_2=2$。
将 $\lambda_1=1$ 代入 $(\mathbf{A} - \lambda\mathbf{I})\mathbf{x} = \mathbf{0}$,得:$$\begin{bmatrix} -2&2\\-3&3 \end{bmatrix} \mathbf{x}_1 = \mathbf{0} $$ 解得 $\mathbf{x}_1 = \begin{bmatrix} 1\\1 \end{bmatrix}$(注意 $ \mathbf{x}_1 $ 可以是 $ \begin{bmatrix} -2&2\\-3&3 \end{bmatrix} $ 的零空间里的任一非零向量)。
将 $\lambda_2=2$ 代入 $(\mathbf{A} - \lambda\mathbf{I})\mathbf{x} = \mathbf{0}$,得:$$ \begin{bmatrix} -3&2\\-3&2 \end{bmatrix} \mathbf{x}_2 = \mathbf{0} $$ 解得 $\mathbf{x}_2 = \begin{bmatrix} 2 \\ 3 \end{bmatrix}$(注意 $ \mathbf{x}_2 $ 可以是 $ \begin{bmatrix} -3&2\\-3&2 \end{bmatrix} $ 的零空间里的任一非零向量)。
因此 $\mathbf{A} = \begin{bmatrix} -1&2\\-3&4 \end{bmatrix}$ 的特征值为 $\lambda_1=1$,$\lambda_2=2$。对应于特征值 $\lambda_1=1$ 的特征向量为 $\mathbf{x}_1 = \begin{bmatrix} 1\\1 \end{bmatrix}$,对应于特征值 $\lambda_2=2$ 的特征向量为 $\mathbf{x}_2 = \begin{bmatrix} 2 \\ 3 \end{bmatrix}$。

在上面的例子中,可以看到 $\mathbf{A} - \lambda\mathbf{I}$ 是奇异矩阵,因此 $(\mathbf{A} - \lambda\mathbf{I})\mathbf{x} = \mathbf{0}$ 必定存在无数个非零解,我们可以取解集中的任意向量作为 $\mathbf{A}$ 的特征向量。正因为如此,如果 $\mathbf{x}_i$ 是对应于特征值 $\lambda_i$ 的特征向量,那么 $c\mathbf{x}_i$($c \in \mathbb{R} 且 c \ne 0$)也是对应于特征值 $\lambda_i$ 的特征向量。也可以说:$\mathbf{A}$ 对应于特征值 $\lambda$ 的特征向量为 $\mathbf{A} - \lambda\mathbf{I}$ 的零空间中任意非零向量。$\mathbf{A} - \lambda\mathbf{I}$ 的零空间是 $\mathbb{R}^n$ 的一个子空间,我们称这个空间为 $\mathbf{A}$ 相对于 $\lambda$ 的特征空间Eigenspace)或特征子空间Eigensubspace)。$\mathbf{A}$ 的特征空间中任一非零向量都是 $\mathbf{A}$ 的特征向量。

注意特征值可以是复数,比如下例:

求 $\begin{bmatrix} 0&-1\\1&0 \end{bmatrix}$ 的特征值。
$$ \begin{vmatrix} -\lambda&-1\\1&-\lambda \end{vmatrix} = \lambda^2 + 1 = 0 $$
解得:$\lambda_1 = i$,$\lambda_2=-i$

好了,该阁下动动手了。


计算 $\mathbf{A} = \begin{bmatrix} 2 & -3 \\ \dfrac{1}{2} & -\dfrac{1}{2} \end{bmatrix}$ 的特征值与特征向量(多选)。
  A   $\lambda_1=1 \quad \mathbf{x}_1 = \begin{bmatrix} 3\\1 \end{bmatrix}$
  B   $\lambda_2=\dfrac{1}{2} \quad \mathbf{x}_2 = \begin{bmatrix} 1\\2 \end{bmatrix}$
  C   $\lambda_1=1 \quad \mathbf{x}_1 = \begin{bmatrix} 1\\3 \end{bmatrix}$
  D   $\lambda_2=\dfrac{1}{2} \quad \mathbf{x}_2 = \begin{bmatrix} 2\\1 \end{bmatrix}$

正确答案:A、D


$$ \mathbf{A} = \begin{bmatrix} 2 & -3 \\ \dfrac{1}{2} & -\dfrac{1}{2} \end{bmatrix} \quad\quad \lambda_1=1 \quad \mathbf{x}_1 = \begin{bmatrix} 3\\1 \end{bmatrix} \quad\quad \lambda_2=\dfrac{1}{2} \quad \mathbf{x}_2 = \begin{bmatrix} 2\\1 \end{bmatrix} $$

特征值的性质

仔细观察上例中整理 $\det (\mathbf{A} - \lambda\mathbf{I})$ 的过程:

\begin{align*} & \det \left(\begin{bmatrix} -1&2\\-3&4 \end{bmatrix} - \begin{bmatrix} \lambda&0\\0&\lambda \end{bmatrix} \right) \quad ① \\ &= \begin{vmatrix} -1-\lambda & 2 \\ -3 & 4-\lambda \end{vmatrix} \\ &= (-1-\lambda)(4-\lambda)+6 \quad ② \\ &= \lambda^2 - \color{red}{3}\lambda + \color{blue}{2} \quad ③ \\ &= (\lambda - 1)(\lambda - 2) \end{align*}

现在讨论 $\color{red}{3}$ 和 $\color{blue}{2}$ 是怎么来的。假设 $\det (\mathbf{A} - \lambda\mathbf{I})$ 最后化简为 $\lambda^2 + b\lambda + c = 0$(注意 $\lambda^2$ 的系数为 $1$),用配方法解得:$\lambda_1 = \dfrac{-b+\sqrt{b^2-4c}}{2}$,$\lambda_2=\dfrac{-b-\sqrt{b^2-4c}}{2}$,于是有:$\lambda_1 + \lambda_2=-b$,$\lambda_1\lambda_2=c$,因此 $\color{red}{3}$ 就是上例中 $\lambda_1$ 与 $\lambda_2$ 的和,而 $\color{blue}{2}$ 就是 $\lambda_1$ 与 $\lambda_2$ 的积。在从 $②$ 式化为 $③$ 式的过程中,我们也可以看出 $\color{red}{3}$ 是 $\mathbf{A}$ 的对角线上元素之和(称为矩阵的Trace,用 $\text{tr}$ 表示),即 $\color{red}{3} = -1 + 4$。而将 $③$ 式中的 $\lambda$ 看成 $0$ ,再结合 $①$ 式,我们就可以知道 $\color{blue}{2}$ 就是 $\mathbf{A}$ 的行列式的值。好了,说结论:


若 $\mathbf{A}$ 是二阶方阵,$\lambda_1$ 与 $\lambda_2$ 是其特征值,并且 $\det (\mathbf{A} - \lambda\mathbf{I}) = \lambda^2 + b\lambda + c$,则有:
\begin{align*} & \lambda_1 + \lambda_2 = \text{tr} \mathbf{A} = -b \tag{4} \\ & \lambda_1 \lambda_2 = \det \mathbf{A} = c \tag{5} \end{align*}

上面的结论可以扩展到 $n$ 阶的情况:


若 $\mathbf{A}$ 是 $n$ 阶方阵,$\lambda_1$,$\lambda_2$,$\cdots$,$\lambda_n$ 是其特征值,则有:
\begin{align*} & \lambda_1 + \lambda_2 + \cdots + \lambda_n = \text{tr} \mathbf{A} \tag{6} \\ & \lambda_1 \lambda_2 \cdots \lambda_n = \det \mathbf{A} \tag{7} \end{align*}

关于 $\mathbf{A}^T$ 的特征值还有如下的性质:

$\mathbf{A}^T$ 与 $\mathbf{A}$ 的特征值相同。(证明

证明 由于 $\det(\mathbf{A} - \lambda \mathbf{I}) = \det((\mathbf{A} - \lambda \mathbf{I})^T) = \det(\mathbf{A}^T - \lambda \mathbf{I})$,因此 $\mathbf{A}^T$ 与 $\mathbf{A}$ 的特征值相同。注意 $\mathbf{A}^T$ 与 $\mathbf{A}$ 的特征向量并不一定相同!一般来说 $\mathbf{A} - \lambda \mathbf{I} \ne \mathbf{A}^T - \lambda \mathbf{I}$ (显然,只有 $\mathbf{A}$ 是对称矩阵时等式才成立)。

矩阵的对角化

特征值矩阵与特征向量矩阵

假设 $\lambda_1$,$\lambda_2$,$\cdots$,$\lambda_n$ 为 $n$ 阶方阵 $\mathbf{A}$ 的特征值,$\mathbf{x}_1$,$\mathbf{x}_2$,$\cdots$,$\mathbf{x}_n$ 是对应的特征向量,并且它们线性无关。称
$$ \boldsymbol{\Lambda} = \begin{bmatrix} \lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n \end{bmatrix} $$
为 $\mathbf{A}$ 的特征值矩阵Eigenvalue Matrix)。称
$$\mathbf{S} = \begin{bmatrix} \mathbf{x}_1 & \mathbf{x}_2 & \cdots & \mathbf{x}_n \end{bmatrix} $$
为 $\mathbf{A}$ 的特征向量矩阵Eigenvector Matrix)。

注意由于特征向量线性无关,因此 $\mathbf{S}$ 是非奇异矩阵,即 $\mathbf{S}$ 可逆。

对角化

现在考察 $\mathbf{A}$ 与其特征向量矩阵 $\mathbf{S}$ 的乘积:

\begin{align*} \mathbf{A} \mathbf{S} &= \mathbf{A} \begin{bmatrix} \mathbf{x}_1 & \mathbf{x}_2 & \cdots & \mathbf{x}_n \end{bmatrix} \\&= \begin{bmatrix} \mathbf{A}\mathbf{x}_1 & \mathbf{A}\mathbf{x}_2 & \cdots & \mathbf{A}\mathbf{x}_n \end{bmatrix} \\&= \begin{bmatrix} \lambda_1\mathbf{x}_1 & \lambda_2\mathbf{x}_2 & \cdots & \lambda_n\mathbf{x}_n \end{bmatrix} \\&= \begin{bmatrix} \mathbf{x}_1 & \mathbf{x}_2 & \cdots & \mathbf{x}_n \end{bmatrix} \begin{bmatrix} \lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n \end{bmatrix} \\&= \mathbf{S} \boldsymbol{\Lambda} \end{align*}
$$ \mathbf{A} \mathbf{S} = \mathbf{S} \boldsymbol{\Lambda} $$

由于 $\mathbf{S}$ 可逆,将上式两边同时左乘 $\mathbf{S}^{-1}$:

$$ \mathbf{S}^{-1} \mathbf{A} \mathbf{S} = \mathbf{S}^{-1} \mathbf{S} \boldsymbol{\Lambda} $$

于是我们得到:

$$ \mathbf{S}^{-1} \mathbf{A} \mathbf{S} = \boldsymbol{\Lambda} $$

以上过程就称为 $\mathbf{A}$ 的对角化Diagonalize)。

注意 $\mathbf{A}$ 的特征向量线性无关才时,$\mathbf{A}$ 才是可对角化的Diagonalizable)。

矩阵的幂

根据公式一,我们可以求得 $\boldsymbol{\Lambda}^2$:

$$ \boldsymbol{\Lambda}^2 = \mathbf{S}^{-1} \mathbf{A} \cancel{\mathbf{S} \mathbf{S}^{-1}} \mathbf{A} \mathbf{S} = \mathbf{S}^{-1} \mathbf{A}^2 \mathbf{S} $$

进而有:

$$ \boldsymbol{\Lambda}^n = \mathbf{S}^{-1} \mathbf{A}^n \mathbf{S} $$

$(4)$ 式两边同时右乘 $\mathbf{S}^{-1}$:

$$ \mathbf{A} \mathbf{S} \mathbf{S}^{-1} = \mathbf{S} \boldsymbol{\Lambda} \mathbf{S}^{-1} $$

于是得到:

$$ \mathbf{A} = \mathbf{S} \boldsymbol{\Lambda} \mathbf{S}^{-1} $$

接着看一下 $\mathbf{A}^2$ 是什么:

$$ \mathbf{A}^2 = \mathbf{S} \boldsymbol{\Lambda} \cancel{ \mathbf{S}^{-1} \mathbf{S} } \boldsymbol{\Lambda} \mathbf{S}^{-1} = \mathbf{S} \boldsymbol{\Lambda}^2 \mathbf{S}^{-1} $$

可以发现无论多少个 $\mathbf{A}$ 相乘,我们都可以将中间的 $\mathbf{S}^{-1} \mathbf{S}$ 消去,剩下若干个 $\boldsymbol{\Lambda}$ 相乘,而两边是 $\mathbf{S}$ 和 $\mathbf{S}^{-1}$ 不动,于是得到矩阵的幂公式:

$$ \mathbf{A}^k = \mathbf{S} \boldsymbol{\Lambda}^k \mathbf{S}^{-1} $$

如果 $\boldsymbol{\Lambda}$ 中的元素 $\lambda_{i}$ 的绝对值小于 $1$,那么我们可以得到 $\lim\limits_{k\to+\infty} \mathbf{A}^k = \mathbf{O}$。

注意整个过程中我们都假设 $\mathbf{A}$ 的特征向量是线性无关的,否则 $\mathbf{S}$ 不可逆。

什么情况下 $\mathbf{A}$ 的特征向量线性无关呢?

特征向量的线性相关性

设 $\lambda_1$,$\lambda_2$,$\cdots$,$\lambda_m$ 是方阵 $\mathbf{A}$ 的 $m$ 个特征值,$\mathbf{p}_1$,$\mathbf{p}_2$,$\cdots$,$\mathbf{p}_m$ 依次是与之对应的特征向量,如果 $\lambda_1$,$\lambda_2$,$\cdots$,$\lambda_m$ 各不相等,则 $\mathbf{p}_1$,$\mathbf{p}_2$,$\cdots$,$\mathbf{p}_m$ 线性无关。(证明

证明 用数学归纳法证明。
当 $m=1$ 时,因特征向量 $\mathbf{p}_1 \ne \mathbf{0}$,故只含一个向量的向量组 $\mathbf{p}_1$ 线性无关。
假设当 $m=k-1$ 时结论成立,要证当 $m=k$ 是结论成立。即假设相连组 $\mathbf{p}_1$,$\mathbf{p}_2$, $\cdots$,$\mathbf{p}_{k-1}$ 线性无关,要证向量组 $\mathbf{p}_1$,$\mathbf{p}_2$, $\cdots$,$\mathbf{p}_k$ 线性无关。为此,设有$$ x_1 \mathbf{p}_1 + x_2 \mathbf{p}_2 + \cdots + x_{k-1} \mathbf{p}_{k-1} + x_k \mathbf{p}_k = \mathbf{0} \tag{5}$$ 用 $\mathbf{A}$ 左乘上式,得 $$x_1\mathbf{A}\mathbf{p}_1 + x_2\mathbf{A}\mathbf{p}_2 + \cdots + x_{k-1}\mathbf{A}\mathbf{p}_{k-1} + x_k \mathbf{A} \mathbf{p}_k = \mathbf{0}$$ 即 $$ x_1\lambda_1\mathbf{p}_1 + x_2\lambda_2\mathbf{p}_2 + \cdots + x_{k-1}\lambda_{k-1}\mathbf{p}_{k-1} + x_k \lambda_k \mathbf{p}_k = \mathbf{0} \tag{6}$$ $(6)$ 式减去 $(5)$ 式的$\lambda_k$ 倍,得 $$ x_1 (\lambda_1 - \lambda_k)\mathbf{p}_1 + x_2 (\lambda_2 - \lambda_k)\mathbf{p}_2 + \cdots + x_{k-1} (\lambda_{k-1} - \lambda_k)\mathbf{p}_{k-1} = \mathbf{0} $$ 按归纳假设 $\mathbf{p}_1$,$\mathbf{p}_2$,$\cdots$,$\mathbf{p}_{k-1}$ 线性无关,故 $x_i(\lambda_i - \lambda_k) = 0$($i=1,2,\cdots,k-1$),代入 $(5)$ 式得 $x_k\mathbf{p}_k = \mathbf{0}$,而 $\mathbf{p}_k \ne \mathbf{0}$,得 $x_k=0$。因此,向量组 $\mathbf{p}_1$,$\mathbf{p}_2$,$\cdots$,$\mathbf{p}_k$ 线性无关。证毕。


推论 设 $\lambda_1$ 和 $\lambda_2$ 是方阵 $\mathbf{A}$ 的两个不同特征值,$\xi_1$,$\xi_2$,$\cdots$,$\xi_s$ 和 $\eta_1$,$\eta_2$,$\cdots$,$\eta_t$ 分别是对应于 $\lambda_1$ 和 $\lambda_2$ 的线性无关的特征向量,则 $\xi_1$,$\xi_2$,$\cdots$,$\xi_s$,$\eta_1$,$\eta_2$,$\cdots$,$\eta_t$ 线性无关。

本篇仅讨论 $\mathbf{A}$ 的特征值都不相等(即特征向量线性无关)的情况。

差分方程组

矩阵的幂与任意向量的乘积

现在考虑 $n$ 阶方阵 $\mathbf{A}$ 与 $\mathbb{R}^n$ 中任意向量 $\mathbf{u}$ 的乘积 $\mathbf{A}\mathbf{u}$。

假设 $\lambda_1$,$\lambda_2$,$\cdots$,$\lambda_n$ 为 $\mathbf{A}$ 的特征值,$\mathbf{x}_1$,$\mathbf{x}_2$,$\cdots$,$\mathbf{x}_n$ 为对应的特征向量。那么必定存在 $c_1, c_2, \cdots, c_n \in \mathbb{R}$,使得 $\mathbf{u} = c_1 \mathbf{x}_1 + c_2 \mathbf{x}_2 + \cdots + c_n \mathbf{x}_n $,于是:

\begin{align*} \mathbf{A}\mathbf{u} &= c_1 \mathbf{A} \mathbf{x}_1 + c_2 \mathbf{A} \mathbf{x}_2 + \cdots + c_n \mathbf{A} \mathbf{x}_n \\&= c_1 \lambda_1 \mathbf{x}_1 + c_2 \lambda_2 \mathbf{x}_2 + \cdots + c_n \lambda_n \mathbf{x}_n \\&= \begin{bmatrix} \mathbf{x}_1 & \mathbf{x}_2 & \cdots & \mathbf{x}_n \end{bmatrix} \begin{bmatrix} \lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n \end{bmatrix} \begin{bmatrix} c_1\\c_2\\ \vdots \\ c_n \end{bmatrix} \\&= \mathbf{S} \boldsymbol{\Lambda} \mathbf{c} \end{align*}

我们也可以通过公式二推导出这个公式,注意 $\mathbf{u} = c_1 \mathbf{x}_1 + c_2 \mathbf{x}_2 + \cdots + c_n \mathbf{x}_n = \mathbf{S} \mathbf{c} $,则:

$$ \mathbf{A}\mathbf{u} = \mathbf{S} \boldsymbol{\Lambda} \mathbf{S}^{-1} \mathbf{S} \mathbf{c} = \mathbf{S} \boldsymbol{\Lambda} \mathbf{c} $$

$$ \mathbf{u} = \mathbf{S} \mathbf{c} $$

$$ \mathbf{A}\mathbf{u} = \mathbf{S} \boldsymbol{\Lambda} \mathbf{c} $$

接着,假设 $\mathbf{x}$ 是 $\mathbf{A}$ 的特征向量,则有:

$$ \mathbf{A}^k\mathbf{x} = \mathbf{A}^{k-1} \lambda \mathbf{x} = \mathbf{A}^{k-2} \lambda^2 \mathbf{x} = \cdots = \lambda^k \mathbf{x} $$

$$ \mathbf{A}^k\mathbf{x} = \lambda^k \mathbf{x} $$

现在我们可以计算出 $\mathbf{A}^k\mathbf{u}$:

\begin{align*} \mathbf{A}^k\mathbf{u} &= c_1 \mathbf{A}^k \mathbf{x}_1 + c_2 \mathbf{A}^k \mathbf{x}_2 + \cdots + c_n \mathbf{A}^k \mathbf{x}_n \\&= c_1 \lambda_1^k \mathbf{x}_1 + c_2 \lambda_2^k \mathbf{x}_2 + \cdots + c_n \lambda_n^k \mathbf{x}_n \\&= \begin{bmatrix} \mathbf{x}_1 & \mathbf{x}_2 & \cdots & \mathbf{x}_n \end{bmatrix} \begin{bmatrix} \lambda_1^k & 0 & \cdots & 0 \\ 0 & \lambda_2^k & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n^k \end{bmatrix} \begin{bmatrix} c_1\\c_2\\ \vdots \\ c_n \end{bmatrix} \\&= \mathbf{S} \boldsymbol{\Lambda}^k \mathbf{c} \end{align*}

我们也可以通过公式三推导出这个公式,注意 $\mathbf{u} = c_1 \mathbf{x}_1 + c_2 \mathbf{x}_2 + \cdots + c_n \mathbf{x}_n = \mathbf{S} \mathbf{c} $,则:

$$ \mathbf{A}^k\mathbf{u} = \mathbf{S} \boldsymbol{\Lambda}^k \mathbf{S}^{-1} \mathbf{S} \mathbf{c} = \mathbf{S} \boldsymbol{\Lambda}^k \mathbf{c} $$

$$ \mathbf{A}^k\mathbf{u} = c_1 \lambda_1^k \mathbf{x}_1 + c_2 \lambda_2^k \mathbf{x}_2 + \cdots + c_n \lambda_n^k \mathbf{x}_n $$

$$ \mathbf{A}^k\mathbf{u} = \mathbf{S} \boldsymbol{\Lambda}^k \mathbf{c} $$

根据公式三,还可以得到下面的公式:

$$ \mathbf{A}^k\mathbf{u} = \mathbf{S} \boldsymbol{\Lambda}^k \mathbf{S}^{-1} \mathbf{u} $$

公式八也可以通过公式七,以及 $\mathbf{u} = \mathbf{S} \mathbf{c}$,即 $ \mathbf{c} = \mathbf{S}^{-1} \mathbf{u} $ 推导得出。

解差分方程组

有了以上知识,就可以解如下的差分方程组了(注意上式中的 $\mathbf{u}$ 为向量,因此是方程组而不是方程。):

$$ \mathbf{u}_{k+1} = \mathbf{A}\mathbf{u}_{k} $$

假设已知 $\mathbf{u}_0$,则:

$$ \mathbf{u}_{k+1} = \mathbf{A}\mathbf{u}_{k} = \mathbf{A}^2 \mathbf{u}_{k-1} = \cdots = \mathbf{A}^k \mathbf{u}_0 $$

利用公式六、七或八,我们就可以通过特征值矩阵和特征向量矩阵来解这个差分方程组了。我们将通过一个例子说明。

考察斐波那契数列的第 $k$ 项。
斐波那契数列从 $0$ 和 $1$ 开始,以后的每一项都是前两项的和:$$ 0,1,1,2,3,5,8,13,\cdots $$ 它的差分方程为:$ F_{k+2} = F_{k+1} + F_{k} $,这是一个二阶差分方程,为了表示为一阶差分方程组,我们这里用到一个小技巧。首先将方程转换为如下的方程组:$$ \left\{ \begin{array}{l} F_{k+2} = F_{k+1} + F_{k} \\ F_{k+1} = F_{k+1} \end{array} \right. $$ 令 $\mathbf{u}_k = \begin{bmatrix} F_{k+1} \\ F_{k} \end{bmatrix}$,上面的方程组就可以表示为 $$\mathbf{u}_{k+1} = \begin{bmatrix} 1&1 \\ 1&0 \end{bmatrix} \mathbf{u}_{k} $$ 这样就化成了用矩阵和向量表示的一阶差分方程组。记 $\begin{bmatrix} 1&1 \\ 1&0 \end{bmatrix}$ 为 $\mathbf{A}$,这里我们要求的是 $\mathbf{u}_{k} = \mathbf{A}^{k}\mathbf{u}_0$。我们已经知道 $\mathbf{u}_0 = \begin{bmatrix} 1 \\ 0 \end{bmatrix}$,为了求出 $\mathbf{A}^{100}$,首先我们需要求出它的特征值与特征向量。计算特征值:$$ \det (\mathbf{A} - \lambda\mathbf{I}) = \begin{vmatrix} 1-\lambda & 1 \\ 1 & -\lambda \end{vmatrix} = \lambda^2 - \lambda - 1 = 0 $$ 解得特征值 $\lambda_1 = \dfrac{1+\sqrt{5}}{2}$,$\lambda_2 = \dfrac{1-\sqrt{5}}{2}$。将 $\lambda_1$ 和 $\lambda_2$ 分别代入 $(\mathbf{A} - \lambda\mathbf{I})\mathbf{x} = \mathbf{0}$,解得特征向量 $\mathbf{x}_1 = \begin{bmatrix} \dfrac{1+\sqrt{5}}{2} \\ 1 \end{bmatrix} = \begin{bmatrix} \lambda_1 \\ 1 \end{bmatrix}$,$\mathbf{x}_2 = \begin{bmatrix} \dfrac{1-\sqrt{5}}{2} \\ 1 \end{bmatrix} = \begin{bmatrix} \lambda_2 \\ 1 \end{bmatrix}$。于是 $$\mathbf{S} = \begin{bmatrix} \lambda_1 & \lambda_2 \\ 1 & 1 \end{bmatrix} \quad\quad \boldsymbol{\Lambda} = \begin{bmatrix} \lambda_1 & 0 \\ 0 & \lambda_2 \end{bmatrix} $$ 我们接着求 $\mathbf{c}$:$$ \mathbf{c} = \mathbf{S}^{-1} \mathbf{u}_0 = \dfrac{1}{\lambda_1 - \lambda_2} \begin{bmatrix} 1&-\lambda_2 \\ -1 & \lambda_1 \end{bmatrix} \begin{bmatrix} 1 \\ 0 \end{bmatrix} = \dfrac{1}{\lambda_1 - \lambda_2} \begin{bmatrix} 1 \\ -1 \end{bmatrix} $$ 为了应用公式六,用特征向量的线性组合表示 $\mathbf{u}_0$:$$ \mathbf{u}_0 = \mathbf{S} \mathbf{c} = \begin{bmatrix} \mathbf{x}_1 & \mathbf{x}_2 \end{bmatrix} \dfrac{1}{\lambda_1 - \lambda_2} \begin{bmatrix} 1\\-1 \end{bmatrix} = \dfrac{\mathbf{x}_1 - \mathbf{x}_2}{\lambda_1 - \lambda_2} $$ 利用公式六,就可以计算出 $\mathbf{u}_{k}$ 了:$$ \mathbf{u}_{k} = \dfrac{\lambda_1^{k}\mathbf{x}_1 - \lambda_2^{k}\mathbf{x}_2}{\lambda_1 - \lambda_2} = \begin{bmatrix} \dfrac{\lambda_1^{k+1} - \lambda_2^{k+1}}{\lambda_1 - \lambda_2} \\ \dfrac{\lambda_1^{k} - \lambda_2^{k}}{\lambda_1 - \lambda_2} \end{bmatrix} = \begin{bmatrix} F_{k+1} \\ F_{k} \end{bmatrix} $$ 于是:$$F_{k} = \dfrac{\lambda_1^{k} - \lambda_2^{k}}{\lambda_1 - \lambda_2} $$ 由于 $\lambda_1 > 1$ 而 $\lambda_2 < 1$,因此当 $k \to +\infty$ 时,$\lambda_2^{k} \to 0$,即:$$ \lim\limits_{k \to +\infty} F_{k} = \dfrac{\lambda_1^k}{\lambda_1 -\lambda_2} $$ 而当 $k \to +\infty$ 时,$F_{k+1}$ 与 $F_{k}$ 的比值为:$$ \lim\limits_{k \to +\infty} \dfrac{F_{k+1}}{F_{k}} = \dfrac{\dfrac{\lambda_1^{k+1}}{\lambda_1 -\lambda_2}}{\dfrac{\lambda_1^k}{\lambda_1 -\lambda_2}} = \lambda_1 \approx 1.618 $$ 希腊人将这个数称为黄金分割Golden Mean)。

微分方程组

解微分方程组

本节讨论的是如何求解下面的微分方程组:

$$ \dfrac{\mathrm{d}\mathbf{u}}{\mathrm{d}t} = \mathbf{A} \mathbf{u} \tag{6} $$

其中 $\mathbf{u}$ 是一个 $n$ 维向量,它的元素是 $t$ 的函数,$\mathbf{A}$ 是 $n \times n$ 的常系数矩阵。

首先我们来看 $n=1$ 的情况,这是最简单的情况。当 $n=1$ 时,上面的微分方程组就退化为下面的微分方程:

$$ \dfrac{\mathrm{d}u}{\mathrm{d}t} = A u \tag{5} $$

此时 $A$ 和 $u$ 都是标量。它的解是什么呢?由于:

$$ \dfrac{\mathrm{d}(\mathrm{c} e^{A t})}{\mathrm{d}t} = \mathrm{c} A e^{A t} \quad (\mathrm{c} \in \mathbb{R}) $$

因此 $(5)$ 式的解为:$$ u(t) = \mathrm{c} e^{A t} \quad (\mathrm{c} \in \mathbb{R}) $$

当 $t = 0$ 时,有:

$$ \mathrm{c} = u(0) $$

因此:

$$ u(t) = e^{A t} u(0) $$

上面是高等数学中的内容,而本节的主要研究的是 $n > 1$ 时微分方程组 $(6)$ 的解。

举个例子可能会更清楚地说明我们面对的问题,比如 $\mathbf{u} = \begin{bmatrix} u_1 \\ u_2 \end{bmatrix} $,$\mathbf{A} = \begin{bmatrix} 1 & 1 \\ 3 & -1 \end{bmatrix}$,那么我们将要求解的是:

$$ \dfrac{\mathrm{d}\mathbf{u}}{\mathrm{d}t} = \mathbf{A}\mathbf{u} = \begin{bmatrix} 1 & 1 \\ 3 & -1 \end{bmatrix} \begin{bmatrix} u_1 \\ u_2 \end{bmatrix} $$

做个简单的整理:

$$ \left\{ \begin{array}{l} \dfrac{\mathrm{d}u_1}{\mathrm{d}t} = u_1 + u_2 \\ \dfrac{\mathrm{d}u_2}{\mathrm{d}t} = 3u_1 - u_2 \end{array} \right. \tag{7} $$

可以看到这个方程组中的每一个方程都是 $u_1$ 与 $u_2$ 杂糅在一块,利用常规方法无法解决。而如果是下面这种形式的微分方程:

$$ \left\{ \begin{array}{l} \dfrac{\mathrm{d}p_1}{\mathrm{d}t} = \lambda_1 p_1 \\ \dfrac{\mathrm{d}p_2}{\mathrm{d}t} = \lambda_2 p_2 \end{array} \right. \tag{8} $$

我们可以很轻易地解开它!那么有没有一种方法可以将 $(7)$ 转化为 $(8)$ 呢?这是我们要讨论的问题。

上面的式子可以写为:

$$ \dfrac{\mathrm{d}\mathbf{p}}{\mathrm{d}t} = \boldsymbol{\Lambda} \mathbf{p} $$

其中 $\boldsymbol{\Lambda}$ 是以 $\lambda_i$ 为元素的对角矩阵。

想到了对角矩阵,就想到了什么呢?请回答:

  三明治     对角化    

答案是对角化。下面我们就应用对角化的知识对 $(6)$ 式进行一些整理。我们做两件事情:

  1. 利用 公式二 对 $\mathbf{A}$ 进行对角化,即将 $\mathbf{A} = \mathbf{S}\boldsymbol{\Lambda}\mathbf{S}^{-1}$
  2. 利用 公式3.5 将 $\mathbf{u}(t)$ 转换为 $\mathbf{A}$ 的特征向量的线性组合,即 $ \mathbf{u}(t) = \mathbf{S}\mathbf{p}$,这里 $\mathbf{S}$ 为特征向量矩阵,$\mathbf{p}$ 为线性组合的系数组成的向量。

于是 $(6)$ 式变为:

$$ \dfrac{\mathrm{d}\mathbf{S}\mathbf{p}}{\mathrm{d}t} = \mathbf{S}\boldsymbol{\Lambda}\mathbf{S}^{-1} \mathbf{S}\mathbf{p} $$

注意到 $\mathbf{S}$ 与 $\boldsymbol{\Lambda}$ 都是常数(因为 $\mathbf{A}$ 是常系数矩阵),上式只有 $\mathbf{p}$ 是变量($\mathbf{p}$ 随 $t$ 的变化而变化)。将常量提到微分外面,等式两边同时左乘 $\mathbf{S}^{-1}$:

$$ \mathbf{S}^{-1} \mathbf{S} \dfrac{\mathrm{d}\mathbf{p}}{\mathrm{d}t} = \mathbf{S}^{-1} \mathbf{S}\boldsymbol{\Lambda}\mathbf{S}^{-1} \mathbf{S}\mathbf{p} $$

整理:

$$ \cancel{\mathbf{S}^{-1} \mathbf{S}} \dfrac{\mathrm{d}\mathbf{p}}{\mathrm{d}t} = \cancel{\mathbf{S}^{-1} \mathbf{S}} \boldsymbol{\Lambda} \cancel{\mathbf{S}^{-1} \mathbf{S}} \mathbf{p} $$

得:

$$ \dfrac{\mathrm{d}\mathbf{p}}{\mathrm{d}t} = \boldsymbol{\Lambda} \mathbf{p} $$

终于我们将 $(6)$ 式化成了可解的微分方程!将上式展开:

$$ \left\{ \begin{array}{c} \dfrac{\mathrm{d}p_1}{\mathrm{d}t} = \lambda_1 p_1 \\ \dfrac{\mathrm{d}p_2}{\mathrm{d}t} = \lambda_2 p_2 \\ \vdots \\ \dfrac{\mathrm{d}p_n}{\mathrm{d}t} = \lambda_n p_n \end{array} \right. $$

于是:

$$ \left\{ \begin{array}{c} p_1 = c_1 e^{\lambda_1 t} \\ p_2 = c_2 e^{\lambda_2 t} \\ \vdots \\ p_n = c_n e^{\lambda_n t} \end{array} \right. (c_1, c_2, \cdots, c_n \in \mathbb{R}) $$

于是:

\begin{align*} \mathbf{u}(t) &= \mathbf{S}\mathbf{p} \\ &= p_1 \mathbf{x}_1 + p_2 \mathbf{x}_2 + \cdots + p_n \mathbf{x}_n \\ &= c_1 e^{\lambda_1 t} \mathbf{x}_1 + c_2 e^{\lambda_2 t} \mathbf{x}_2 + \cdots + c_n e^{\lambda_n t} \mathbf{x}_n \end{align*}

我们得到了 $\mathbf{u}(t)$ !

记:

$$e^{\boldsymbol{\Lambda}t} = \begin{bmatrix} e^{\lambda_1 t} & 0 & \cdots & 0 \\ 0 & e^{\lambda_2 t} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & e^{\lambda_n t} \end{bmatrix} $$

那么上面的式子可以表示为:

$$ \mathbf{u}(t) = c_1 e^{\lambda_1 t} \mathbf{x}_1 + c_2 e^{\lambda_2 t} \mathbf{x}_2 + \cdots + c_n e^{\lambda_n t} \mathbf{x}_n = \mathbf{S} e^{\boldsymbol{\Lambda}t} \mathbf{c} $$

为了求解 $\mathbf{c}$,令 $t=0$:

$$ \mathbf{u}(0) = \mathbf{S} \mathbf{c} $$

上式两边左乘 $\mathbf{S}^{-1}$,有:

$$ \mathbf{c} = \mathbf{S}^{-1} \mathbf{u}(0) $$

于是:

$$ \mathbf{u}(t) = \mathbf{S} e^{\boldsymbol{\Lambda}t} \mathbf{c} = \mathbf{S} e^{\boldsymbol{\Lambda}t} \mathbf{S}^{-1} \mathbf{u}(0) $$

再给出一个等式:

$$ \mathbf{S} e^{\boldsymbol{\Lambda}t} \mathbf{S}^{-1} = e^{\mathbf{A}t} $$

如果你不知道这个神奇的等式是什么意思,别着急,我们马上就会讲到它。

于是:

$$ \mathbf{u}(t) = e^{\mathbf{A}t} \mathbf{u}(0) $$

我们惊奇地发现,这个结果与标量($n=1$)的情况是一样的!

到这里我们就求得了微分方程组 $(6)$ 的解。

结论 假设 $\mathbf{u}$ 是一个 $n$ 维向量,其元素为 $t$ 的函数,$\mathbf{A}$ 为 $n \times n$ 的方阵,则微分方程:$$ \dfrac{\mathrm{d}\mathbf{u}}{\mathrm{d}t} = \mathbf{A} \mathbf{u} $$ 的解为:\begin{align*} \mathbf{u} &= c_1 e^{\lambda_1 t} \mathbf{x}_1 + c_2 e^{\lambda_2 t} \mathbf{x}_2 + \cdots + c_n e^{\lambda_n t} \mathbf{x}_n \\ &= \mathbf{S} e^{\boldsymbol{\Lambda}t} \mathbf{c} = \mathbf{S} e^{\boldsymbol{\Lambda}t} \mathbf{S}^{-1} \mathbf{u}(0) = e^{\mathbf{A}t} \mathbf{u}(0) \tag{12} \end{align*} 其中 $\lambda_1, \lambda_2, \cdots, \lambda_n$ 为 $\mathbf{A}$ 的特征值,$\mathbf{x}_1, \mathbf{x}_2, \cdots, \mathbf{x}_n$ 为 $\mathbf{A}$ 的特征向量,$\boldsymbol{\Lambda}$ 为 $\mathbf{A}$ 的特征值矩阵,$\mathbf{S}$ 为 $\mathbf{A}$ 的特征向量矩阵,$c_1, c_2, \cdots, c_n \in \mathbb{R}$。

已知 $\mathbf{u}(0) = \begin{bmatrix} 1 \\ 5 \end{bmatrix}$,解微分方程组 $ \dfrac{\mathrm{d}\mathbf{u}}{\mathrm{d}t} = \mathbf{A}\mathbf{u} = \begin{bmatrix} 1 & 1 \\ 3 & -1 \end{bmatrix} \mathbf{u} $
首先计算出 $\mathbf{A}$ 的特征值与特征向量:$$ \begin{vmatrix} 1-\lambda & 1 \\ 3 & -1-\lambda \end{vmatrix} = \lambda^2 - 4 = 0 $$ 解得特征值 $\lambda_1 = 2$,$\lambda_2 = -2$,代入 $(\mathbf{A} - \lambda \mathbf{I}) \mathbf{x} = \mathbf{0}$,得到对应的特征向量 $\mathbf{x}_1 = \begin{bmatrix} 1\\1 \end{bmatrix}$,$\mathbf{x}_2 = \begin{bmatrix} -1 \\ 3 \end{bmatrix}$。将特征值与特征向量代入 $(12)$ 式,得 $$\mathbf{u} = c_1 e^{2t} \mathbf{x}_1 + c_2 e^{-2t} \mathbf{x}_2 = \begin{bmatrix} c_1 e^{2t} - c_2 e^{-2t} \\ c_1 e^{2t} + 3 c_2 e^{-2t} \end{bmatrix} $$ 因为当 $t=0$ 时有 $\mathbf{u}(0) = \begin{bmatrix} 1 \\ 5 \end{bmatrix}$,代入上式,得:$$ \begin{bmatrix} c_1 - c_2 \\ c_1 + 3 c_2 \end{bmatrix} = \begin{bmatrix} 1 \\ 5 \end{bmatrix} $$ 解得 $c_1 = 2$,$c_2 = 1$,因此 $\mathbf{u} = 2 e^{2t} \mathbf{x}_1 + e^{-2t} \mathbf{x}_2$。

关于微分方程组解法的内容到这里就结束了。下面我们讨论的是 $(12)$ 式的稳定性。

稳定性

为了方便讨论和阅读,我们将 $(12)$ 式再次列出:

$$ \mathbf{u} = c_1 e^{\lambda_1 t} \mathbf{x}_1 + c_2 e^{\lambda_2 t} \mathbf{x}_2 + \cdots + c_n e^{\lambda_n t} \mathbf{x}_n \tag{12} $$

下面分几种情况进行讨论。

  1. 如果所有的特征值都为实数,并且它们都小于 $0$,那么有 $\lim\limits_{t \to +\infty} \mathbf{u} = \mathbf{0}$。此时我们说 $\mathbf{u}$ 是稳定的,而 $\mathbf{0}$ 就是 $\mathbf{u}$ 的稳态。
  2. 如果所有的特征值都为实数,并且其中一个特征值 $\lambda_i$ 为 $0$,其余都特征值都小于 $0$,这时有 $\lim\limits_{t \to +\infty} \mathbf{u} = c_i \mathbf{x}_i$。此时 $\mathbf{u}$ 仍是稳定的,$c_i \mathbf{x}_i$ 就是 $\mathbf{u}$ 的稳态。
  3. 如果所有的特征值都为实数,并且至少存在一个大于 $0$ 的特征值,这时有 $\lim\limits_{t \to +\infty} \mathbf{u} = \boldsymbol{\infty}$。此时称 $\mathbf{u}$ 是不稳定的。
  4. 如果特征值中含有复数时会怎样呢?假设特征值 $\lambda = r + si$,此时 $e^{\lambda} = e^{(r+si)t} = e^{rt}e^{sti}$,根据欧拉方程有:$e^{sti} = \cos{st} + i\sin{st}$,进而 $\left| e^{sti} \right|^2 = \cos^2 st + \sin^2 st = 1$,即 $\left| e^{sti} \right| = 1$,于是 $\left| e^{(r+si)t} \right| = \left| e^{rt}e^{sti} \right| = \left| e^{rt} \right| = e^{rt} $,因此决定稳定性的只有特征值的实部。综上,特征值中含有复数时,取其实部,然后用 1,2 和 3 来判断稳定性。

当 $n=2$ 时,我们很容易可以看出 $\mathbf{u}$ 的稳定性。根据性质,有 $\lambda_1 + \lambda_2 = \text{tr} \mathbf{A}$, $ \lambda_1 \lambda_2 = \det \mathbf{A}$,假设 $\lambda_1$ 和 $\lambda_2$ 都是实数,为了使 $\mathbf{u}$ 存在稳态,必有 $\lambda_1 \leqslant 0$ 且 $\lambda_2 \leqslant 0$,此时 $\mathrm{tr} \mathbf{A} = \lambda_1 + \lambda_2 \lt 0 $,$ \det \mathbf{A} = \lambda_1\lambda_2 \geqslant 0$。假设 $\lambda_1$ 和 $\lambda_2$ 都是复数,则 $\lambda_1$ 与 $\lambda_2$ 必为 $\lambda_1 = r+si$,$\lambda_2= r-si$ 的形式,否则无法保证 $\lambda_1+\lambda_2=\mathrm{tr}\mathbf{A}$ 以及 $\lambda_1\lambda_2=\det\mathbf{A}$ 同时为实数,为了使 $\mathbf{u}$ 存在稳态,必有 $\mathrm{Re} \lambda_1 \leqslant 0$ 且 $\mathrm{Re} \lambda_2 \leqslant 0$($\mathrm{Re}$ 表示取实部),此时 $\mathrm{tr} \mathbf{A} = \lambda_1 + \lambda_2 = 2r \leqslant 0$,$ \det \mathbf{A} = \lambda_1\lambda_2 = r^2 + s^2 \geqslant 0$。$\lambda_1$ 与 $\lambda_2$ 不能一个是实数,一个是复数,因为无法满足 $\lambda_1 + \lambda_2 = \mathrm{tr} \mathbf{A}$ 为实数。综上,当 $n=2$ 时,如果 $\mathrm{tr} \mathbf{A} \lt 0$ 并且 $\det \mathbf{A} \geqslant 0$,则 $\mathbf{u}$ 稳定。

矩阵指数

在上面我们给出了 $e^{\boldsymbol{\Lambda}t}$ 的形式:

$$e^{\boldsymbol{\Lambda}t} = \begin{bmatrix} e^{\lambda_1 t} & 0 & \cdots & 0 \\ 0 & e^{\lambda_2 t} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & e^{\lambda_n t} \end{bmatrix} $$

实际上它还有另外的表示形式。还记得指数函数是怎么用泰勒级数表示的吗?

$$ e^x = \sum\limits_{n=0}^\infty \dfrac{x^n}{n!} $$

同样地,我们也可以用泰勒级数表示 $e^{\boldsymbol{\Lambda}t}$:

$$ e^{\boldsymbol{\Lambda}t} = \sum\limits_{n=0}^\infty \dfrac{(\boldsymbol{\Lambda}t)^n}{n!} = \sum\limits_{n=0}^\infty \dfrac{\boldsymbol{\Lambda}^n t^n}{n!} $$

根据公式 1.1:

$$ e^{\boldsymbol{\Lambda}t} = \sum\limits_{n=0}^\infty \dfrac{\mathbf{S}^{-1} \mathbf{A}^n \mathbf{S} t^n }{n!} = \mathbf{S}^{-1} \left( \sum\limits_{n=0}^\infty \dfrac{(\mathbf{A} t)^n}{n!} \right) \mathbf{S} = \mathbf{S}^{-1} e^{\mathbf{A}t} \mathbf{S} $$

于是我们有如下公式:

$$\large{ e^{\boldsymbol{\Lambda}t} = \mathbf{S}^{-1} e^{\mathbf{A}t} \mathbf{S} }$$

将上面这个公式左乘 $\mathbf{S}$ 再右乘 $\mathbf{S}^{-1}$,得:

$$\large{ e^{\mathbf{A}t} = \mathbf{S}^{-1} e^{\boldsymbol{\Lambda}t} \mathbf{S} }$$

高阶微分方程

如何解如下的微分方程呢?

$$ y’’ + a y’ + b y = 0 $$

我们通过一个例子来说明。

解如下的微分方程:
$$ y’’ + 3 y’ + 2y = 0 $$ 我们仍然可以使用斐波那契中用过的小技巧:
$$ \left\{ \begin{array}{l} y’’ = - 3 y’ -2 y \\ y’ = y’ \end{array} \right. $$令 $\mathbf{u} = \begin{bmatrix} y’ \\ y \end{bmatrix}$,则:
$$ \dfrac{\mathrm{d}\mathbf{u}}{\mathrm{d}x} = \begin{bmatrix} -3 & -2 \\ 1 & 0 \end{bmatrix} \mathbf{u} = \mathbf{A} \mathbf{u} $$ 这就又回到了一阶微分方程组的情况。
首先计算特征值与特征向量:$$\lambda_1 = -1 \quad \lambda_2 = -2 \quad \mathbf{p}_1 = \begin{bmatrix} 1 \\ -1 \end{bmatrix} \quad \mathbf{p}_2 = \begin{bmatrix} 2 \\ -1 \end{bmatrix}$$ 于是:
$$ \mathbf{u} = c_1 e^{-x} \begin{bmatrix} 1 \\ -1 \end{bmatrix} + c_2 e^{-2x} \begin{bmatrix} 2 \\ -1 \end{bmatrix} $$ 而 $y$ 就是 $\mathbf{u}$ 的第二个分量:$ y = -c_1 e^{-x} - c_2 e^{-2x} $

同样的道理,我们可以利用上例的小技巧解出 $n$ 阶微分方程:

$$ y^{(n)} + a_1 y^{(n-1)} + \cdots + a_{n-1} y’ + a_n y = 0 $$

这时 $\mathbf{u}$ 是一个 $n$ 维向量,$\mathbf{A}$ 就是一个 $n$ 阶矩阵,微分方程组如下:

$$ \dfrac{\mathrm{d}\mathbf{u}}{\mathrm{d}x} = \mathbf{A} \mathbf{u} = \begin{bmatrix} -a_1 & -a_2 & \cdots & -a_n \\ 1 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 1 \end{bmatrix} \begin{bmatrix} y^{(n-1)} \\ y^{(n-2)} \\ \vdots \\ y’ \\ y \end{bmatrix} $$

解法就不再赘述了。

马尔科夫矩阵

本节介绍马尔科夫矩阵Markov Matrix)。在介绍之前,我们先看一个定理。

盖尔圆盘定理

盖尔圆盘定理Gershgorin circle theorem)可以用来计算特征值的取值范围。

(盖尔圆盘定理)

盖尔圆盘:假设 $\mathbf{A}$ 为 $n$ 阶复方阵,它的元素为 $a_{ij} \in \mathbb{C}$。记 $R_{i}$ 为 $\mathbf{A}$ 的第 $i$ 行中非对角线上元素的绝对值之和,即 $R_{i} = \sum\limits_{j \ne i} \left| a_{ij} \right|$ ($i \in \{ 1,2,\cdots,n \}$)。记 $D(a_{ii}, R_i) \in \mathbb{C}$ 为以 $a_{ii}$ 为圆心,以 $R_i$ 为半径的封闭圆盘。这个圆盘 $D(a_{ii}, R_i)$ 就叫做盖尔圆盘Gershgorin Disc)。

盖尔圆盘定理:$\mathbf{A}$ 的任一特征值 $\lambda$ 必定属于 $\mathbf{A}$ 的盖尔圆盘集合 $D = \bigcup\limits_i D (a_{ii}, R_i)$ ,即 $\lambda \in D \ (D = \bigcup\limits_i D (a_{ii}, R_i))$ 。(证明

证明 假设 $\lambda$ 为 $\mathbf{A}$ 的一个特征值,$(\mathbf{A} - \lambda \mathbf{I})$ 的零空间为 $ N = C\mathbf{x}$($C \in \mathbb{R}$),我们总能在 $N$ 中取得一个特征向量 $\mathbf{x} = \mathbf{x}_j$ ,使得它的某一个分量 $x_i$ 为 $1$,而其他分量的绝对值都小于或等于 $1$,即 $ x_i = 1$ 并且 $ \left| x_j \right| \leqslant 1 \ (j \ne i) $,实际上只要在 $N$ 中任取一非零向量,并除以模最大的元素就可以得到这样一个特征向量 $\mathbf{x}$。由于 $\mathbf{A}\mathbf{x}=\lambda\mathbf{x}$,我们仅关注 $\mathbf{A}$ 的第 $i$ 行与 $\mathbf{x}$ 的乘积(注意 $x_i=1$):$$ \sum\limits_j a_{ij} x_j = \lambda x_i = \lambda $$ 将上式的加和展开(仍注意 $x_i=1$):$$ \sum\limits_{j\ne i} a_{ij} x_j + a_{ii} x_i = \sum\limits_{j\ne i} a_{ij} x_j + a_{ii} = \lambda $$ 应用三角不等式(注意 $\left| x_j \right| \leqslant 1$):$$ \left| \lambda - a_{ii} \right| = \left| \sum\limits_{j \ne i} a_{ij} x_j \right| \leqslant \sum\limits_{j \ne i} \left| a_ij \right| \left| x_j \right| \leqslant \sum\limits_{j\ne i} \left| a_{ij} \right| = R_{i} $$ 证毕。

推论 $\mathbf{A}$ 的任一特征值 $\lambda$ 必定属于由 $\mathbf{A}$ 的列组成的盖尔圆盘集合中。(证明

证明 将盖尔定理的证明应用于 $\mathbf{A}^T$ 即可。

马尔科夫矩阵

若 $n$ 阶实方阵 $\mathbf{A}$ 满足:

1. 所有元素 $a_{ij} \geqslant 0$
2. 每个列向量的分量之和等于 $1$

则称 $\mathbf{A}$ 为马尔科夫矩阵。

$ \mathbf{A} = \begin{bmatrix} 0.1 & 0.2 & 0.3 \\ 0.4 & 0.8 & 0.3 \\ 0.5 & 0 & 0.4 \end{bmatrix} $ 是马尔科夫矩阵。

马尔科夫矩阵的性质

马尔科夫矩阵有如下性质:

1. 必存在特征值 $\lambda=1$。(证明
证明 由于 $\mathbf{A}$ 的每个列向量的分量之和等于 $1$,有:$$ \begin{bmatrix} 1 & 1 & \cdots & 1 \end{bmatrix} \mathbf{A} = \begin{bmatrix} 1 & 1 & \cdots & 1 \end{bmatrix} $$ 两边转置,有:$$ \mathbf{A}^T \begin{bmatrix} 1 \\ 1 \\ \vdots \\ 1 \end{bmatrix} = \begin{bmatrix} 1 \\ 1 \\ \vdots \\ 1 \end{bmatrix} $$ 因此 $\mathbf{A}^T$ 有特征值 $1$,其对应的特正向量为 $\begin{bmatrix} 1 \\ 1 \\ \vdots \\ 1 \end{bmatrix}$。由于 $\mathbf{A}$ 与 $\mathbf{A}^T$ 有同样的特征值,因此 $1$ 也是 $\mathbf{A}$ 的特征值。证毕。
2. 其余特征值的绝对值小于等于 $1$,即 $ \left| \lambda \right| \leqslant 1 $。(证明
证明 应用盖尔圆盘定理的推论,因为 $\mathbf{A}$ 的每个列向量的分量之和等于 $1$,因此盖尔圆盘的半径 $R = 1 - a_{ii} \leqslant 1$,立即得 $\lambda \leqslant 1$。证毕。

稳态

若 $\mathbf{A}$ 是马尔科夫矩阵,假设:① $\lambda_i = 1$ 并且 $\lambda_j \le 1 (j \ne i)$,② $\mathbf{u}_0$ 为已知。现在考虑 $\mathbf{u}_k = \mathbf{A} \mathbf{u}_{k-1}$ 在 $k \to +\infty$ 时的极限。由于已知 $\mathbf{u}_0$,将 $\mathbf{u}_k$ 表示为 $\mathbf{u}_0$ 的表达式:

$$ \mathbf{u}_k = \mathbf{A} \mathbf{u}_{k-1} = \mathbf{A}^2 \mathbf{u}_{k-2} = \cdots = \mathbf{A}^k \mathbf{u}_0 $$

根据公式六:

\begin{align*} \lim\limits_{k \to +\infty} \mathbf{u}_k &= \lim\limits_{k \to +\infty} \mathbf{A}^k\mathbf{u}_0 \\ &= \lim\limits_{k \to +\infty} (c_1 \lambda_1^k \mathbf{x}_1 + c_2 \lambda_2^k \mathbf{x}_2 + \cdots + c_n \lambda_n^k \mathbf{x}_n) \\ &= \mathbf{0} + \cdots + \mathbf{0} + c_i \mathbf{x}_i + \mathbf{0} + \cdots + \mathbf{0} \\ &= c_i \mathbf{x}_i \end{align*}

上式中的 $c_i \mathbf{x}_i$ 即为 $\mathbf{u}^k$ 的稳态。

Python 编程语言起源于 1991 年,假设:① 当时其他编程语言的使用者人数为 $0.3 \times 10^7$,② 每年有 $10\%$ 的其他程序员转向 python, 而有 $5\%$ 的 python 程序员转向其他语言,③ 使用编程语言的总人数不变。请计算在 $1$ 年后,$5$ 年后,$10$ 年后,以及很久很久以后,会有多少人使用 python 和其他语言?

假设第 $k$ 年其他语言的使用人数为 $u_{k,1}$,python 语言的使用人数为 $u_{k,2}$,根据题意,有:$$\left\{ \begin{array}{l} u_{k+1,1} = 0.9 u_{k,1} + 0.05 u_{k,2} \\ u_{k+1,2} = 0.1 u_{k,1} + 0.95 u_{k,2} \end{array} \right.$$ 令 $\mathbf{u}_k = \begin{bmatrix} u_{k,1} \\ u_{k,2} \end{bmatrix}$,$\mathbf{A} = \begin{bmatrix} 0.9 & 0.05 \\ 0.1 & 0.95 \end{bmatrix}$,则上式可以表示为:
$$ \mathbf{u}_{k+1} = \mathbf{A} \mathbf{u}_k = \begin{bmatrix} 0.9 & 0.05 \\ 0.1 & 0.95 \end{bmatrix} \mathbf{u}_k $$ 显然 $\mathbf{A}$ 是一个马尔科夫矩阵。$\mathbf{A}$ 的特征值为:$\lambda_1 = 1$,$\lambda_2 = 0.85$,特征向量为:$\mathbf{x}_1 = \begin{bmatrix} 1 \\ 2 \end{bmatrix}$,$\mathbf{x}_2 = \begin{bmatrix} 1 \\ -1 \end{bmatrix}$。
由于已知 $\mathbf{u}_0 = \begin{bmatrix} 0.3 \times 10^7 \\ 0 \end{bmatrix}$,将 $\mathbf{u}_k$ 化为 $\mathbf{u}_0$ 的表达式:$$ \mathbf{u}_k = \mathbf{A} \mathbf{u}_{k-1} = \mathbf{A}^2 \mathbf{u}_{k-2} = \cdots = \mathbf{A}^k \mathbf{u}_0 $$根据公式六,并将 $\mathbf{A}$ 的特征值与特征向量代入:$$\mathbf{u}_k = c_1 \lambda_1^k \mathbf{x}_1 + c_2 \lambda_2^k \mathbf{x}_2 = c_1 \begin{bmatrix} 1 \\ 2 \end{bmatrix} + c_2 0.85^k \begin{bmatrix} 1 \\ -1 \end{bmatrix} $$于是:$$\mathbf{u}_0 = \begin{bmatrix} c_1 + c_2 \\ 2c_1 - c_2 \end{bmatrix} = \begin{bmatrix} 0.3 \times 10^7 \\ 0 \end{bmatrix}$$解 $c_1$ 与 $c_2$ 得:$c_1 = 0.1 \times 10^7$,$c_2 = 0.2 \times 10^7$
于是:$$ \mathbf{u}_k = 0.1 \times 10^7 \times \begin{bmatrix} 1 \\ 2 \end{bmatrix} + 0.2 \times 10^7 \times 0.85^k \times \begin{bmatrix} 1 \\ -1 \end{bmatrix} $$ $1$ 年后:$\mathbf{u}_1 = 0.1 \times 10^7 \times \begin{bmatrix} 1 \\ 2 \end{bmatrix} + 0.2 \times 10^7 \times 0.85^1 \times \begin{bmatrix} 1 \\ -1 \end{bmatrix} = \begin{bmatrix} 0.27 \times 10^7 \\ 0.03 \times 10^7 \end{bmatrix}$
$5$ 年后:$\mathbf{u}_5 = 0.1 \times 10^7 \times \begin{bmatrix} 1 \\ 2 \end{bmatrix} + 0.2 \times 10^7 \times 0.85^5 \times \begin{bmatrix} 1 \\ -1 \end{bmatrix} \approx \begin{bmatrix} 0.19 \times 10^7 \\ 0.11 \times 10^7 \end{bmatrix}$
$10$ 年后:$\mathbf{u}_{10} = 0.1 \times 10^7 \times \begin{bmatrix} 1 \\ 2 \end{bmatrix} + 0.2 \times 10^7 \times 0.85^{10} \times \begin{bmatrix} 1 \\ -1 \end
{bmatrix} \approx \begin{bmatrix} 0.14 \times 10^7 \\ 0.16 \times 10^7 \end{bmatrix}$
很久很久以后:$\lim\limits_{k \to +\infty} \mathbf{u}_k = 0.1 \times 10^7 \times \begin{bmatrix} 1 \\ 2 \end{bmatrix} = \begin{bmatrix} 0.1 \times 10^7 \\ 0.2 \times 10^7 \end{bmatrix}$

版权声明:本文为原创文章,转载请注明出处。http://cynhard.com/2018/10/15/LA-Eigenvalues-and-Eigenvectors/

推荐文章