线性代数-正交矩阵、Gram-Schmidt正交化和QR分解-17
Linear Algebra-正交矩阵、Gram-Schmidt 正交化和QR分解-17
一、知识概要
在上一篇文章中,我们介绍了标准正交向量的概念。今天我们将在此基础上进一步探索,看看标准正交向量组到底有哪些优良的性质,为什么它在线性代数中如此重要。同时,我们还会学习一个非常实用的算法——Gram-Schmidt 正交化,它能帮我们把任意一组线性无关的向量,转化为标准正交向量组。
二、标准正交向量
2.1 回顾标准正交向量
让我们先回顾一下标准正交向量的基本性质。对于标准正交向量组中的任意两个向量 $q_i$ 和 $q_j$,它们满足一个非常简洁的关系:
这个式子把标准正交向量组的特点说的非常清楚:
- “正交”:不同向量之间的内积为 0,换句话说,它们互相垂直;
- “标准”:每个向量自身和自身的内积为 1,也就是说向量的长度是 1,是单位向量。
记住这两个关键点,我们就可以继续往下走了。
2.2 标准正交矩阵 Q
定义
现在我们把这些标准正交向量按列排列起来,放在同一个矩阵中,就得到了标准正交矩阵 $Q$:
重要性质
标准正交矩阵最核心的性质就是:$Q^{T}Q = I$,也就是 $Q$ 的转置乘以 $Q$ 等于单位矩阵。我们来验证一下这个结果:
这个结果其实就是从我们刚才那个分段函数来的——对角线元素是向量自身和自身的内积,所以都是 1;非对角线元素是不同向量之间的内积,所以都是 0。完美。
特别地,当 $Q$ 是一个方阵时,我们称它为正交矩阵。因为此时 $Q$ 可逆,从 $Q^{T}Q = I$ 可以直接得到一个漂亮的结论:
正交矩阵的逆等于它的转置!这是正交矩阵一个非常重要的性质,记住它会给后续计算带来很多方便。
我们来看两个例子:
第一个例子:置换矩阵 $Q=\begin{bmatrix}0&0&1\1&0&0\0&1&0\end{bmatrix}$,它的转置 $Q^{T}=\begin{bmatrix}0&1&0\0&0&1\1&0&0\end{bmatrix}$,同时也是它的逆矩阵 $Q^{-1}$。验证一下:$QQ^{T}=\begin{bmatrix}0&0&1\1&0&0\0&1&0\end{bmatrix}\begin{bmatrix}0&1&0\0&0&1\1&0&0\end{bmatrix}=I$,确实满足条件。
第二个例子:旋转矩阵。我们之前见过这样一组正交向量:$\begin{bmatrix}\cos\theta\\sin\theta\end{bmatrix}$ 和 $\begin{bmatrix}-\sin\theta\\cos\theta\end{bmatrix}$,把它们写成矩阵形式:
这也是一个正交矩阵。实际上,它表示的就是平面坐标系中的旋转操作,而旋转操作本身就保持向量长度不变,这正好符合我们接下来要说的正交矩阵性质。
这里需要特别提醒一点:构建正交矩阵时,千万不要忘记单位化。比如矩阵 $\begin{bmatrix}1&1\1& - 1\end{bmatrix}$,它的两列确实是正交的,但它不是正交矩阵——因为两个列向量的长度都不是 1。正确的做法是除以 $\sqrt{2}$,得到:
这才是真正的正交矩阵。从这个例子还可以延伸出阿达马矩阵,不过这里就不展开了。
最后,我们再来看一个非常有用的性质:标准正交矩阵不会改变向量的长度。也就是说,对于任意向量 $x$,都有 $||Qx||=||x||$。证明起来也很简单:
内积不变,所以长度自然不变。这个性质保证了正交变换在几何上是刚体变换,不会拉伸或压缩向量。
2.3 标准正交矩阵的作用
标准正交矩阵有这么多优良性质,它在实际计算中到底能带来什么好处呢?我们来看两个典型应用:投影矩阵和最小二乘拟合。
1. 投影矩阵化简
我们之前学过,投影矩阵的一般公式是:
如果现在 $A$ 本身就是标准正交矩阵 $Q$,那么代入公式:
因为 $Q^{T}Q = I$,而单位矩阵的逆还是单位矩阵,所以一下子就简化了:
特别地,如果 $Q$ 还是方阵(也就是正交矩阵),那么 $Q^{T} = Q^{-1}$,此时投影矩阵 $P = QQ^{T} = I$,就是单位矩阵了。这其实很合理——如果 $Q$ 是 $n$ 阶方阵,它的列空间就是整个 $n$ 维空间,那么任何向量投影到全空间,就是它自己,所以投影矩阵就是单位矩阵。
我们来验证一下投影矩阵的两条基本性质:
- 对称性:$(QQ^{T})^{T} = (Q^{T})^{T}Q^{T} = QQ^{T}$,满足对称;
- 幂等性:$(QQ^{T})^{2} = QQ^{T}QQ^{T} = Q(Q^{T}Q)Q^{T} = QQ^{T} = P$,也满足 $P^2 = P$。
完美,所有性质都成立。
2. 拟合方程化简
之前我们推导过最小二乘的拟合方程:
如果现在 $A = Q$ 是标准正交矩阵,代入后左边变成 $Q^{T}Q\hat{x}$,而 $Q^{T}Q = I$,所以方程直接化简为:
写成分量形式就是 $\hat{x}_i = q_i^T b$。这个结果告诉我们什么呢?如果基是标准正交的,那么向量 $b$ 在第 $i$ 个基方向上的投影系数,直接就是 $b$ 和 $q_i$ 的内积!根本不需要复杂的矩阵求逆。
由此可见,当我们选择标准正交向量作为基时,很多公式都会变得异常简单,计算量也会大大减少。这就是为什么我们总是想要把一组向量化为标准正交向量——因为它实在太好用了!
三、Gram-Schmidt 正交化
既然标准正交基这么好用,一个自然的问题就是:如何从任意一组线性无关的向量出发,得到一组标准正交基呢?
Gram-Schmidt 正交化就是解决这个问题的经典方法。我们从简单到复杂慢慢来看。
二维向量示例
假设我们有两个线性无关的向量 $a$ 和 $b$,我们希望得到标准正交向量 $q_1$ 和 $q_2$。可以这么理解:原来空间的一组基 $a, b$ 不满足标准正交条件,现在我们想通过变换得到一组满足条件的新标准正交基。

