线性系统与最小二乘法
线性系统的基本理论
我们从最基本的线性系统开始讲起。当我们面对一个线性方程组 Ax = b 时,其中 A 是一个 m \times n 的矩阵,这意味着我们有 m 个方程和 n 个未知数。这个系统的可解性完全取决于矩阵 A 的性质。
首先考虑最简单的情况,当 A 是方阵且可逆时,系统有唯一解。这是因为可逆矩阵的列向量线性无关,它们张成整个空间,所以无论 b 是什么向量,都能找到唯一的线性组合来表示它。
但现实中我们经常遇到 A 不可逆的情况。此时系统的可解性取决于 b 与 A 的关系。如果 b 属于 A 的像空间(记作 b \in \text{Im}(A)),也就是说 b 可以表示为 A 的列向量的线性组合,那么系统有解,而且通常有无穷多个解。这是因为当 A 不可逆时,它的零空间非平凡,任何解加上零空间中的向量仍然是解。相反,如果 b \notin \text{Im}(A),那么系统无解,因为无论怎样组合 A 的列向量都无法得到 b。
最小二乘问题的产生
在实际应用中,我们经常遇到超定系统,即方程个数远大于未知数个数(m >> n)的情况。比如在数据拟合中,我们可能有上百个数据点,但只想用几个参数的模型来拟合。这种情况下,系统 Ax = b 通常是不相容的,也就是说没有精确解。
这时候我们退而求其次,不再寻找精确解,而是寻找一个"最接近"的解。这个"最接近"的含义就是使得残差 Ax - b 的二范数平方最小,即求解优化问题:
这里需要理解范数的含义。向量 x 的二范数定义为 \|x\|^2 = \sum_i x_i^2 = x^T x,它度量了向量的"长度"。对于 Ax 这样的向量,其范数可以写成 \|Ax\|^2 = (Ax)^T(Ax) = x^T A^T A x。这个转换很重要,因为它把向量范数转化为了二次型的形式,便于后续的优化求解。
normal方程的推导
为了求解最小二乘问题,我们需要找到使目标函数 \|Ax - b\|^2 最小的 x。展开这个目标函数:
对 x 求导并令导数为零(这是寻找极值点的必要条件),我们得到:
整理后得到著名的normal方程(Normal Equation):
这个方程的得名是因为它要求残差向量 Ax - b 正交于(normal to)A 的列空间。从几何角度理解,最小二乘解对应的 Ax 是 b 在 A 的列空间上的正交投影。
normal方程的可解性
注意到 A^T A 是一个 n \times n 的方阵(因为 A^T 是 n \times m,A 是 m \times n)。如果 A^T A 可逆,那么normal方程有唯一解:
- A^T A 可逆当且仅当 A 的列向量线性无关。
我们知道 A^T A 可逆等价于它的零空间只包含零向量,即如果 A^T A v = 0,则必有 v = 0。现在假设 A^T A v = 0,两边同时左乘 v^T,得到 v^T A^T A v = \|Av\|^2 = 0,这意味着 Av = 0。因此,A^T A 的零空间等于 A 的零空间(记作 \text{Ker}(A))。
所以 A^T A 可逆等价于 \text{Ker}(A) = \{0\},也就是说 Ax = 0 只有零解,这正是 A 的列向量线性无关的定义。这个结论很重要:即使 A 本身不是方阵或不可逆,只要它的列向量线性无关,我们就能通过normal方程唯一地求解最小二乘问题。
从实际问题到数学模型
现在让我们通过一个具体的例子来理解最小二乘法的应用。假设我们有 n 个数据点 (x_i, y_i),i = 1, 2, ..., n,这些点可能来自某个物理实验的测量,比如测量弹簧的伸长量与所加重量的关系,或者是经济数据中两个变量的关系。我们想用一条直线来拟合这些数据点。
线性模型的形式是 y = \alpha x + \beta,其中 \alpha 是斜率,表示 x 每增加一个单位时 y 的变化量;\beta 是截距,表示当 x = 0 时 y 的值。我们的任务是找到最佳的 \alpha 和 \beta,使得这条直线尽可能地接近所有数据点。
建立方程组
如果我们希望直线精确地通过所有数据点,那么对于每个点 (x_i, y_i),都应该有:
这给我们 n 个方程:
- y_1 = \alpha x_1 + \beta
- y_2 = \alpha x_2 + \beta
- \vdots
- y_n = \alpha x_n + \beta
但这里有个问题:我们有 n 个方程,却只有 2 个未知数(\alpha 和 \beta)。当 n > 2 时(实际应用中几乎总是这样),这个系统是超定的。除非所有点恰好共线(这在实际测量中几乎不可能,因为总有测量误差),否则不存在一条直线能精确通过所有点。
最小二乘目标函数
既然无法找到精确解,我们就寻找最佳近似解。对于每个数据点,拟合直线上对应的 y 值是 \alpha x_i + \beta,而实际观测值是 y_i。两者的差 y_i - \alpha x_i - \beta 称为第 i 个残差,它衡量了模型在这个点上的误差。
最小二乘法的思想是选择参数 \alpha 和 \beta,使得所有残差的平方和最小。平方保证了正负误差不会相互抵消(如果直接求和,正误差和负误差会抵消,可能得到总和为零但拟合很差的情况)。其次,平方会放大较大的误差,使得算法倾向于避免出现特别大的偏差。最后,平方函数是可微的,便于用微积分方法求解。
因此,我们要最小化的目标函数是:
这个函数关于 \alpha 和 \beta 是二次的,因此有唯一的最小值点。
几何解释
从几何角度看,最小二乘解对应的直线使得所有点到直线的垂直距离(在 y 方向上)的平方和最小。这相当于在所有可能的直线中,找到一条使得数据点在垂直方向上的"分散程度"最小的直线。
normal方程矩阵的具体形式
让我们深入分析线性拟合中normal方程的具体结构。回顾我们的设计矩阵 A,它的形式是:
第一列全是1(对应截距项 \beta),第二列是各个 x 值(对应斜率项 \alpha)。相应地,参数向量变为 x = [\beta, \alpha]^T(这里的 x 是参数向量,不要与数据点的横坐标混淆)。
现在计算 A^T A。首先 A^T 是:
计算矩阵乘积 A^T A,我们需要计算四个元素。第 (1,1) 元素是第一行与第一列的内积,即 n 个1相加,得到 n。第 (1,2) 元素是第一行与第二列的内积,即 \sum_{i=1}^n x_i。类似地可以得到:
这个 2 \times 2 矩阵包含了数据的基本统计量。如果我们定义 \bar{x} = \frac{1}{n}\sum x_i(x 的平均值)和 \overline{x^2} = \frac{1}{n}\sum x_i^2(x^2 的平均值),那么:
这个形式揭示了normal方程与数据统计特性的深刻联系。矩阵的行列式是 n^2(\overline{x^2} - \bar{x}^2),这正比于 x 的方差。因此,当且仅当数据点的 x 坐标不全相同时(即有方差),A^T A 才可逆,这在直观上是合理的:如果所有点都在同一条垂直线上,我们无法确定唯一的拟合直线。
同样地,计算 A^T b:
其中 \bar{y} = \frac{1}{n}\sum y_i 是 y 的平均值,\overline{xy} = \frac{1}{n}\sum x_i y_i 是 xy 的平均值。
超定系统的几何视角
当我们面对超定系统 Ax = b,其中 A 是 m \times n 矩阵且 m >> n(方程数远大于未知数),这个系统通常无精确解。图中的三维示意图清晰地展示了这个问题的几何本质。

