相似矩阵与特征值分解 · 线性代数 02

Hailiang Zhao | 2022/01/14

Categories: math Tags: algebra similar-matrices eigenvalue eigen-decomposition


向量之间的运算不仅有相加和数乘,还有点积和叉乘。本文将首先介绍这两种运算的几何直观。随后,本文将深入分析相似矩阵、对称矩阵以及特征值分解。

1 向量的点积与投影

向量 $a, b \in \mathbb{R}^n$ 的点积被定义为:

$$ a \cdot b = a^\textrm{T} b = \sum_{i=1}^n a_i b_i = |a| \cdot |b| \cdot \cos \big(\langle a, b \rangle \big) $$

从多维空间到一维空间的线性变换需要一个 $1 \times n$ 的矩阵来实现。对于一个处于 $n$ 维线性空间的向量 $b$,当经过线性变换 $A \in \mathbb{R}^{1 \times n}$ 时,得到的就是其在新空间(一维空间,即数轴)上的坐标。这其实就是 投影——将 $n$ 维向量 $b$ 投影到数轴上的任意向量上。因为 $Ab = \sum_{i} A_{1i} b_i$,而这就是向量点积的定义,所以我们就将投影和向量点积建立起了关联——

  1. $a \cdot b$ 其实是 $a$$b$ 上的投影的长度、$b$ 的长度与符号的乘积;
  2. $a$$b$ 上的投影和 $b$ 方向相同时,乘积为正,否则为负;
  3. $a \cdot b = b \cdot a$,即谁向谁投影是无所谓的。

从对偶性的角度来理解:

  1. 一个向量的对偶是由它所定义的线性变换;
  2. 一个多维空间到一维空间的对偶是多维空间中的某个特定向量。

2 向量的叉乘与其几何直观

向量叉乘的定义:对于三维空间中的向量 $v$$w$$v \times w$ 仍然是一个三维向量,不妨记为 $p$$p$ 的长度为 $v$$w$ 所组成的平行四边形的面积,$p$ 的方向由右手定则确定($v$ 对应食指,$w$ 对应中指,$p$ 对应拇指)。计算公式为

$$ p = \left[ \begin{matrix} v_1 \\ v_2 \\ v_3 \end{matrix} \right] \times \left[ \begin{matrix} w_1 \\ w_2 \\ w_3 \end{matrix} \right] = \operatorname{det} \Bigg( \left[ \begin{matrix} i & v_1 & w_1 \\ j & v_2 & w_2 \\ k & v_3 & w_3 \end{matrix} \right] \Bigg) \stackrel{\textrm{代数余子式}}{\Longrightarrow} \left| \begin{matrix} v_2 & w_2 \\ v_3 & w_3 \end{matrix} \right| i - \left| \begin{matrix} v_1 & w_1 \\ v_3 & w_3 \end{matrix} \right| j + \left| \begin{matrix} v_1 & w_1 \\ v_2 & w_2 \end{matrix} \right| k $$

其中 $i,j,k$ 为三维空间的基向量。

如何从线性变换的角度理解叉积? 对于给定的三维空间中的向量 $v$$w$,不妨定义函数 $f: \mathbb{R}^3 \to \mathbb{R}$

$$ f \Bigg( \left[ \begin{matrix} x \\ y \\ z \end{matrix} \right] \Bigg) = \operatorname{det} \Bigg( \left[ \begin{matrix} x & v_1 & w_1 \\ y & v_2 & w_2 \\ z & v_3 & w_3 \end{matrix} \right] \Bigg) $$ 该函数的几何意义是:输出是输入和 $v,w$ 组成的平行六面体的有向体积。

理解一:根据行列式的性质(代数余子式的计算规则)可知,这是一个线性变换(证明 “可加性” 和“成比例”)。因此,必然存在一个 $1 \times 3$ 的矩阵 $P$ 代表这个变换,根据先前提及的对偶性,可将 “$P$ 代表的变换对 $[x,y,z]^\textrm{T}$ 的作用” 理解为“向量 $p=P^\textrm{T}$$[x,y,z]^\textrm{T}$ 的点积”。代替上式的右边可得到