整个过程分两步走:
- 先找到两个正交的向量 $A$ 和 $B$;
- 然后对它们单位化,得到 $q_1 = \frac{A}{|A|}$,$q_2 = \frac{B}{|B|}$。
关键是第一步,怎么找到正交的 $A$ 和 $B$ 呢?
因为 $a$ 和 $b$ 线性无关,所以它们不共线。我们可以先把第一个向量直接取作 $A = a$,然后把 $b$ 投影到 $a$ 上:

$b$ 在 $a$ 方向上的投影分量我们已经知道怎么求了,现在我们把这个投影分量从 $b$ 中减去,剩下的部分就是垂直于 $a$ 的分量,这就是我们要找的 $B$:
我们来验证一下 $A$ 和 $B$ 是否正交,计算它们的内积 $A^T B$:
完美!内积确实是零,说明它们正交。得到正交的 $A$ 和 $B$ 后,再单位化,就得到了标准正交基 $q_1$ 和 $q_2$,它们和原来的 $a, b$ 张成同一个空间。
三维向量推广
理解了二维的情况,推广到三维就很容易了。我们现在要找三个正交向量 $A, B, C$:
- $A = a$(直接取第一个向量)
- $B = b - A(A^{T}A)^{-1}A^{T}b$(减去 $b$ 在 $A$ 上的投影)
- $C = c - A(A^{T}A)^{-1}A^{T}c - B(B^{T}B)^{-1}B^{T}c$(减去 $c$ 在 $A$ 和 $B$ 上的投影)
思想就是这么直接:每一步都把新向量在已经得到的所有正交向量上的投影分量减去,剩下的自然就和它们都正交了。得到三个正交向量后,再分别单位化,就得到了标准正交向量组。
这个思路可以一直推广到 $n$ 维,算法结构非常清晰。
具体例题
说了这么多,我们来做一道例题感受一下算法流程。已知 $a=\begin{bmatrix}1\1\1\end{bmatrix}$,$b=\begin{bmatrix}1\0\2\end{bmatrix}$,求标准正交矩阵 $Q$。
第一步,令 $A = a = \begin{bmatrix}1\1\1\end{bmatrix}$。
第二步,计算 $B$:
第三步,对 $A$ 和 $B$ 进行单位化:
- $|A| = \sqrt{1^2+1^2+1^2} = \sqrt{3}$,所以 $q_1 = \frac{A}{\sqrt{3}} = \begin{bmatrix}\frac{1}{\sqrt{3}} \ \frac{1}{\sqrt{3}} \ \frac{1}{\sqrt{3}}\end{bmatrix}$
- $|B| = \sqrt{0^2+(-1)^2+1^2} = \sqrt{2}$,所以 $q_2 = \frac{B}{\sqrt{2}} = \begin{bmatrix}0 \ -\frac{1}{\sqrt{2}} \ \frac{1}{\sqrt{2}}\end{bmatrix}$
最后得到标准正交矩阵:
计算过程是不是很清晰?
从矩阵角度分析:QR 分解
我们来看一下,原始矩阵 $A=\begin{bmatrix}1&1\1&0\1&2\end{bmatrix}$,经过 Gram-Schmidt 正交化后得到了标准正交矩阵 $Q$。如果你仔细观察会发现,$A$ 和 $Q$ 的列空间是相同的。这很合理,正交化过程只是在同一个空间里换了一组更好的基,并没有改变空间本身。
那么,$A$ 和 $Q$ 之间是什么关系呢?类似于 LU 分解,我们可以把 $A$ 分解为 $Q$ 乘以一个上三角矩阵 $R$:
其中:
- $A$ 的列是原来的基向量:$A = \begin{bmatrix}a_1&a_2\end{bmatrix}$
- $Q$ 的列是标准正交基:$Q = \begin{bmatrix}q_1&q_2\end{bmatrix}$
- $R = \begin{bmatrix}a_1^{T}q_1&a_2^{T}q_1\a_1^{T}q_2&a_2^{T}q_2\end{bmatrix}$ 是上三角矩阵
为什么 $R$ 一定是上三角矩阵呢?这和 Gram-Schmidt 的计算过程有关。比如在我们这个例子中,$a_1^T q_2$ 一定是 0。为什么?因为 $q_2$ 的方向就是 $B$ 的方向,而 $B$ 本身就是正交于 $A = a_1$ 的,所以它们的内积自然是 0。这个规律可以推广到更高维:所有对角线下方的元素都是 0,所以 $R$ 必然是上三角矩阵。
从线性组合的角度看,$A$ 的每一列都是 $Q$ 各列的线性组合,而 $R$ 中的元素其实就是这些线性组合的系数。因为我们是一步步构造的,所以系数只出现在上三角部分。
Gram-Schmidt 正交化最终给出了矩阵的一种新分解方式——QR 分解:任何矩阵都可以分解为一个标准正交矩阵 $Q$ 乘以一个上三角矩阵 $R$。
在数值计算中,使用 QR 分解来求解 $Ax = b$ 最大的优势是提高了数值稳定性。
QR 分解在最小二乘法中的应用
我们知道最小二乘法的正规方程是 $A^TA\hat{x} = A^Tb$,现在利用 QR 分解 $A = QR$,我们来做一个推导:
所以正规方程变成:
由于 $R$ 是可逆的上三角矩阵,$R^T$ 满秩,我们可以从两边消去 $R^T$,最终得到:
这个形式比原来的正规方程简洁多了!现在我们只需要回代求解这个上三角方程组,就能得到最小二乘解 $\hat{x}$。
整个计算过程的代价主要花在构造 QR 分解上,但一旦分解完成,后续求解就非常高效了,而且数值稳定性比直接计算 $A^TA$ 要好得多。
四、学习感悟
本节的核心内容是 Gram-Schmidt 正交化,其主要目的是将一个空间的基转化为互相标准正交的一组基。这样做的好处是在后续的计算中,如投影矩阵和拟合方程的计算,会变得更加简便。学习这部分内容,重点在于掌握其步骤和方法,需要通过一定量的习题练习来达到熟练运用的程度。