向量 b 是 m 维空间中的一个点,而矩阵 A 的像空间 \text{Im}(A) 是一个低维子空间(图中表示为一个平面)。当 b 不在这个子空间内时,不存在 x 使得 Ax = b。但是,我们可以找到 b 在 \text{Im}(A) 上的正交投影点 Pb。
这个投影点 Pb 有特殊的意义:它是 \text{Im}(A) 中距离 b 最近的点。既然 Pb \in \text{Im}(A),那么必然存在某个向量 x 使得:
这个 x 就是我们要找的最小二乘解。
投影矩阵的表达式
投影矩阵 P 的作用是将任意向量投影到 \text{Im}(A) 上。它的显式表达式是:
这个矩阵被称为"正交投影矩阵"(matrice de projection orthogonale sur \text{Im}(A))。注意这个公式的前提是 A^T A 必须可逆,这等价于 A 的列向量线性无关。
当我们将 P 作用于 b 时,得到:
最小二乘解的统一表达
第二张图片揭示了一个重要的命题:当 A^T A 可逆时,方程 Ax = Pb 的解恰好等同于最小二乘问题的解。
具体来说,求解 Ax = Pb 相当于求解:
如果 A 的列线性无关,我们可以得到:
这正是normal方程的解!这个结果表明,最小二乘解可以从两个等价的角度理解:
- 优化角度:找到使 \|Ax - b\|^2 最小的 x
- 几何角度:找到 x 使得 Ax 等于 b 在 \text{Im}(A) 上的正交投影
这两个看似不同的问题实际上有相同的解,这种等价性深刻地揭示了最小二乘法的几何本质。投影的观点特别有助于理解为什么最小二乘解是"最优"的:它给出了在模型空间(\text{Im}(A))内最接近观测数据的点。
一个完整的数值例子
让我们通过一个具体的数值例子来理解最小二乘法的计算过程。给定矩阵 A 和向量 b:
这是一个超定系统,3个方程但只有2个未知数。首先需要判断 b 是否在 A 的像空间 \text{Im}(A) 中。
步骤1:计算 A^T A
首先计算 A^T A:
这个 2 \times 2 矩阵是可逆的,因为它的行列式为 6 \times 2 - (-1) \times (-1) = 12 - 1 = 11 \neq 0。
步骤2:应用正规方程
计算 A^T b:
现在求解正规方程 A^T A x = A^T b:
通过求逆矩阵,得到:
因此,最小二乘解为 x_1 = \frac{2}{11},x_2 = \frac{1}{11}。
投影矩阵的计算与验证
投影矩阵 P 的显式计算
投影矩阵定义为:
代入我们的数值:
经过计算得到:
计算投影向量 Pb
将 P 作用于 b:
验证 Ax = Pb
现在验证我们的解:
确实有 Ax = Pb,这验证了我们的计算是正确的。
向量投影的基础理论
向量投影的基础概念。当我们有两个向量 u 和 v,其中 u \in \mathbb{R}^n,v \in \mathbb{R}^n,我们想要计算 v 在 u 方向上的投影。
投影矩阵的构造基于一个简单的想法:如果 u 是单位向量(满足 \|u\| = 1,即 u^T u = 1),那么 v 在 u 方向上的投影可以表示为:
这里 A 是一个 n \times n 的矩阵。为什么是 u u^T 而不是 u^T u?这涉及到维度的问题。u^T u 是一个标量(1 \times n 乘以 n \times 1 得到 1 \times 1),而 u u^T 是一个矩阵(n \times 1 乘以 1 \times n 得到 n \times n)。我们需要的是一个能够作用于任意向量的线性变换,因此需要矩阵形式。
当 A = u u^T 时,对任意向量 z 的作用是:
其中 \lambda = u^T z 是一个标量,表示 z 在 u 方向上的投影长度。这个公式的几何意义是:先计算 z 在 u 方向上的分量大小(u^T z),然后沿着 u 方向伸缩这个长度。
投影是将高维空间中的点映射到低维子空间的过程。当 u 是单位向量时,投影矩阵 A = u u^T 是正交投影矩阵,它将任意向量正交投影到 u 张成的一维子空间上。
奇异值分解
首先给出预备性质(Remarques préliminaires):考虑一个 m \times n 的矩阵 A。这里强调 A^T A 是半正定的(semi-définie positive)。为什么 A^T A 一定是半正定的?
对于任意非零向量 x \in \mathbb{R}^n,我们有:
这个二次型永远非负,因为它等于向量 Ax 的范数平方。等号成立当且仅当 Ax = 0,即 x 在 A 的零空间中。这就证明了 A^T A 的半正定性。
由于 A^T A 是对称半正定矩阵(维度为 n \times n),它有以下重要性质:
- 所有特征值都是非负实数
- 存在正交的特征向量基
- 可以进行谱分解
\|Ax\|^2 \geq 0 再次强调了这个关键性质。这个性质是奇异值分解理论的基础,因为奇异值实际上就是 \sqrt{\lambda_i},其中 \lambda_i 是 A^T A 的特征值。
奇异值的定义
对于矩阵 A,奇异值的定义建立在 A^T A 的特征值基础上。
首先明确,A 的奇异值 \mu_1 \geq \mu_2 \geq ... \geq \mu_n \geq 0 是 A^T A 的特征值的平方根。因为 A^T A 是半正定矩阵,它的所有特征值 \lambda_1 \geq \lambda_2 \geq ... \geq \lambda_n \geq 0 都是非负的,因此我们可以安全地取平方根:
从几何角度理解,当我们将矩阵 A 作用于单位球面上的向量时,得到的像在各个方向上的最大伸缩因子就是这些奇异值。
映射链 A \rightarrow A^T A \rightarrow \lambda_i \rightarrow \sqrt{\lambda_i} = \mu_i 清晰地说明了从原始矩阵到奇异值的推导过程。
矩阵的维度:A 是 (m \times n),A^T A 是 (n \times n)。这个维度变化很重要,因为它决定了我们最多有 n 个奇异值。
特征值是通过求解特征多项式得到的 \det(A - \lambda I) ,这是计算特征值的标准方法。
奇异值分解的主要定理
对于任意实矩阵 A_{(m \times n)},存在分解:
其中各个矩阵的结构和性质如下:
- U 是 m \times m 的正交矩阵(orthogonale),满足 U^T U = I
- V 是 n \times n 的正交矩阵(orthogonale),满足 V^T V = I
- \Sigma 是 m \times n 的矩阵
存在性定理:每个矩阵都可以进行这样的分解,它将任意矩阵分解为三个具有特殊几何意义的部分:两个旋转(或反射)操作 U 和 V^T,以及一个伸缩操作 \Sigma。
正交矩阵的性质 U^T U = I 和 V^T V = I 保证了这些变换保持长度和角度(除了可能的反射)。这意味着 U 和 V 的列向量分别构成 \mathbb{R}^m 和 \mathbb{R}^n 的标准正交基。
奇异值矩阵 \Sigma 的结构
\Sigma 矩阵的维度为 (m \times n),与原矩阵 A 相同。奇异值 \{\mu_1, ..., \mu_n\} 被放置在其对角线上,具体结构为:
这里 r 是矩阵 A 的秩,等于非零奇异值的个数。当 m > n 时,\Sigma 下方有额外的零行;当 m < n 时,\Sigma 右侧有额外的零列。对角线上的奇异值按降序排列:\mu_1 \geq \mu_2 \geq ... \geq \mu_r > 0,之后都是零。
这种对角结构使得 \Sigma 的作用非常直观:它只在前 r 个方向上进行伸缩,伸缩因子就是相应的奇异值。在其余方向上,\Sigma 将向量映射为零,这对应于矩阵 A 的零空间。通过正交变换将复杂的线性变换简化为简单的坐标轴方向上的伸缩,这正是SVD在数据压缩、降维和矩阵近似中如此有效的原因。
奇异值分解的性质与矩阵对角化
SVD中的正交性质
在奇异值分解 A = U \Sigma V^T 中,U 和 V 都是正交矩阵,这意味着它们满足:
- V^T V = I,因此 V^T = V^{-1}
- U^T U = I,因此 U^T = U^{-1}
这些正交性质使得我们可以优雅地计算 A^T A。从 A = U \Sigma V^T 出发:
由于 U 是正交矩阵,U^T U = I,因此:
进一步整理,由于 V 也是正交的,我们可以写成:
这个结果极其重要:\Sigma^T \Sigma 是对角矩阵!其对角元素是 \mu_1^2, \mu_2^2, ..., \mu_n^2,正好是奇异值的平方。这表明 SVD 实际上给出了 A^T A 的对角化:V 的列向量是 A^T A 的特征向量,而 \mu_i^2 是对应的特征值。
矩阵相似性与基变换
矩阵相似性是理解SVD几何意义的关键概念。如果存在可逆矩阵 P 使得:
则称矩阵 A 和 B 相似(semblables)。相似矩阵的本质是:它们代表同一个线性变换在不同基下的表示。
设 \{e_1, e_2, ..., e_n\} 是原始基,\{e'_1, e'_2, ..., e'_n\} 是新基。如果线性变换 \varphi 在原始基下的矩阵表示是 A,在新基下的矩阵表示是 B,那么 A 和 B 通过基变换矩阵 P 相联系。这里 P 的列向量正是新基在原始基下的坐标表示。
相似矩阵有许多重要的不变性质:
- 特征值相同(虽然特征向量不同)
- 行列式相同
- 迹(对角元素之和)相同
- 秩相同
这解释了为什么对角化如此有用:如果能找到合适的基使得线性变换的矩阵表示是对角的,那么这个变换的性质就一目了然——对角元素就是特征值,表示在各个特征方向上的伸缩因子。
对角化的完整计算示例
考虑对称矩阵:
步骤1:求特征值
特征方程为 \det(A - \lambda I) = 0:
展开得:
分解因式:
因此特征值为 \lambda_1 = 5,\lambda_2 = 1。
步骤2:求特征向量
对于 \lambda_1 = 5,求解 (A - 5I)v = 0:
得到 -2v_1 + 2v_2 = 0,即 v_1 = v_2。取单位特征向量:
对于 \lambda_2 = 1,求解 (A - I)v = 0:
得到 v_1 + v_2 = 0,即 v_1 = -v_2。取单位特征向量:
步骤3:构造对角化矩阵
将特征向量组成矩阵 P:
注意 P 是正交矩阵(因为 A 对称),所以 P^{-1} = P^T。
对角矩阵为:
验证
计算 P^T A P:
这验证了对角化的正确性。对称矩阵总能通过正交矩阵对角化,这个性质在SVD中起到核心作用:A^T A 始终是对称矩阵,因此总能找到正交矩阵 V 使其对角化。
AA^T 的对角化
前面我们分析了 A^T A 的对角化,现在考虑 AA^T。从 A = U\Sigma V^T 出发:
由于 V 是正交矩阵,V^T V = I:
这可以改写为:
这里 \Sigma\Sigma^T 是 m \times m 的对角矩阵。与 A^T A 的情况类似,但现在 U 的列向量是 AA^T 的特征向量。这揭示了SVD的双重性:V 对角化 A^T A,而 U 对角化 AA^T。
为什么要同时考虑 A^T A 和 AA^T?这两个矩阵从不同角度刻画了线性变换 A 的性质。A^T A 是 n \times n 矩阵,描述了输入空间(定义域)的结构;AA^T 是 m \times m 矩阵,描述了输出空间(值域)的结构。它们的非零特征值是相同的(都是 \mu_i^2),但特征向量分别属于不同的空间。
这种对偶性在实际应用中很重要。例如在主成分分析(PCA)中,如果数据矩阵是 m \times n(m 个样本,n 个特征),当 m >> n 时计算 A^T A 更高效,当 n >> m 时计算 AA^T 更高效。
秩与奇异值的关系
矩阵的秩 \text{rang}(A) = r 等于非零奇异值的个数。假设奇异值按降序排列:
这里 r 个非零奇异值对应矩阵的秩。为什么秩等于非零奇异值个数?因为奇异值描述了线性变换在各个方向上的伸缩因子,零奇异值意味着在该方向上的投影为零,即该方向属于零空间。
秩揭示分解(Rank Revealing Factorization)
SVD提供了一种"秩揭示"的矩阵分解。当我们将 A = U\Sigma V^T 写成求和形式时:
但由于只有前 r 个奇异值非零,实际上:
这里 u_i 是 U 的第 i 列(m \times 1 向量),v_i 是 V 的第 i 列(n \times 1 向量),因此 u_i v_i^T 是秩为1的 m \times n 矩阵。
这种表示形式在数据压缩中极其有用。如果我们只保留前 k 个最大的奇异值及对应的向量(k < r),得到的截断和:
是秩为 k 的矩阵中对 A 的最佳近似(在Frobenius范数意义下)。
值得注意的是,u_i 和 v_i 分别构成输出空间和输入空间的正交基。前 r 个 u_i 张成 A 的列空间,前 r 个 v_i 张成 A^T 的列空间(等价于 A 的行空间)。这种正交分解使得我们可以清晰地理解线性变换的结构:哪些方向被保留、哪些被压缩、哪些被映射为零。
矩阵的特殊形式与对角化的特殊情况
方阵的特殊形式
回到 n \times n 方阵的情况,矩阵可以有几种特殊的简单形式,这些形式在理论和计算中都有重要作用。
对角矩阵(diagonale)
对角矩阵是最简单的矩阵形式:
对角矩阵的特点是所有非对角元素都为零。为什么对角矩阵如此重要?因为它的作用非常直观:对第 i 个坐标分量乘以 \lambda_i。这种矩阵的特征值就是对角元素本身,特征向量是标准基向量。计算上,对角矩阵的幂、逆矩阵、指数函数等都极其简单。
三角矩阵(triangulaire)
上三角矩阵的形式为:
其中 x 可以是任意值。下三角矩阵则是:
三角矩阵的重要性在于它们保持了部分简单性:特征值仍然是对角元素,但特征向量的结构更复杂。在数值计算中,许多算法(如高斯消元法)的目标就是将矩阵化为三角形式,因为三角系统易于求解。
矩阵的可对角化性质分析
回到方阵的情况
这部分内容主要探讨的是n \times n方阵的简单形式分类。当我们研究矩阵时,总是希望将其化简为某种特殊的简单形式,因为简单形式的矩阵在计算和理论分析上都更加便利。这里主要关注三种重要的简单形式:对角矩阵、三角矩阵,以及最重要的分类标准——矩阵是否可对角化。
矩阵的可对角化性和可逆性是两个独立的性质,它们之间没有必然的联系。为了深入理解这一点,我们通过具体的例子来分析四种不同的情况组合。
可逆且可对角化的情况
考虑矩阵:
这是最理想的情况。该矩阵已经是对角形式,其特征值为\lambda_1 = 1和\lambda_2 = 2,都不为零,因此矩阵可逆。对角矩阵的特征值就是对角线上的元素,这使得求解特征值问题变得极其简单。同时,标准基向量e_1 = \begin{bmatrix} 1 \\ 0 \end{bmatrix}和e_2 = \begin{bmatrix} 0 \\ 1 \end{bmatrix}就是对应的特征向量。
可逆但不可对角化的情况
现在看一个更有趣的例子:
这里*表示任意非零数值。这个矩阵是上三角矩阵,行列式为\det(A) = 1 \times 1 = 1 \neq 0,所以矩阵可逆。然而,这个矩阵只有一个重特征值\lambda = 1(代数重数为2),但只能找到一个线性无关的特征向量。这是因为(A - I)的秩为1,所以特征空间的维数(几何重数)只有1,小于代数重数2。这种几何重数小于代数重数的情况正是矩阵不可对角化的根本原因。
不可逆的情况
对于不可逆矩阵,我们看两个例子。第一个是:
第二个是:
这两个矩阵的行列式都为零,因此不可逆。它们都有重特征值\lambda = 0,但可对角化性质取决于*的具体取值。
特殊情况的深入分析
接下来我们深入分析一个特殊但重要的例子。设\lambda = \lambda_2 = 1,即所有特征值都等于1。如果矩阵A可对角化,那么存在可逆矩阵P使得:
由于\Lambda = I(单位矩阵),我们可以推导出P^{-1}AP = I,因此A = PIP^{-1} = PP^{-1} = I。这告诉我们一个重要结论:如果一个矩阵的所有特征值都等于1且矩阵可对角化,那么这个矩阵必然是单位矩阵。
现在考虑一个具体的不可逆不可对角化矩阵例子,其中\varepsilon \neq 0:
计算这个矩阵的特征值,我们需要求解特征方程\det(A - \lambda I) = 0。展开后得到\lambda^2 = 0,所以\lambda_1 = \lambda_2 = 0。这是一个重特征值的情况。
让我们计算A^2:
这个结果很有意思:A^2 = 0 但 A \neq 0。这样的矩阵称为幂零矩阵(nilpotent matrix)。对于特征向量,由于Ax = 0x = 0对所有x成立,我们需要找非零向量x使得Ax = 0。由于\varepsilon_1 + 0x_2 = 0和\varepsilon x_1 + 0x_2 = 0,当\varepsilon \neq 0时,只有x_1 = 0的向量才是特征向量,这意味着特征空间是一维的,而特征值的代数重数是2。因此这个矩阵不可对角化。
特征值理论与Schur分解定理
特征多项式与代数重数
我们首先来深入理解矩阵A的特征值结构。对于一个n \times n的矩阵A,其特征多项式定义为:
这个多项式的计算实际上是求解行列式,它会给出一个关于\lambda的n次多项式。这个多项式可以分解为线性因子的乘积形式:
但更准确地说,当我们考虑重特征值时,应该将相同的特征值归类在一起,写成:
这里的关键概念是m_k,它表示特征值\lambda_k的代数重数(multiplicité arithmétique)。代数重数告诉我们这个特征值在特征多项式中作为根出现的次数。比如,如果特征多项式是(\lambda - 2)^3(\lambda - 5),那么\lambda = 2的代数重数是3,而\lambda = 5的代数重数是1。
几何重数与特征空间
当我们有了特征值\lambda_k后,自然要考虑对应的特征向量。特征向量满足方程:
这个方程可以重写为(A - \lambda_k I)x_k = 0,这是一个齐次线性方程组。这个方程组的解空间(也就是核空间)的维数记为d_k,这就是特征值\lambda_k的几何重数(multiplicité géométrique)。
几何重数d_k的物理意义非常重要:它表示对应于特征值\lambda_k的线性无关特征向量的最大个数。换句话说,d_k就是特征值\lambda_k对应的特征空间的维数。这个特征空间就是所有满足Ax = \lambda_k x的向量x构成的子空间。
代数重数和几何重数之间有一个基本但极其重要的关系:对于任何特征值,其几何重数永远不会超过代数重数,即1 \leq d_k \leq m_k。当d_k < m_k时,我们说这个特征值是亏损的(defective)。一个矩阵可对角化的充要条件是所有特征值的几何重数都等于其代数重数。
三角化与Schur分解定理
现在让我们回顾一下三角矩阵的重要性。一个上三角矩阵T具有如下形式:
其中*表示可能非零的元素。三角矩阵的一个重要性质是它的特征值就是对角线上的元素,这使得特征值的计算变得极其简单。
Schur分解定理是线性代数中的一个基础性定理,它告诉我们即使一个矩阵不能对角化,我们仍然可以将其化简为一个相对简单的形式。具体地说,如果A是一个n \times n的复矩阵,那么存在一个酉矩阵U(满足UU^* = I = U^*U,其中U^*表示U的共轭转置)和一个上三角矩阵R,使得:
这个分解的深刻意义在于它总是存在的。不像对角化要求所有几何重数等于代数重数这样苛刻的条件,Schur分解对任何复矩阵都成立。这意味着任何矩阵都相似于一个三角矩阵,这是一个非常强大的结果。
酉矩阵U的特殊性质保证了这个变换是保范的,也就是说它不会改变向量的长度和角度关系。在数值计算中,这种性质使得Schur分解特别稳定和可靠。而上三角矩阵R的对角线元素恰好就是原矩阵A的特征值(包括重数)。
从几何角度理解,Schur分解告诉我们总可以找到一个标准正交基,在这个基下,线性变换A的矩阵表示是上三角的。这相当于说,我们可以选择一个合适的坐标系,使得线性变换的作用变得"层次分明"——第一个基向量只影响自己,第二个基向量的像可能包含第一个和第二个基向量的分量,依此类推。
这个定理的证明通常采用归纳法,利用特征值和特征向量的存在性,逐步构造出酉矩阵U。在实际应用中,Schur分解是许多数值算法的基础,特别是在求解特征值问题和矩阵函数计算中扮演着核心角色。
QR分解与矩阵分解理论
QR分解的基本概念
对于一个m \times n的矩阵A,QR分解是将其分解为两个特殊矩阵乘积的过程。这个分解告诉我们存在一个正交矩阵(或酉矩阵)Q和一个上三角矩阵R,使得:
这里需要深入理解两种矩阵的性质。正交矩阵Q是指满足Q^TQ = I的实矩阵,或者更一般地,对于复矩阵,我们称之为酉矩阵(unitaire),满足Q^*Q = I,其中Q^*表示Q的共轭转置。这种矩阵的重要性在于它保持向量的长度和角度不变,因此在数值计算中特别稳定。上三角矩阵R则具有对角线以下元素全为零的特殊结构,这种结构使得求解线性方程组变得异常简单。
当原矩阵A是实矩阵时,我们可以选择Q和R也都是实矩阵。这个性质很重要,因为它保证了实际计算中不会引入不必要的复数运算,从而提高计算效率。
Gram-Schmidt正交化过程
QR分解的核心算法是Gram-Schmidt正交化过程。这个过程的本质是将矩阵A的列向量组成的向量系统逐步转换为一组正交规范的向量系统。假设我们有一组向量\{e_1, ..., e_n\},通过Gram-Schmidt过程,我们可以得到一组正交规范向量\{f_1, ..., f_n\},满足:
这里\delta_{ij}是Kronecker delta函数,当i = j时等于1,否则等于0。这个条件精确地表达了正交规范性:不同向量相互正交(内积为0),而每个向量自身的长度为1(规范化)。
Gram-Schmidt过程的工作原理是逐步构造正交向量。对于第k个向量,我们从原始向量e_k中减去它在前k-1个已经正交化的向量上的投影,从而得到与前面所有向量都正交的新向量。这个过程不仅理论优美,而且在实际应用中也是构造正交基的标准方法。当我们将这个过程应用到矩阵A的列向量时,正交化后的向量构成矩阵Q的列,而投影系数则构成上三角矩阵R。
LU分解及其数值意义
对于n \times n的方阵A,另一个重要的分解是LU分解(也称为LDU分解)。这个分解将矩阵A写成下三角矩阵L和上三角矩阵U的乘积:
这里L是下三角矩阵(主对角线以上元素为零),通常我们要求L的对角元素为1,这样的L称为单位下三角矩阵。U是上三角矩阵(主对角线以下元素为零)。
更一般的形式是A = LDC分解,其中L是单位下三角矩阵,D是对角矩阵,C是单位上三角矩阵。这种分解进一步揭示了矩阵的结构,将缩放因子(对角矩阵D)与纯粹的三角结构分离。
LU分解并不总是存在的。当我们使用高斯消元法(méthode du pivot de Gauss)时,如果主元(pivot)为零,就需要进行行交换。这就是为什么在实际计算中,我们经常使用带部分主元选择的LU分解,写作PA = LU,其中P是置换矩阵。
求解线性方程组的应用
LU分解在求解线性方程组Ax = b中发挥着关键作用。一旦我们有了分解A = LU,原方程就变成:
我们可以分两步求解这个方程。首先,令Ux = c,将问题转化为:
由于L是下三角矩阵且对角元素为1,我们可以通过前向替换(forward substitution)快速求出c。具体来说,从第一个方程开始,我们可以直接得到c_1,然后利用c_1求c_2,依此类推。
得到c之后,我们需要求解:
这是一个上三角系统(système linéaire triangulaire),可以通过回代(back substitution)求解。从最后一个方程开始,我们有:
因此x_n = c_n/u_{n,n}。然后我们可以利用x_n求x_{n-1}:
继续这个过程直到求出所有的x_i。这种方法的计算复杂度是O(n^2),远低于直接求逆矩阵的O(n^3)复杂度。
谱定理与正规矩阵
最后,我们讨论复矩阵的谱定理(Théorème Spectral)。对于n \times n的复矩阵A,如果它是正规矩阵(normale),即满足:
那么存在一个酉矩阵U(满足U^*U = I),使得:
其中\Lambda是对角矩阵,对角线上的元素是A的特征值。
正规矩阵这个条件看似简单,实际上包含了许多重要的矩阵类。所有的厄米矩阵(Hermitian,A^* = A)、反厄米矩阵(A^* = -A)、酉矩阵(A^*A = I)都是正规矩阵。这个定理的深刻之处在于,它保证了这些矩阵都可以通过酉相似变换对角化,而且特征向量可以选择为正交规范的。
这个定理的重要性不仅在于理论上的优美,更在于实际应用。当矩阵可以对角化时,许多计算变得极其简单。例如,计算矩阵的幂A^k、矩阵指数e^A、求解微分方程等问题都可以通过对角化大大简化。而酉对角化的额外好处是数值稳定性——酉变换不会放大舍入误差,这在实际计算中至关重要。
矩阵的正规性、QR分解与Jordan标准型理论
正规矩阵的判定与实例分析
我们继续深入探讨矩阵的正规性质。黑板上通过具体例子展示了如何判定一个矩阵是否为正规矩阵。首先考虑厄米矩阵的情况,当A = A^*时,这意味着矩阵等于自己的共轭转置。对于这样的矩阵,我们可以直接验证AA^* = A \cdot A^* = A \cdot A = A^2,同时A^*A = A^* \cdot A = A \cdot A = A^2,因此AA^* = A^*A成立,证明了厄米矩阵必然是正规矩阵。这个性质的重要性在于,厄米矩阵在量子力学中代表可观测量,而正规性保证了这些矩阵可以被酉对角化,使得物理量的测量有明确的本征值和本征态。
接下来考虑酉矩阵的情况,即满足AA^* = I的矩阵。对于酉矩阵,由于它是可逆的且逆矩阵恰好是其共轭转置,我们有A^{-1} = A^*,因此A^*A = A^{-1}A = I。这表明AA^* = A^*A = I,确认了酉矩阵也是正规矩阵。酉矩阵在几何上代表保持长度和角度的变换,这种正规性质保证了它们有完全正交的特征向量系统。
重要结论:当A是实矩阵且Q、R都可以选择为实矩阵时,整个QR分解可以在实数域内完成。
QR分解的理论基础与Gram-Schmidt正交化
QR分解的核心在于将任意矩阵A分解为正交(或酉)矩阵Q与上三角矩阵R的乘积。(Gram-Schmidt正交规范化方法)
Gram-Schmidt过程的本质是将矩阵A的列向量逐步转化为一组正交规范基。这个过程不是简单的数学技巧,而是揭示了向量空间的内在结构。当我们对矩阵A的列向量应用这个过程时,实际上是在寻找一个正交坐标系,在这个坐标系下,原始向量的表示变得特别简单——每个向量都可以用其在各个正交方向上的投影来表示。
Jordan标准型的定义与结构
黑板上给出了Jordan块的明确定义。一个与特征值\lambda相关的Jordan块记为J(\lambda),它具有特殊的结构:
这个结构可以理解为J(\lambda) = \lambda I + J̃,其中J̃是只在主对角线上方有1的幂零矩阵。这种分解揭示了Jordan块的双重性质:对角部分\lambda I编码了特征值信息,而幂零部分J̃编码了矩阵的非对角化结构。
对于更一般的情况,Jordan标准型写作J = \begin{bmatrix} J_1 & 0 \\ 0 & J_2 \end{bmatrix}的分块对角形式,其中每个J_i都是一个Jordan块。特别地,当Jordan块的大小都是1 \times 1时,即J(\lambda) = [\lambda],整个Jordan矩阵就退化为对角矩阵。
Jordan核心定理与基本概念
首先,我们要理解的是一个关于矩阵相似变换的重要定理。对于一个 n \times n 的矩阵 A,如果它有特征值 \lambda_1, \lambda_2, ..., \lambda_k,那么存在一个非常特殊的表示形式。这里的关键在于,我们能找到一个可逆矩阵 P,使得当我们对 A 进行相似变换时,能够得到一个具有特殊结构的矩阵。
这个相似变换的形式是 P^{-1}AP,它会产生一个分块对角矩阵。这个矩阵由若干个Jordan块组成,记作 J_i(\lambda_j),其中下标 i 表示块的编号,\lambda_j 表示这个块对应的特征值。比如,我们可能有 J_1(\lambda_1)、J_2(\lambda_1)、J_1(\lambda_2)、J_2(\lambda_2) 等等。注意这里一个特征值可以对应多个Jordan块,这是Jordan标准型理论的一个重要特点。

特征多项式与代数重数
接下来我们要深入理解特征多项式 P_A(\lambda) 的结构。特征多项式定义为:
这个行列式的计算结果可以写成一个非常重要的因式分解形式:
这里每个 \lambda_i 是矩阵 A 的一个不同的特征值,而 m_i' 是这个特征值的代数重数。代数重数告诉我们这个特征值在特征多项式中作为根出现的次数。这个概念非常重要,因为它决定了Jordan标准型中与该特征值相关的所有Jordan块的总大小。
现在有一个关键的联系:当特征值 \lambda_i 对应 m_i' 时,这个 m_i' 实际上等于Jordan标准型中所有以 \lambda_i 为对角元素的Jordan块的维数之和。而与特征值 \lambda_i 对应的Jordan块的个数,记为 d_i,这个数字有着深刻的几何意义。
几何重数与Jordan块的关系
这里我们引入了一个核心概念:几何重数。对于特征值 \lambda_i,它的几何重数定义为特征空间的维数,即:
这个维数告诉我们线性无关的特征向量有多少个。当我们求解特征方程 Ax = \lambda_i x(等价于 (A - \lambda_i I)x = 0)时,解空间的维数就是几何重数。
这里有一个极其重要的对应关系:几何重数 d_i 恰好等于Jordan标准型中与特征值 \lambda_i 对应的Jordan块的个数。这意味着,如果一个特征值的几何重数是3,那么在Jordan标准型中就会有3个以这个特征值为对角元素的Jordan块。
具体例子分析
让我们通过一个具体的例子来理解这些抽象概念。给定矩阵:
计算这个矩阵的特征多项式,我们得到:
从这个因式分解我们可以读出两个重要信息。第一个特征值 \lambda_1 = 1,它的代数重数 m_1 = 3,这意味着1作为特征多项式的根出现了3次。第二个特征值 \lambda_2 = 2,它的代数重数 m_2 = 2,表示2作为根出现了2次。
现在我们需要计算每个特征值的几何重数。对于 \lambda_1 = 1,我们需要求解 (A - I)x = 0,通过计算可以得到 \dim \ker(A - I) = 1 = d_1。这告诉我们,虽然特征值1的代数重数是3,但只有1个线性无关的特征向量,因此在Jordan标准型中只有1个与特征值1对应的Jordan块,这个块的大小是 3 \times 3。
对于 \lambda_2 = 2,我们求解 (A - 2I)x = 0,计算表明 \dim \ker(A - 2I) \leq 2 = d_2。这里用了不等号是因为实际计算可能会发现几何重数小于或等于2。如果几何重数恰好等于2,那么Jordan标准型中会有2个与特征值2对应的Jordan块,每个块的大小是 1 \times 1。如果几何重数是1,那么只有1个 2 \times 2 的Jordan块。
这个例子清楚地展示了代数重数和几何重数之间的关系:代数重数给出了Jordan块的总大小,而几何重数决定了Jordan块的个数。两者的差异反映了矩阵的非对角化程度,差异越大,矩阵的结构越复杂。
Jordan标准型在微分方程中的应用
这是Jordan标准型理论最重要的应用之一。考虑一阶线性微分方程组:
这里 x(t) 是一个向量函数,A 是系数矩阵,x(0) 是初始条件。直接求解这个方程组可能很困难,特别是当 A 不能对角化时。Jordan标准型提供了一个优雅的解决方案。
由于 A = PJP^{-1},其中 J 是Jordan标准型,P 是相似变换矩阵
两边同时左乘 P^{-1},我们得到:
这个变换的巧妙之处在于,原本复杂的微分方程组现在变成了关于Jordan标准型的方程组。为了强调这一点,我们通常使用 y(t) = P^{-1}x(t) 来表示变换后的变量,于是方程变为:
Jordan标准型的特殊结构使得这个方程组更容易求解。由于 J 是分块对角的,不同的Jordan块之间没有耦合,我们可以独立地求解每个块对应的子系统。
具体例子的完整分析
让我们通过一个具体例子来理解整个过程。给定矩阵:
这个矩阵有特征值 \lambda_1 = 1 和 \lambda_2 = -1。对应的Jordan标准型是:
相似变换矩阵 P 是:
这里的 P 矩阵的列向量有特殊的意义。第一列是特征值1对应的特征向量,第二列是对应的广义特征向量(满足 (A-I)v_2 = v_1),第三列是特征值-1对应的特征向量。这个结构确保了 AP = PJ。
现在考虑微分方程 \frac{dx(t)}{dt} = A \cdot x(t)。通过变换 y(t) = P^{-1}x(t),我们得到:
Jordan块的矩阵指数与微分方程求解
Jordan块的标准形式与微分方程
现在我们来看一个具体的Jordan块及其在微分方程中的应用。对于一个Jordan块 J(\lambda),它的形式是:
这里我们把Jordan块分解成了两部分:对角部分 \lambda I 和幂零部分 J_0。其中 J_0 是一个上三角矩阵,对角线全为0,超对角线为1。这个分解非常重要,因为它让我们能够利用矩阵指数的性质来求解微分方程。
当我们面对微分方程 \frac{dy(t)}{dt} = J(\lambda) \cdot y(t) 时,这个方程的解具有指数形式:
这里 e^{tJ(\lambda)} 是矩阵指数,y(0) 是初始条件。这个解的形式来源于常微分方程理论——就像标量方程 \frac{dy}{dt} = \lambda y 的解是 y = e^{\lambda t}y_0 一样,矩阵微分方程的解涉及矩阵指数。
矩阵指数的计算
矩阵指数 e^{tJ} 的定义是通过泰勒级数:
这里的关键观察是,对于幂零矩阵(如这里的 J_0),级数会在有限项后截断。具体来说,如果 J_0 是 3 \times 3 的幂零Jordan块,那么 (J_0)^3 = 0,所以级数只有前三项非零。
计算结果是:
注意到这个矩阵的结构:对角线是1,第一条超对角线是 t,第二条超对角线是 \frac{t^2}{2!},以此类推。对于 n \times n 的Jordan块,第 k 条超对角线的元素是 \frac{t^k}{k!}。
一般矩阵的指数与重要性质