$$ \begin{array}{l} p_1 = v_2 w_3 - v_3 w_2 \\ p_2 = v_3 w_1 - v_1 w_3 \\ p_3 = v_1 w_2 - v_2 w_1 \end{array} $$

所以 $p = (v_2 w_3 - v_3 w_2) i + (v_3 w_1 - v_1 w_3) j + (v_1 w_2 - v_2 w_1) k$

理解二:如何计算 $[x,y,z]^\textrm{T},v,w$ 组成的平行六面体的有向体积?小学数学告诉我们 “底面积乘高”——不妨以 $v,w$ 组成的平面为底,其面积为 $v,w$ 组成的平行四边形的面积,而高垂直于该底面,且长度为 $[x,y,z]^\textrm{T}$ 在该高上的投影。 因此,函数 $f$ 的几何意义应当详细描述为:对于任意给定的三维向量 $[x,y,z]^\textrm{T}$,将其投影到与 $v,w$ 组成的平面垂直的直线上,并且将投影长度与 $v,w$ 组成的平行四边形的面积相乘。

但是,这和垂直于 $v,w$ 组成的平面、且长度为与 $v,w$ 组成的平行四边形的面积的向量与 $[x,y,z]^\textrm{T}$ 点乘是一回事(即 理解一理解二 殊途同归)!将 $[i,j,k]$ 带入 $[x,y,z]^\textrm{T}$ 可发现 理解一 中求得的 $p$ 和通过叉乘定义得到的 $p$ 是一回事,这就表明通过叉乘得到的 $p$ 具备 理解二 中的几何意义。

上述内容阐述了叉乘的计算过程与其几何直观是如何关联的。

3 相似矩阵

相似性只定义在方阵上。线性变换是通过指定基下的矩阵来表达的,相似矩阵则是站在不同角度(另一组基)观察同一个线性变换。客观存在的一个点,不因为我们的观测角度发生了变化而变化,但是会有不同的坐标值。

对于 $P^{-1} APx$,不妨设当前的线性空间代表了甲的视角,$x$ 是当前空间坐标体系下的一个点,$P$ 这个线性变换代表了乙的视角,则 $Px$ 首先将 $x$ 放到乙的视角下(即在乙的坐标体系下表示),然后在乙上对该点执行某个变换,最后再通过 $P^{-1}$ 回到我们的视角下。如果存在一个 $B=P^{-1} AP$,则 $Bx$ 就是直接在我们的视角下对该点执行同一个变换。不管怎样,作用在该点上的变换是一样的。

为什么我们关心相似矩阵?相似矩阵的本质是坐标变换(切换观测角度),所以我们可以借助相似性将一个矩阵切换到更简单的表达方式上来理解。怎样的表达算简单呢?对角阵!这就是对角化。在这种思路的引导下,诞生了特征值分解。

只要两个矩阵相似,它们的行列式就相同。这一点用 $|B|=|P^{-1} |\cdot|A|\cdot|P|$ 很容易得到。行列式是相似矩阵之间的相似不变量。如果和对角阵相似(即可对角化、可执行特征值分解),那么 $A$ 的行列式就十分容易计算,就是所有特征值的积。 这是因为 对角阵就是单纯地把各个维度拉伸指定数值的变换,缩放的比例因子显然等于各维度拉伸之积。因为对角阵不涉及旋转变换,因此实际上每个旧基向量都没有改变方向,仅仅是长度有所缩放,这符合特征向量的定义,所以对角阵的非零元素就是该矩阵的有所特征值。

因此,若矩阵 $A$ 可对角化,则 $|A|$ 就等于 $A$ 所有特征值的乘积:

$$ \operatorname{det} (A) = \prod_{i=1}^n \lambda_i $$

相似矩阵具有完全相同的特征值和特征向量。这是因为

$$ |B- \lambda I| = |P^{-1} AP - P^{-1} \lambda I P| = |A - \lambda I| $$

4 矩阵的迹

迹是矩阵(方阵)对角线元素之和。如果两个矩阵相似,那么它们的迹相同。迹与观测空间无关,也是相似矩阵之间的相似不变量。如果和对角阵相似(即可对角化、可执行特征值分解),那么 $A$ 的迹等于所有特征值的和:

$$ \operatorname{tr} (A) = \sum_{i=1}^n \lambda_i $$

行列式和迹均为相似变换中的不变量,是让相似矩阵拥有同一内核的本质原因。它们全部被特征值表达了出来。

类似向量的内积,对于 $\forall A, B \in \mathbb{R}^{m \times n}$,定义矩阵的内积如下:

$$ \langle A, B \rangle = \sum_{i,j} a_{ij} b_{ij} $$

可验证如下公式成立:对于 $\forall A, B \in \mathbb{R}^{m \times n}$

$$ \langle A, B \rangle = \operatorname{tr} (A B ^\textrm{T}) = \operatorname{tr} (B^\textrm{T} A) $$

$A_1,A_2,\cdots,A_m$ 的维数相容,则

$$ \operatorname{tr} (A_1 A_2 \cdots A_m ) = \operatorname{tr} (A_2 A_3 \cdots A_m A_1 )= \cdots = \operatorname{tr}(A_m A_1 \cdots A_{m-1} ) $$

5 特征值和特征向量

观察 $Ax = \lambda x$,可发现我们试图寻找的是经过线性变换 $A$ 之后,在方向上保持不变(掉头不算)、仅仅是长度有所缩放的向量 $x$ 以及缩放的比例 $\lambda$。换句话说,特征向量 $x$ 是经过线性变换 $A$ 后仍然留在它所张成的线性空间中的向量。

将向量看成线性空间中的一个点,那么左乘矩阵可以看成是(通过操纵空间)对点施加的一种运动(使点发生位移)。特征值反映了运动的速度,而特征向量则反映了运动的方向。线性变换是各个方向上不同速度的运动的叠加。从这个理解出发,对于向量 $x$,不断左乘 $A$,可发现 $x$ 会不断贴合到 $A$ 最大特征值对应的特征空间上。实际上,这正是特征向量的一种迭代求法。从这个理解出发,也会明白为什么相似矩阵具有完全相同的特征值和特征向量(因为客观存在的运动方向和速度不会随着观测角度的变化而变化)。

特征空间是将同一个特征值所对应的一个(或数个)特征向量视为基,所张成的空间。特征空间中基的个数与对应的特征值重根的个数相等。

为什么对方阵 $A$ 可以用 $|A - \lambda I| = 0$ 来求解其特征值和特征向量?

求证思路:根据特征值和特征向量的定义,即 $Ax = \lambda x$ 恒成立,即 $(A- \lambda I)x=0$。这是一个线性方程组,它意味着将任意向量投射到零空间内,那么 $A- \lambda I$ 作为一个线性变换所对应的伸缩因子必须恒为 $0$,即行列式为 $0$

对于二阶方阵,有一种更快速的计算技巧。阐述如下:

$A = \left[a, b; c, d \right]$,则 $1/2 \operatorname{tr} (A) = (\lambda_1 + \lambda_2) / 2 := m$,这是因为矩阵的迹是相似矩阵之间的相似不变量(后面还会提到这一点);此外,$|A|=ad-bc= \lambda_1 \lambda_2 := p$,这是因为特征值描述了算子在特定方向上对空间进行拉伸的程度,而行列式则反映出了算子将面剂整体进行拉伸的程度。联立这两个公式,可以直接得到

$$ \lambda_1, \lambda_2 = m \pm \sqrt{m^2 - p} $$

6 特征值分解

6.1 理解特征值分解

特征值分解其实就是对角化$\forall A \in \mathbb{R}^{n \times n}$$A$ 可对角化($A=PDP^{-1}$)当且仅当 $A$$n$ 个线性无关的特征向量。其中 $P=(p_1, \cdots, p_n)$$n$ 个特征向量组成的矩阵,$D=\operatorname{diag}(\lambda_1,\cdots,\lambda_n)$ 是由特征值组成的对角阵。

证明思路:由 $A p_i=\lambda_i p_i |_\{i=1,\cdots,n\}$ 可得 $$ AP=A (p_1,\cdots,p_n) = (A p_1,\cdots, Ap_n) = (\lambda_1 p_1,\cdots,\lambda_n p_n) = (p_1,\cdots,p_n) D = PD $$

${p_1, \cdots, p_n}$ 线性无关则 $P$ 可逆,从而有 $A=PDP^{-1}$。 这个结论就是特征值分解。

特征值分解的性质$A^k = P D^k P^{-1}$。这个性质再一次验证了不断左乘 $A$$x$ 会不断贴合到最大特征值对应的特征空间上。因为特征值呈指数增长,很小的特征值将会非常小,相应的运动几乎可以忽略不计;而最大的特征值将会非常大,对应的 “高速运动” 将明显占据主导地位。

6.2 对称矩阵

为什么我们关心对称矩阵($A = A^\textrm{T}$)?因为对称阵在执行特征值分解时具备许多优秀的性质,包括:

  1. 对称阵有 $n$ 个实特征值(包括重根);
  2. 对称阵的各个特征空间两两正交;
  3. 对称阵每个特征值的重根次数是该特征值对应的特征空间中线性无关的基底的个数;
  4. 对称阵可以正交对角化。

注意,对称阵不一定可逆。

其中第二点的证明思路: 因为 $$ \lambda_i p_i⋅p_j=(\lambda_i p_i)^\textrm{T} p_j=(A p_i )^\textrm{T} p_j=(p_i^\textrm{T} A^\textrm{T} ) p_j=p_i^\textrm{T} (A^\textrm{T} p_j )=p_i^\textrm{T} (\lambda_j p_j )=\lambda_j p_i⋅p_j $$$\lambda_i \neq \lambda_j$,可得 $p_i \cdot p_j=0 \to p_i \perp p_j$$λ_i \neq λ_j$ 是因为我们考虑的是特征空间,重根的来自同一个特征空间)。

6.3 正交对角化

所谓正交对角化是:$\forall A \in \mathbb{R}^{n \times n}$$A$ 可正交对角化当且仅当存在正交阵 $P$ 和对角阵 $D$ 使得 $A = PDP^{-1} = PDP^\textrm{T}$。在这种情况下,$P$$P^{-1}$ 作为正交阵对应的是方向相反的旋转变换,而 $D$ 对应的则是伸缩变换。显然,旋转变换其实就是切换了观测角度而已,我们更关心伸缩变换。因此正交对角化可用于 “规范化二次型”,相当于把矩阵 “扶正”。我们后面还会谈到这一点。需要注意的是,方阵可以正交对角化当且仅当它是对称阵

6.4 谱分解定理

根据对称阵可正交对角化这一性质,可得到谱分解定理(每个分量 $\lambda_i \mu_i \mu_i^\textrm{T}$$A$ 的一个 spectrum):

$$ A = \sum_i \lambda_i \mu_i \mu_i^\textrm{T} $$

证明思路:令 $D=\operatorname{diag}(\lambda_1,\cdots,\lambda_n)$$P=(u_1,\cdots,u_n )$,则 $DP^\textrm{T}=(\lambda_1 \mu_1^\textrm{T},\cdots,\lambda_n \mu_n^\textrm{T})^\textrm{T}$。所以 $P D P^\textrm{T} = (\mu_1,\cdots,\mu_n) (\lambda_1 \mu_1^\textrm{T}, \cdots,\lambda_n \mu_n^\textrm{T} )^\textrm{T} = \sum_i \lambda_i \mu_i \mu_i^\textrm{T}$(看成行向量和列向量的乘法)。

每个分量其实记录了一部分信息。如果将分量按照降序排列,则省略末位的一个或多个分量就实现了信息的压缩(前 20% 的分量可能占据了 90% 的有效信息)。

6.5 执行特征值分解

执行特征值分解的步骤为:

  1. 根据 $|A-\lambda I|=0$ 找到所有特征值;

  2. 对于每个特征值 $\lambda$,根据 $Ax=\lambda x$ 找到其对应的(一个或多个)特征向量(特征值重根的个数等于对应的特征空间中特征向量的个数);

  3. 将特征值按照降序排列组成 $D$。对应地,排列特征向量组成 $P$$P^\textrm{T}$

最后

著名的数学科普博主 3Blue1Brown 在他的油管和 B 站账号上均发布了名为 线性代数的本质 系列视频,其中提供了本文所述概念的动态演示,推荐读者观看。

转载申请

本作品采用 知识共享署名 4.0 国际许可协议 进行许可,转载时请注明原文链接。您必须给出适当的署名,并标明是否对本文作了修改。