Lecture 17: Orthogonal Matrices and Gram-Schmidt
Lecture 17: Orthogonal Matrices and Gram-Schmidt
概述
本讲解决 Lecture 15-16 留下的一个实际问题:投影与最小二乘的公式都对,但算起来不方便。$P=A(A^{\mathsf T}A)^{-1}A^{\mathsf T}$ 需要求逆,而 $A^{\mathsf T}A$ 往往”病态”(元素之间高度相关、条件数很大),数值误差会被放大。解决办法是:先把 $A$ 的列变成互相正交的单位向量,得到矩阵 $Q$。对正交矩阵,所有公式瞬间简化:$Q^{\mathsf T}Q=I$,$Q^{-1}=Q^{\mathsf T}$,$\hat{\mathbf{x}}=Q^{\mathsf T}\mathbf{b}$,$P=QQ^{\mathsf T}$——没有求逆。
本讲分两步。第一步:定义正交矩阵(orthogonal matrix)并列举例子(置换矩阵、旋转、反射、Hadamard)。第二步:给出制造正交列的算法——Gram-Schmidt 正交化,它把 $A$ 变成 $A=QR$,其中 $Q$ 的列标准正交、$R$ 是上三角。这条路线不仅让最小二乘更快更稳,还是 Lecture 29(SVD)与特征值 QR 算法的入口。
核心概念的几何直觉
正交矩阵(Orthogonal Matrix)
- 定义与目的:$n\times n$ 的实矩阵 $Q$ 若满足 \(Q^{\mathsf T}Q=I,\) 则称 $Q$ 为正交矩阵。等价说法:$Q$ 的 $n$ 个列向量是标准正交(orthonormal)的——两两内积为 0(正交),每个长度都是 1(规范)。
- 几何直觉(它在空间中是什么样子?):正交矩阵是一台”刚性运动机器“。它把标准正交基 $\mathbf{e}_1,\dots,\mathbf{e}_n$ 映成另一组标准正交基,因此不拉伸、不压缩、不扭曲角度——只做旋转或旋转加反射。这就是为什么它对长度”免疫”:$\vert Q\mathbf{x}\vert =\vert \mathbf{x}\vert $。
- 具体示例:2×2 旋转 $Q=\begin{bmatrix}\cos\theta&-\sin\theta\\ \sin\theta&\cos\theta\end{bmatrix}$,$\theta=60°$ 时 $Q=\begin{bmatrix}1/2&-\sqrt3/2\\ \sqrt3/2&1/2\end{bmatrix}$。验算 $Q^{\mathsf T}Q$:第 1 行乘第 1 列 $=\frac14+\frac34=1$;第 1 行乘第 2 列 $=-\frac{\sqrt3}{4}+\frac{\sqrt3}{4}=0$;第 2 行乘第 2 列 $=\frac34+\frac14=1$。$\checkmark$ 另 $\det Q=\frac14+\frac34=1$(纯旋转,无反射)。
正交矩阵的四条核心性质
- 定义与目的:① $Q^{\mathsf T}Q=I$;② $Q^{-1}=Q^{\mathsf T}$(求逆 = 转置,免费的逆);③ $\vert Q\mathbf{x}\vert =\vert \mathbf{x}\vert $ 对一切 $\mathbf{x}$ 成立(保长);④ 当 $Q$ 是方阵时,$QQ^{\mathsf T}=I$ 也成立($Q^{\mathsf T}$ 同样是正交矩阵)。
- 几何直觉(它在空间中是什么样子?):② 是①的直接算术后果(方阵左逆即右逆);③ 的证明一句话:$\vert Q\mathbf{x}\vert ^2=(Q\mathbf{x})^{\mathsf T}Q\mathbf{x}=\mathbf{x}^{\mathsf T}Q^{\mathsf T}Q\mathbf{x}=\mathbf{x}^{\mathsf T}\mathbf{x}=\vert \mathbf{x}\vert ^2$——内积也被保住,于是所有长度和角度都不变;④ 说明”正交”是对称的:$Q^{-1}$ 也正交。
- 具体示例:置换矩阵 $P=\begin{bmatrix}0&1&0\\0&0&1\\1&0&0\end{bmatrix}$,$P^{\mathsf T}P=I$,$P^{-1}=P^{\mathsf T}=\begin{bmatrix}0&0&1\\1&0&0\\0&1&0\end{bmatrix}$;$P\mathbf{x}$ 只是把 $\mathbf{x}$ 的分量轮换位置,长度当然不变。
易错提醒:名字里”orthogonal”容易被误解成”列两两正交”,但定义里还藏着”每个列长度为 1”。只正交不单位化(如 $\begin{bmatrix}1&1\\1&-1\end{bmatrix}$)不是正交矩阵,尽管它 $Q^{\mathsf T}Q=2I$。必须除以 $\sqrt2$ 才成为正交矩阵 $\frac1{\sqrt2}\begin{bmatrix}1&1\\1&-1\end{bmatrix}$。
正交矩阵的例子
- 置换矩阵(permutation matrix):每行每列恰有一个 1。它交换坐标轴,共 $n!$ 个。例:$\begin{bmatrix}0&1\\1&0\end{bmatrix}$ 是沿直线 $y=x$ 的反射。
- 旋转矩阵:$R(\theta)=\begin{bmatrix}\cos\theta&-\sin\theta\\ \sin\theta&\cos\theta\end{bmatrix}$,$\det=1$,逆时针转 $\theta$,逆为 $R(-\theta)=R(\theta)^{\mathsf T}$。
- 反射矩阵:$\det=-1$ 的正交矩阵。最简单的两个:$F_x=\begin{bmatrix}1&0\\0&-1\end{bmatrix}$(关于 $x$ 轴翻折)、$S=\begin{bmatrix}0&1\\1&0\end{bmatrix}$(关于 $y=x$ 翻折)。任何正交矩阵的行列式都只能是 $+1$(旋转)或 $-1$(旋转+反射)。
- Hadamard 矩阵:$H_2=\begin{bmatrix}1&1\\1&-1\end{bmatrix}$,$H_2^{\mathsf T}H_2=2I$,故 $\frac{1}{\sqrt2}H_2$ 正交。它可递归放大: \(H_4=\begin{bmatrix}1&1&1&1\\1&-1&1&-1\\1&1&-1&-1\\1&-1&-1&1\end{bmatrix},\qquad H_4^{\mathsf T}H_4=4I.\) 每行是 $\pm1$ 序列,两两正交,长度都是 2。Hadamard 矩阵在信号处理(Walsh-Hadamard 变换)和编码理论中无处不在。
标准正交基带来的巨大简化
- 定义与目的:若 $Q$ 的列 $\mathbf{q}_1,\dots,\mathbf{q}_n$ 标准正交,则 $Q^{\mathsf T}Q=I$。把投影公式 $P=A(A^{\mathsf T}A)^{-1}A^{\mathsf T}$ 中的 $A$ 换成 $Q$: \(P=Q(Q^{\mathsf T}Q)^{-1}Q^{\mathsf T}=Q\,I\,Q^{\mathsf T}=QQ^{\mathsf T}.\) 正规方程 $A^{\mathsf T}A\hat{\mathbf{x}}=A^{\mathsf T}\mathbf{b}$ 变成 $I\hat{\mathbf{x}}=Q^{\mathsf T}\mathbf{b}$,即 \(\hat{\mathbf{x}}=Q^{\mathsf T}\mathbf{b},\qquad \text{分量形式}\quad \hat{x}_i=\mathbf{q}_i^{\mathsf T}\mathbf{b}.\)
- 几何直觉(它在空间中是什么样子?):一般情形下,求投影坐标需要解一个耦合的 $n\times n$ 方程组(因为斜基向量互相”抢分量”);而正交基互相垂直,每个系数独立可算——$\hat{x}_i$ 就是把 $\mathbf{b}$ 往 $\mathbf{q}_i$ 方向”量一下”。
- 具体示例:取本讲示例 1 中 Gram-Schmidt 造出的那组标准正交基 \(\mathbf{q}_1=\frac1{\sqrt2}\begin{bmatrix}1\\1\\0\end{bmatrix},\qquad \mathbf{q}_2=\frac1{\sqrt6}\begin{bmatrix}1\\-1\\2\end{bmatrix},\qquad \mathbf{q}_3=\frac1{\sqrt3}\begin{bmatrix}-1\\1\\1\end{bmatrix}.\) 先自检正交性:$\mathbf{q}_1^{\mathsf T}\mathbf{q}_2=\frac{1-1+0}{\sqrt{12}}=0$、$\mathbf{q}_1^{\mathsf T}\mathbf{q}_3=\frac{-1+1+0}{\sqrt6}=0$、$\mathbf{q}_2^{\mathsf T}\mathbf{q}_3=\frac{-1-1+2}{\sqrt{18}}=0$ ✓,且三个范数都是 1 ✓。取 $\mathbf{b}=[1,2,4]^{\mathsf T}$,则三个系数各自独立一步算出: \(\hat{x}_1=\mathbf{q}_1^{\mathsf T}\mathbf{b}=\frac{1+2+0}{\sqrt2}=\frac3{\sqrt2},\qquad \hat{x}_2=\frac{1-2+8}{\sqrt6}=\frac7{\sqrt6},\qquad \hat{x}_3=\frac{-1+2+4}{\sqrt3}=\frac5{\sqrt3}.\) 由于这组基张成整个 $\mathbb{R}^3$,投影就是 $\mathbf{b}$ 自身,回代可自检:$\mathbf{p}=\hat{x}_1\mathbf{q}_1+\hat{x}_2\mathbf{q}_2+\hat{x}_3\mathbf{q}_3=\frac3{\sqrt2}\cdot\frac1{\sqrt2}[1,1,0]^{\mathsf T}+\frac7{\sqrt6}\cdot\frac1{\sqrt6}[1,-1,2]^{\mathsf T}+\frac5{\sqrt3}\cdot\frac1{\sqrt3}[-1,1,1]^{\mathsf T}$,第一分量 $=\frac32+\frac76-\frac53=1$ ✓(另两个分量同理得 2 与 4),即 $\mathbf{p}=\mathbf{b}$。注意对比:同样三个未知数,用一般基要解 $3\times3$ 的耦合方程组;换成标准正交基后每个 $\hat{x}_i$ 只是一次内积——这就是”正交基把耦合问题解耦”的具体含义。
Gram-Schmidt 正交化
- 定义与目的:给定线性无关向量 $\mathbf{a}_1,\dots,\mathbf{a}_n$,构造标准正交向量 $\mathbf{q}_1,\dots,\mathbf{q}_n$,使 $\operatorname{span}\{\mathbf{q}_1,\dots,\mathbf{q}_k\}=\operatorname{span}\{\mathbf{a}_1,\dots,\mathbf{a}_k\}$ 对每个 $k$ 成立。算法是”先正交化再单位化“: \(\mathbf{v}_1=\mathbf{a}_1,\quad \mathbf{q}_1=\frac{\mathbf{v}_1}{\vert \mathbf{v}_1\vert };\) \(\mathbf{v}_2=\mathbf{a}_2-(\mathbf{q}_1^{\mathsf T}\mathbf{a}_2)\mathbf{q}_1,\quad \mathbf{q}_2=\frac{\mathbf{v}_2}{\vert \mathbf{v}_2\vert };\) \(\mathbf{v}_3=\mathbf{a}_3-(\mathbf{q}_1^{\mathsf T}\mathbf{a}_3)\mathbf{q}_1-(\mathbf{q}_2^{\mathsf T}\mathbf{a}_3)\mathbf{q}_2,\quad \mathbf{q}_3=\frac{\mathbf{v}_3}{\vert \mathbf{v}_3\vert }.\)
几何直觉(它在空间中是什么样子?):$\mathbf{a}_2$ 一般既有”沿着 $\mathbf{a}_1$ 的分量”又有”垂直于 $\mathbf{a}_1$ 的分量”。我们减掉前者,剩下的 $\mathbf{v}_2$ 就垂直 $\mathbf{a}_1$。处理 $\mathbf{a}_3$ 时要减掉它在已经建好的每个方向上的投影。这就像从一堆斜放的木板中削出一套互相垂直的坐标轴。
一维图景最直观:把 $\mathbf{a}_2$ 沿 $\mathbf{q}_1$ 方向分解为”平行分量 + 垂直分量”,减掉平行分量就得到 $\mathbf{v}_2$。
a2
/|
/ |
/ | v2 = a2 - (q1^T a2) q1
/ | (垂直分量:我们要的,v2 ⟂ q1)
/ |
/ |
/______|_________________ q1 方向
proj = (q1^T a2) q1
(平行分量:要减掉的)
首尾相接: proj + v2 = a2
减掉 proj 后 v2 与整个 q1 方向正交,单位化即得 q2。
处理第三个向量时,”减掉已建方向上的投影”就是向已张成的平面作垂线:
三维空间中的 a3
* a3
/|
/ | v3 = a3 - (q1^T a3)q1 - (q2^T a3)q2
/ | (垂直于整个平面 span{q1,q2})
/ |
──────*────*────────── 平面 span{q1, q2}
投影点 p = (q1^T a3)q1 + (q2^T a3)q2
v3 ⟂ q1 且 v3 ⟂ q2 ⟹ v3 与整个平面正交。
Gram-Schmidt 就是把这个"作垂线"的动作从第 1 步重复到第 n 步:
每一步都把已有的方向清干净,剩下的就是全新的正交方向。
- 具体示例:$\mathbf{a}_1=[1,1,0]^{\mathsf T}$、$\mathbf{a}_2=[1,0,1]^{\mathsf T}$:$\mathbf{q}_1=\frac1{\sqrt2}[1,1,0]^{\mathsf T}$,$\mathbf{q}_1^{\mathsf T}\mathbf{a}_2=\frac1{\sqrt2}$,$\mathbf{v}_2=[1,0,1]^{\mathsf T}-\frac1{\sqrt2}\cdot\frac1{\sqrt2}[1,1,0]^{\mathsf T}=[\frac12,-\frac12,1]^{\mathsf T}$,$\vert \mathbf{v}_2\vert =\frac{\sqrt6}{2}$,$\mathbf{q}_2=\frac1{\sqrt6}[1,-1,2]^{\mathsf T}$。详细全流程见下一节。
$A=QR$ 分解
- 定义与目的:把 Gram-Schmidt 的全过程写成矩阵等式: \(A=QR,\) $A$ 是 $m\times n$ 列无关矩阵,$Q$ 是 $m\times n$(或 $m\times m$)列标准正交,$R$ 是 $n\times n$ 上三角且对角元为正。具体地 \(R=\begin{bmatrix}\vert \mathbf{v}_1\vert &\mathbf{q}_1^{\mathsf T}\mathbf{a}_2&\mathbf{q}_1^{\mathsf T}\mathbf{a}_3&\cdots\\ 0&\vert \mathbf{v}_2\vert &\mathbf{q}_2^{\mathsf T}\mathbf{a}_3&\cdots\\ 0&0&\vert \mathbf{v}_3\vert &\cdots\\ \vdots&\vdots&\vdots&\ddots\end{bmatrix}.\)
- 几何直觉(它在空间中是什么样子?):$R$ 记录了 Gram-Schmidt 每一步的”施工记录”:对角元 $R_{ii}=\vert \mathbf{v}_i\vert $ 是第 $i$ 步剥离出的正交分量的长度(它总是正的,因为 $\mathbf{a}_i$ 与前面的向量无关);上三角的第 $j$ 列记录 $\mathbf{a}_j$ 在已有各方向上的分量大小。上三角形状来自因果性——第一个向量只用到自己,第二个用到前两个,第三个用到前三个。
- 具体示例:$A=\begin{bmatrix}1&1&0\\1&0&1\\0&1&1\end{bmatrix}$(列无关,$\det A=-2$)的 $QR$ 中 \(R=\begin{bmatrix}\sqrt2&1/\sqrt2&1/\sqrt2\\0&\sqrt6/2&1/\sqrt6\\0&0&2/\sqrt3\end{bmatrix},\qquad \prod_i R_{ii}=\sqrt2\cdot\frac{\sqrt6}{2}\cdot\frac{2}{\sqrt3}=2.\) 因为 $Q$ 的列由 Gram-Schmidt 得到,每个 $R_{ii}=\vert \mathbf{v}i\vert >0$,所以 $\prod R{ii}=\vert \det A\vert =2$。符号由 $\det Q$ 承担:本例 $\det Q=-1$,于是 $\det A=\det Q\cdot\det R=(-1)\cdot 2=-2$ ✓。一般结论:$\vert \det A\vert =\prod_i R_{ii}$(与 $A=LU$ 时 $\vert \det A\vert =\prod_i\vert u_{ii}\vert $ 完全平行),符号则记录在 $Q$ 里。
计算步骤与手算演示
示例 1(主例):对 $A=\begin{bmatrix}1&1&0\\1&0&1\\0&1&1\end{bmatrix}$ 做完整的 Gram-Schmidt 与 $QR$ 分解
三列分别是 \(\mathbf{a}_1=\begin{bmatrix}1\\1\\0\end{bmatrix},\qquad \mathbf{a}_2=\begin{bmatrix}1\\0\\1\end{bmatrix},\qquad \mathbf{a}_3=\begin{bmatrix}0\\1\\1\end{bmatrix}.\) $\det A=1(0-1)-1(1-0)+0=-1-1=-2\neq0$,三列线性无关。$\checkmark$
步骤 1:处理 $\mathbf{a}_1$。 \(\|\mathbf{a}_1\|=\sqrt{1^2+1^2+0^2}=\sqrt2,\qquad \mathbf{q}_1=\frac{1}{\sqrt2}\begin{bmatrix}1\\1\\0\end{bmatrix}=\begin{bmatrix}1/\sqrt2\\1/\sqrt2\\0\end{bmatrix}.\)
步骤 2:从 $\mathbf{a}_2$ 中减去它在 $\mathbf{q}_1$ 上的分量。 \(\mathbf{q}_1^{\mathsf T}\mathbf{a}_2=\frac{1}{\sqrt2}\cdot1+\frac{1}{\sqrt2}\cdot0+0\cdot1=\frac{1}{\sqrt2}.\) 投影分量: \((\mathbf{q}_1^{\mathsf T}\mathbf{a}_2)\,\mathbf{q}_1=\frac{1}{\sqrt2}\cdot\frac{1}{\sqrt2}\begin{bmatrix}1\\1\\0\end{bmatrix} =\frac12\begin{bmatrix}1\\1\\0\end{bmatrix}=\begin{bmatrix}1/2\\1/2\\0\end{bmatrix}.\) 相减: \(\mathbf{v}_2=\mathbf{a}_2-(\mathbf{q}_1^{\mathsf T}\mathbf{a}_2)\mathbf{q}_1 =\begin{bmatrix}1\\0\\1\end{bmatrix}-\begin{bmatrix}1/2\\1/2\\0\end{bmatrix} =\begin{bmatrix}1/2\\-1/2\\1\end{bmatrix}.\) 长度: \(\vert \mathbf{v}_2\vert =\sqrt{\frac14+\frac14+1}=\sqrt{\frac32}=\frac{\sqrt6}{2}.\) 单位化: \(\mathbf{q}_2=\frac{\mathbf{v}_2}{\|\mathbf{v}_2\|}=\frac{2}{\sqrt6}\begin{bmatrix}1/2\\-1/2\\1\end{bmatrix} =\frac{1}{\sqrt6}\begin{bmatrix}1\\-1\\2\end{bmatrix}=\begin{bmatrix}1/\sqrt6\\-1/\sqrt6\\2/\sqrt6\end{bmatrix}.\)
步骤 3:从 $\mathbf{a}_3$ 中减去它在 $\mathbf{q}_1$ 与 $\mathbf{q}_2$ 上的分量。 \(\mathbf{q}_1^{\mathsf T}\mathbf{a}_3=\frac{1}{\sqrt2}\cdot0+\frac{1}{\sqrt2}\cdot1+0\cdot1=\frac{1}{\sqrt2},\qquad \mathbf{q}_2^{\mathsf T}\mathbf{a}_3=\frac{1}{\sqrt6}\cdot0+\frac{-1}{\sqrt6}\cdot1+\frac{2}{\sqrt6}\cdot1=\frac{1}{\sqrt6}.\) 两个投影分量: \((\mathbf{q}_1^{\mathsf T}\mathbf{a}_3)\mathbf{q}_1=\frac{1}{\sqrt2}\cdot\frac{1}{\sqrt2}\begin{bmatrix}1\\1\\0\end{bmatrix}=\frac12\begin{bmatrix}1\\1\\0\end{bmatrix}=\begin{bmatrix}1/2\\1/2\\0\end{bmatrix},\) \((\mathbf{q}_2^{\mathsf T}\mathbf{a}_3)\mathbf{q}_2=\frac{1}{\sqrt6}\cdot\frac{1}{\sqrt6}\begin{bmatrix}1\\-1\\2\end{bmatrix}=\frac16\begin{bmatrix}1\\-1\\2\end{bmatrix}=\begin{bmatrix}1/6\\-1/6\\1/3\end{bmatrix}.\) 相减: \(\mathbf{v}_3=\begin{bmatrix}0\\1\\1\end{bmatrix}-\begin{bmatrix}1/2\\1/2\\0\end{bmatrix}-\begin{bmatrix}1/6\\-1/6\\1/3\end{bmatrix} =\begin{bmatrix}0-\frac12-\frac16\\ 1-\frac12+\frac16\\ 1-0-\frac13\end{bmatrix} =\begin{bmatrix}-2/3\\2/3\\2/3\end{bmatrix}.\) (分数核对:$-\frac12-\frac16=-\frac46=-\frac23$;$1-\frac12+\frac16=\frac{6-3+1}{6}=\frac46=\frac23$;$1-\frac13=\frac23$。) 长度: \(\vert \mathbf{v}_3\vert =\sqrt{\frac49+\frac49+\frac49}=\sqrt{\frac43}=\frac{2}{\sqrt3}=\frac{2\sqrt3}{3}.\) 单位化: \(\mathbf{q}_3=\frac{\mathbf{v}_3}{\|\mathbf{v}_3\|}=\frac{\sqrt3}{2}\begin{bmatrix}-2/3\\2/3\\2/3\end{bmatrix} =\frac{1}{\sqrt3}\begin{bmatrix}-1\\1\\1\end{bmatrix}=\begin{bmatrix}-1/\sqrt3\\1/\sqrt3\\1/\sqrt3\end{bmatrix}.\)
步骤 4:验证三个 $\mathbf{q}$ 两两正交且长度为 1。 \(\mathbf{q}_1^{\mathsf T}\mathbf{q}_2=\frac{1}{\sqrt2\cdot\sqrt6}(1\cdot1+1\cdot(-1)+0\cdot2)=\frac{1-1}{\sqrt{12}}=0.\ \checkmark\) \(\mathbf{q}_1^{\mathsf T}\mathbf{q}_3=\frac{1}{\sqrt2\cdot\sqrt3}(1\cdot(-1)+1\cdot1+0\cdot1)=\frac{-1+1}{\sqrt6}=0.\ \checkmark\) \(\mathbf{q}_2^{\mathsf T}\mathbf{q}_3=\frac{1}{\sqrt6\cdot\sqrt3}(1\cdot(-1)+(-1)\cdot1+2\cdot1)=\frac{-1-1+2}{\sqrt{18}}=0.\ \checkmark\) \(\vert \mathbf{q}_1\vert ^2=\frac12+\frac12+0=1,\quad\vert \mathbf{q}_2\vert ^2=\frac16+\frac16+\frac46=1,\quad\vert \mathbf{q}_3\vert ^2=\frac13+\frac13+\frac13=1.\ \checkmark\)
步骤 5:组装 $Q$ 与 $R$。 \(Q=\begin{bmatrix}\mathbf{q}_1&\mathbf{q}_2&\mathbf{q}_3\end{bmatrix} =\begin{bmatrix}1/\sqrt2&1/\sqrt6&-1/\sqrt3\\ 1/\sqrt2&-1/\sqrt6&1/\sqrt3\\ 0&2/\sqrt6&1/\sqrt3\end{bmatrix} \approx\begin{bmatrix}0.7071&0.4082&-0.5774\\ 0.7071&-0.4082&0.5774\\ 0&0.8165&0.5774\end{bmatrix}.\) \(R=\begin{bmatrix}\|\mathbf{v}_1\|&\mathbf{q}_1^{\mathsf T}\mathbf{a}_2&\mathbf{q}_1^{\mathsf T}\mathbf{a}_3\\ 0&\|\mathbf{v}_2\|&\mathbf{q}_2^{\mathsf T}\mathbf{a}_3\\ 0&0&\|\mathbf{v}_3\|\end{bmatrix} =\begin{bmatrix}\sqrt2&1/\sqrt2&1/\sqrt2\\ 0&\sqrt6/2&1/\sqrt6\\ 0&0&2/\sqrt3\end{bmatrix} \approx\begin{bmatrix}1.4142&0.7071&0.7071\\ 0&1.2247&0.4082\\ 0&0&1.1547\end{bmatrix}.\)
步骤 6:验证 $QR=A$。 第一列:$R$ 的第一列只有 $R_{11}=\sqrt2$,故 $A$ 的第一列 $\approx\sqrt2\,\mathbf{q}_1=\sqrt2\cdot\frac1{\sqrt2}[1,1,0]^{\mathsf T}=[1,1,0]^{\mathsf T}$。$\checkmark$ 第二列:$\frac{1}{\sqrt2}\mathbf{q}_1+\frac{\sqrt6}{2}\mathbf{q}_2=\frac12[1,1,0]^{\mathsf T}+\frac{\sqrt6}{2}\cdot\frac{1}{\sqrt6}[1,-1,2]^{\mathsf T}=\frac12[1,1,0]^{\mathsf T}+\frac12[1,-1,2]^{\mathsf T}=[1,0,1]^{\mathsf T}$。$\checkmark$ 第三列:$\frac{1}{\sqrt2}\mathbf{q}_1+\frac{1}{\sqrt6}\mathbf{q}_2+\frac{2}{\sqrt3}\mathbf{q}_3$ \(=\frac12\begin{bmatrix}1\\1\\0\end{bmatrix}+\frac16\begin{bmatrix}1\\-1\\2\end{bmatrix}+\frac23\begin{bmatrix}-1\\1\\1\end{bmatrix} =\begin{bmatrix}\frac12+\frac16-\frac23\\ \frac12-\frac16+\frac23\\ 0+\frac13+\frac23\end{bmatrix} =\begin{bmatrix}\frac{3+1-4}{6}\\ \frac{3-1+4}{6}\\ 1\end{bmatrix} =\begin{bmatrix}0\\1\\1\end{bmatrix}.\ \checkmark\) 矩阵形式:$QR\approx\begin{bmatrix}0.7071&0.4082&-0.5774\\0.7071&-0.4082&0.5774\\0&0.8165&0.5774\end{bmatrix}\begin{bmatrix}1.4142&0.7071&0.7071\\0&1.2247&0.4082\\0&0&1.1547\end{bmatrix}=\begin{bmatrix}1&1&0\\1&0&1\\0&1&1\end{bmatrix}=A$。$\checkmark$
步骤 7:验证 $Q^{\mathsf T}Q=I$。 \(Q^{\mathsf T}Q=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}.\ \checkmark\) (这是必然的:$Q$ 的三列标准正交。注意 $Q$ 是方阵,所以 $QQ^{\mathsf T}=I$ 也成立。)
步骤 8:$\det$ 的对照检验。 $\det A=-2$,而 $\det Q=\det\begin{bmatrix}\mathbf{q}1&\mathbf{q}_2&\mathbf{q}_3\end{bmatrix}$。直接算 $Q$ 的行列式(用第 3 行展开,$Q{31}=0$): \(\det Q=0\cdot(\cdots)-\frac{2}{\sqrt6}\left(\frac{1}{\sqrt2}\cdot\frac{1}{\sqrt3}-\frac{-1}{\sqrt3}\cdot\frac{1}{\sqrt2}\right)+\frac{1}{\sqrt3}\left(\frac{1}{\sqrt2}\cdot\frac{-1}{\sqrt6}-\frac{1}{\sqrt6}\cdot\frac{1}{\sqrt2}\right)\) \(=-\frac{2}{\sqrt6}\cdot\frac{2}{\sqrt6}+\frac{1}{\sqrt3}\cdot\left(-\frac{2}{\sqrt{12}}\right) =-\frac{4}{6}-\frac{2}{\sqrt{36}}=-\frac23-\frac13=-1.\) 于是 $\det A=\det Q\cdot\det R=(-1)\cdot\left(\sqrt2\cdot\frac{\sqrt6}{2}\cdot\frac2{\sqrt3}\right)=(-1)\cdot\sqrt2\cdot\frac{\sqrt6}{\sqrt3}=(-1)\cdot\sqrt2\cdot\sqrt2=-2.\ \checkmark$
注意符号:$\prod_i R_{ii}=\sqrt2\cdot\frac{\sqrt6}2\cdot\frac2{\sqrt3}=2>0$,所以 $\vert \det A\vert =2$ 直接可读;符号由 $\det Q=\pm1$ 承载。$\vert \det A\vert =\prod_i R_{ii}$ 总是成立的(因为 $\vert \det Q\vert =1$),这是 $QR$ 的一个免费副产品。
【计算机制解说】:Gram-Schmidt 为什么一定成功?两个关键点。
**(i)为什么 $\mathbf{v}k\neq\mathbf{0}$?** 假设 $\mathbf{v}_k=\mathbf{0}$,则 $\mathbf{a}_k$ 完全落在 $\operatorname{span}\{\mathbf{q}_1,\dots,\mathbf{q}{k-1}\}=\operatorname{span}\{\mathbf{a}1,\dots,\mathbf{a}{k-1}\}$ 里,即 $\mathbf{a}1,\dots,\mathbf{a}_k$ 线性相关——与前提矛盾。所以只要原向量组线性无关,每一步的 $\mathbf{v}_k$ 都非零,$\mathbf{q}_k$ 有意义,且 $R{kk}=\vert \mathbf{v}_k\vert >0$。
(ii)为什么每个 $\mathbf{v}_k$ 都垂直于所有前面的 $\mathbf{q}_j$? 用归纳法。以 $\mathbf{v}_2$ 为例: \(\mathbf{q}_1^{\mathsf T}\mathbf{v}_2=\mathbf{q}_1^{\mathsf T}\mathbf{a}_2-(\mathbf{q}_1^{\mathsf T}\mathbf{a}_2)\underbrace{\mathbf{q}_1^{\mathsf T}\mathbf{q}_1}_{=1}=0.\) 对 $\mathbf{v}_3$:对 $j=1,2$, \(\mathbf{q}_j^{\mathsf T}\mathbf{v}_3=\mathbf{q}_j^{\mathsf T}\mathbf{a}_3-(\mathbf{q}_1^{\mathsf T}\mathbf{a}_3)\underbrace{\mathbf{q}_j^{\mathsf T}\mathbf{q}_1}_{=\delta_{j1}}-(\mathbf{q}_2^{\mathsf T}\mathbf{a}_3)\underbrace{\mathbf{q}_j^{\mathsf T}\mathbf{q}_2}_{=\delta_{j2}}=0.\) 一般地,$\mathbf{q}_j^{\mathsf T}\mathbf{v}_k=\mathbf{q}_j^{\mathsf T}\mathbf{a}_k-\mathbf{q}_j^{\mathsf T}\mathbf{a}_k=0$。这一步之所以干净,全靠前面已经单位化——如果 $\mathbf{q}$ 只有正交而未归一,公式里会残留 $\vert \mathbf{q}_j\vert ^2$ 因子。内积的”抵消”机制是 Gram-Schmidt 的核心。
(iii)张成空间为什么保持不变? 每一步都是”从一个向量里减去前面向量的线性组合”,所以 $\mathbf{v}_k$ 与 $\mathbf{a}_k$ 的差落在前面张成的空间里,因此 $\operatorname{span}\{\mathbf{q}_1,\dots,\mathbf{q}_k\}\subseteq\operatorname{span}\{\mathbf{a}_1,\dots,\mathbf{a}_k\}$;反过来 $\mathbf{a}_k$ 也可由 $\mathbf{q}_1,\dots,\mathbf{q}_k$ 线性表示,两方向都成立,维数相同(都是 $k$),所以相等。这保证了 $A$ 与 $Q$ 的列空间相同——投影到 $C(A)$ 与投影到 $C(Q)$ 是同一件事。
示例 2:用 $QR$ 做最小二乘——把 Lecture 16 的答案再用一遍
沿用 Lecture 16 的数据 $(1,1),(2,2),(3,4)$: \(A=\begin{bmatrix}1&1\\1&2\\1&3\end{bmatrix},\qquad \mathbf{b}=\begin{bmatrix}1\\2\\4\end{bmatrix}.\) $\mathbf{a}_1=[1,1,1]^{\mathsf T}$,$\mathbf{a}_2=[1,2,3]^{\mathsf T}$。
步骤 1:Gram-Schmidt。 \(\vert \mathbf{a}_1\vert =\sqrt3,\qquad \mathbf{q}_1=\frac{1}{\sqrt3}\begin{bmatrix}1\\1\\1\end{bmatrix}.\) \(\mathbf{q}_1^{\mathsf T}\mathbf{a}_2=\frac{1+2+3}{\sqrt3}=\frac{6}{\sqrt3}=2\sqrt3,\qquad (\mathbf{q}_1^{\mathsf T}\mathbf{a}_2)\mathbf{q}_1=2\sqrt3\cdot\frac{1}{\sqrt3}\begin{bmatrix}1\\1\\1\end{bmatrix}=2\begin{bmatrix}1\\1\\1\end{bmatrix}=\begin{bmatrix}2\\2\\2\end{bmatrix},\) \(\mathbf{v}_2=\begin{bmatrix}1\\2\\3\end{bmatrix}-\begin{bmatrix}2\\2\\2\end{bmatrix}=\begin{bmatrix}-1\\0\\1\end{bmatrix},\qquad \|\mathbf{v}_2\|=\sqrt2,\qquad \mathbf{q}_2=\frac{1}{\sqrt2}\begin{bmatrix}-1\\0\\1\end{bmatrix}.\)
步骤 2:组装 $Q,R$。 \(Q=\begin{bmatrix}1/\sqrt3&-1/\sqrt2\\ 1/\sqrt3&0\\ 1/\sqrt3&1/\sqrt2\end{bmatrix},\qquad R=\begin{bmatrix}\sqrt3&2\sqrt3\\ 0&\sqrt2\end{bmatrix}.\) 验证 $QR=A$:第一列 $\sqrt3\,\mathbf{q}_1=[1,1,1]^{\mathsf T}$ $\checkmark$;第二列 $2\sqrt3\,\mathbf{q}_1+\sqrt2\,\mathbf{q}_2=[2,2,2]^{\mathsf T}+[-1,0,1]^{\mathsf T}=[1,2,3]^{\mathsf T}$ $\checkmark$。$Q^{\mathsf T}Q=\begin{bmatrix}1&0\\0&1\end{bmatrix}$ $\checkmark$。
步骤 3:把正规方程换成 $R\hat{\mathbf{x}}=Q^{\mathsf T}\mathbf{b}$。 \(Q^{\mathsf T}\mathbf{b}=\begin{bmatrix}1/\sqrt3&1/\sqrt3&1/\sqrt3\\ -1/\sqrt2&0&1/\sqrt2\end{bmatrix}\begin{bmatrix}1\\2\\4\end{bmatrix} =\begin{bmatrix}\frac{7}{\sqrt3}\\ \frac{3}{\sqrt2}\end{bmatrix} \approx\begin{bmatrix}4.0415\\2.1213\end{bmatrix}.\)
步骤 4:回代。 \(\begin{bmatrix}\sqrt3&2\sqrt3\\ 0&\sqrt2\end{bmatrix}\begin{bmatrix}C\\D\end{bmatrix}=\begin{bmatrix}7/\sqrt3\\ 3/\sqrt2\end{bmatrix}.\) 第二行:$\sqrt2\,D=\frac{3}{\sqrt2}\Rightarrow D=\frac{3}{2}$。(与 Lecture 16 的 $D=3/2$ 一致。) 第一行:$\sqrt3\,C+2\sqrt3\cdot\frac32=\frac{7}{\sqrt3}\Rightarrow \sqrt3 C=\frac{7}{\sqrt3}-3\sqrt3=\frac{7-9}{\sqrt3}=-\frac{2}{\sqrt3}\Rightarrow C=-\frac23$。(一致。)
步骤 5:投影与残差(用 $P=QQ^{\mathsf T}$)。 \(P=QQ^{\mathsf T}=\begin{bmatrix}1/\sqrt3&-1/\sqrt2\\ 1/\sqrt3&0\\ 1/\sqrt3&1/\sqrt2\end{bmatrix}\begin{bmatrix}1/\sqrt3&1/\sqrt3&1/\sqrt3\\ -1/\sqrt2&0&1/\sqrt2\end{bmatrix} =\begin{bmatrix}\frac13+\frac12&\frac13&\frac13-\frac12\\ \frac13&\frac13&\frac13\\ \frac13-\frac12&\frac13&\frac13+\frac12\end{bmatrix} =\begin{bmatrix}5/6&1/3&-1/6\\ 1/3&1/3&1/3\\ -1/6&1/3&5/6\end{bmatrix}.\) 这与 Lecture 16 用 $A(A^{\mathsf T}A)^{-1}A^{\mathsf T}$ 算出的 $P$ 完全相同 $\checkmark$——但这次我们没有求任何逆矩阵。$P\mathbf{b}=\begin{bmatrix}5/6\\7/3\\23/6\end{bmatrix}$,$\mathbf{e}=\mathbf{b}-P\mathbf{b}=\begin{bmatrix}1/6\\-1/3\\1/6\end{bmatrix}$,$E=1/6$。$\checkmark$
另一种算法(更直观):直接用正交基展开投影 \(\mathbf{p}=(\mathbf{q}_1^{\mathsf T}\mathbf{b})\mathbf{q}_1+(\mathbf{q}_2^{\mathsf T}\mathbf{b})\mathbf{q}_2 =\frac{7}{\sqrt3}\cdot\frac{1}{\sqrt3}\begin{bmatrix}1\\1\\1\end{bmatrix}+\frac{3}{\sqrt2}\cdot\frac{1}{\sqrt2}\begin{bmatrix}-1\\0\\1\end{bmatrix} =\begin{bmatrix}7/3\\7/3\\7/3\end{bmatrix}+\begin{bmatrix}-3/2\\0\\3/2\end{bmatrix} =\begin{bmatrix}5/6\\7/3\\23/6\end{bmatrix}.\ \checkmark\) 并且 $\mathbf{q}_1^{\mathsf T}\mathbf{e}=\frac{1}{\sqrt3}\left(\frac16-\frac13+\frac16\right)=0$,$\mathbf{q}_2^{\mathsf T}\mathbf{e}=\frac{1}{\sqrt2}\left(-\frac16+\frac16\right)=0$。$\checkmark$
【计算机制解说】:为什么 $A=QR$ 让最小二乘又快又稳?
(i)代数上省一次求逆:$A^{\mathsf T}A=(QR)^{\mathsf T}(QR)=R^{\mathsf T}\underbrace{Q^{\mathsf T}Q}{=I}R=R^{\mathsf T}R$。正规方程 $A^{\mathsf T}A\hat{\mathbf{x}}=A^{\mathsf T}\mathbf{b}$ 变为 \(R^{\mathsf T}R\hat{\mathbf{x}}=R^{\mathsf T}Q^{\mathsf T}\mathbf{b}.\) $R$ 可逆(对角元 $R{ii}=\vert \mathbf{v}_i\vert >0$),两边左乘 $(R^{\mathsf T})^{-1}$ 得 $R\hat{\mathbf{x}}=Q^{\mathsf T}\mathbf{b}$。$R$ 上三角,回代(back substitution)两步搞定,不需要显式求逆。
(ii)结构上变成”逐个正交分量”:$R\hat{\mathbf{x}}=Q^{\mathsf T}\mathbf{b}$ 的最后一个分量最先解出($R_{nn}\hat{x}_n=\mathbf{q}_n^{\mathsf T}\mathbf{b}$),然后往上回代。这说明 Gram-Schmidt 的顺序就是”信息逐步进入”的顺序,第一个基向量最先生效,最后一个最后修正。
(iii)数值上更稳:$A^{\mathsf T}A$ 的条件数是 $A$ 的条件数的平方。若 $A$ 的奇异值跨越 $10^4$ 倍,$A^{\mathsf T}A$ 就跨越 $10^8$ 倍——在浮点数里损失大量有效位。而 $QR$ 路径只用正交变换(保长,不放大误差)和三角回代,条件数只损失一次方。这就是为什么所有工业级最小二乘软件(LAPACK 的 gels、NumPy 的 lstsq)内部都用 $QR$ 或 SVD,而不是直接解 $A^{\mathsf T}A$。
(iv)顺带一提”免费的行列式”:由 $A=QR$ 得 $\vert \det A\vert =\vert \det Q\vert \cdot\vert \det R\vert =\prod_i R_{ii}$($R$ 上三角),$\vert \det Q\vert =1$。示例 1 已验证 $\prod R_{ii}=2=\vert \det A\vert $。
示例 3:用标准正交基做投影——$P=QQ^{\mathsf T}$ 与”逐个分量相加”
取示例 1 中的平面,用它的前两个标准正交方向张成平面 $\mathcal{P}=\operatorname{span}\{\mathbf{q}_1,\mathbf{q}_2\}$: \(\mathbf{q}_1=\frac{1}{\sqrt2}\begin{bmatrix}1\\1\\0\end{bmatrix},\qquad \mathbf{q}_2=\frac{1}{\sqrt6}\begin{bmatrix}1\\-1\\2\end{bmatrix},\qquad \mathbf{b}=\begin{bmatrix}1\\2\\4\end{bmatrix}.\)
步骤 1:算两个系数。 \(\mathbf{q}_1^{\mathsf T}\mathbf{b}=\frac{1+2+0}{\sqrt2}=\frac{3}{\sqrt2}\approx2.1213,\qquad \mathbf{q}_2^{\mathsf T}\mathbf{b}=\frac{1-2+8}{\sqrt6}=\frac{7}{\sqrt6}\approx2.8577.\)
步骤 2:投影 = 分量之和。 \(\mathbf{p}=\frac{3}{\sqrt2}\cdot\frac{1}{\sqrt2}\begin{bmatrix}1\\1\\0\end{bmatrix}+\frac{7}{\sqrt6}\cdot\frac{1}{\sqrt6}\begin{bmatrix}1\\-1\\2\end{bmatrix} =\frac32\begin{bmatrix}1\\1\\0\end{bmatrix}+\frac76\begin{bmatrix}1\\-1\\2\end{bmatrix} =\begin{bmatrix}\frac32+\frac76\\ \frac32-\frac76\\ \frac{14}{6}\end{bmatrix} =\begin{bmatrix}\frac{9+7}{6}\\ \frac{9-7}{6}\\ \frac73\end{bmatrix} =\begin{bmatrix}8/3\\1/3\\7/3\end{bmatrix}\approx\begin{bmatrix}2.6667\\0.3333\\2.3333\end{bmatrix}.\)
步骤 3:残差与正交验证。 \(\mathbf{e}=\mathbf{b}-\mathbf{p}=\begin{bmatrix}1-8/3\\2-1/3\\4-7/3\end{bmatrix}=\begin{bmatrix}-5/3\\5/3\\5/3\end{bmatrix}\approx\begin{bmatrix}-1.6667\\1.6667\\1.6667\end{bmatrix}.\) \(\mathbf{q}_1^{\mathsf T}\mathbf{e}=\frac{1}{\sqrt2}\left(-\frac53+\frac53\right)=0,\qquad \mathbf{q}_2^{\mathsf T}\mathbf{e}=\frac{1}{\sqrt6}\left(-\frac53-\frac53+\frac{10}{3}\right)=0.\ \checkmark\)
步骤 4:$P=QQ^{\mathsf T}$ 应给出同样的 $\mathbf{p}$。 \(QQ^{\mathsf T}=\begin{bmatrix}1/\sqrt2&1/\sqrt6\\ 1/\sqrt2&-1/\sqrt6\\ 0&2/\sqrt6\end{bmatrix}\begin{bmatrix}1/\sqrt2&1/\sqrt2&0\\ 1/\sqrt6&-1/\sqrt6&2/\sqrt6\end{bmatrix} =\begin{bmatrix}\frac12+\frac16&\frac12-\frac16&\frac{2}{6}\\ \frac12-\frac16&\frac12+\frac16&-\frac26\\ \frac26&-\frac26&\frac46\end{bmatrix} =\begin{bmatrix}2/3&1/3&1/3\\ 1/3&2/3&-1/3\\ 1/3&-1/3&2/3\end{bmatrix}.\) $QQ^{\mathsf T}\mathbf{b}=\begin{bmatrix}\frac23+\frac23+\frac43\\ \frac13+\frac43-\frac43\\ \frac13-\frac23+\frac83\end{bmatrix}=\begin{bmatrix}8/3\\1/3\\7/3\end{bmatrix}=\mathbf{p}.\ \checkmark$ $P$ 对称、幂等(与 Lecture 15 示例 2 的 $P$ 形状完全一致——因为 $P$ 只取决于子空间,不取决于你选哪组基来描述它),$\operatorname{trace}(P)=\frac23+\frac23+\frac23=2$。$\checkmark$
步骤 5:用 $I-P$ 直接得误差。 \(\mathbf{e}=(I-P)\mathbf{b}=\begin{bmatrix}1/3&-1/3&-1/3\\ -1/3&1/3&1/3\\ -1/3&1/3&1/3\end{bmatrix}\begin{bmatrix}1\\2\\4\end{bmatrix} =\begin{bmatrix}\frac13-\frac23-\frac43\\ -\frac13+\frac23+\frac43\\ -\frac13+\frac23+\frac43\end{bmatrix}=\begin{bmatrix}-5/3\\5/3\\5/3\end{bmatrix}.\ \checkmark\)
【计算机制解说】:这个例子把”$A^{\mathsf T}A$ 耦合”与”$Q^{\mathsf T}Q=I$ 解耦”的差别展示得很清楚。
若用非正交基 $\mathbf{a}_1,\mathbf{a}_2$ 描述同一个平面,求 $\mathbf{p}=c_1\mathbf{a}_1+c_2\mathbf{a}_2$ 需要解 $\begin{bmatrix}\mathbf{a}_1^{\mathsf T}\mathbf{a}_1&\mathbf{a}_1^{\mathsf T}\mathbf{a}_2\\ \mathbf{a}_2^{\mathsf T}\mathbf{a}_1&\mathbf{a}_2^{\mathsf T}\mathbf{a}_2\end{bmatrix}\begin{bmatrix}c_1\\c_2\end{bmatrix}=\begin{bmatrix}\mathbf{a}_1^{\mathsf T}\mathbf{b}\\ \mathbf{a}_2^{\mathsf T}\mathbf{b}\end{bmatrix}$——两个未知数互相纠缠(示例 3 的 $A^{\mathsf T}A$ 一般不是对角阵)。 若用正交基,矩阵变成单位阵 $I$,方程立刻解耦成 $\mathbf{q}_1^{\mathsf T}\mathbf{b}$、$\mathbf{q}_2^{\mathsf T}\mathbf{b}$ 两个独立的一维投影。几何上,这意味着沿着互相垂直的方向,分量互不干扰——这正是”正交”一词的实际价值。Gram-Schmidt 的全部努力,就是把一个耦合问题变成 $n$ 个互不相干的简单问题。
示例 4:Gram-Schmidt 顺带检测线性相关($R$ 出现零对角元)
取一个列相关的矩阵: \(A=\begin{bmatrix}1&2&0\\1&2&1\\0&0&1\end{bmatrix},\qquad\text{列:}\ \mathbf{a}_1=\begin{bmatrix}1\\1\\0\end{bmatrix},\ \mathbf{a}_2=\begin{bmatrix}2\\2\\0\end{bmatrix},\ \mathbf{a}_3=\begin{bmatrix}0\\1\\1\end{bmatrix}.\) 显然 $\mathbf{a}_2=2\mathbf{a}_1$,所以 $\operatorname{rank}(A)=2$。
步骤 1:处理 $\mathbf{a}_1$。 \(\vert \mathbf{a}_1\vert =\sqrt2,\qquad \mathbf{q}_1=\frac{1}{\sqrt2}\begin{bmatrix}1\\1\\0\end{bmatrix}.\)
步骤 2:处理 $\mathbf{a}2$——$\mathbf{v}_2$ 变成零向量。** \(\mathbf{q}_1^{\mathsf T}\mathbf{a}_2=\frac{2+2+0}{\sqrt2}=\frac{4}{\sqrt2}=2\sqrt2,\qquad (\mathbf{q}_1^{\mathsf T}\mathbf{a}_2)\mathbf{q}_1=2\sqrt2\cdot\frac{1}{\sqrt2}\begin{bmatrix}1\\1\\0\end{bmatrix}=2\begin{bmatrix}1\\1\\0\end{bmatrix}=\begin{bmatrix}2\\2\\0\end{bmatrix},\) \(\mathbf{v}_2=\mathbf{a}_2-(\mathbf{q}_1^{\mathsf T}\mathbf{a}_2)\mathbf{q}_1=\begin{bmatrix}2\\2\\0\end{bmatrix}-\begin{bmatrix}2\\2\\0\end{bmatrix}=\begin{bmatrix}0\\0\\0\end{bmatrix},\qquad \vert \mathbf{v}_2\vert =0.\) **算法在这里报警**:$\mathbf{v}_2=\mathbf{0}$ 说明 $\mathbf{a}_2$ 完全落在前面已建好的方向里,$\mathbf{a}_2$ 与 $\mathbf{a}_1$ 线性相关。此时 **$R{22}=0$,$R$ 奇异,$A=QR$ 的”薄”版本不存在(因为 $Q$ 无法凑出 $n=3$ 个正交列)。若强行继续(用 $\mathbf{0}/0$ 单位化)会得到 NaN。
步骤 3:跳过 $\mathbf{a}_2$,改用 $\mathbf{a}_3$ 作为第二个方向(列主元的思想)。 \(\mathbf{q}_1^{\mathsf T}\mathbf{a}_3=\frac{0+1+0}{\sqrt2}=\frac{1}{\sqrt2},\qquad (\mathbf{q}_1^{\mathsf T}\mathbf{a}_3)\mathbf{q}_1=\frac{1}{\sqrt2}\cdot\frac{1}{\sqrt2}\begin{bmatrix}1\\1\\0\end{bmatrix}=\begin{bmatrix}1/2\\1/2\\0\end{bmatrix},\) \(\mathbf{v}_3=\begin{bmatrix}0\\1\\1\end{bmatrix}-\begin{bmatrix}1/2\\1/2\\0\end{bmatrix}=\begin{bmatrix}-1/2\\1/2\\1\end{bmatrix},\qquad \|\mathbf{v}_3\|=\sqrt{\frac14+\frac14+1}=\frac{\sqrt6}{2},\) \(\mathbf{q}_2=\frac{2}{\sqrt6}\begin{bmatrix}-1/2\\1/2\\1\end{bmatrix}=\frac{1}{\sqrt6}\begin{bmatrix}-1\\1\\2\end{bmatrix}.\)
**步骤 4:用前两列 $[\mathbf{a}1,\mathbf{a}_3]$ 组装有效的 $QR$。** \(Q=\begin{bmatrix}1/\sqrt2&-1/\sqrt6\\ 1/\sqrt2&1/\sqrt6\\ 0&2/\sqrt6\end{bmatrix},\qquad R=\begin{bmatrix}\sqrt2&1/\sqrt2\\ 0&\sqrt6/2\end{bmatrix}.\) 验证 $QR=$ 前两列 $=\begin{bmatrix}1&0\\1&1\\0&1\end{bmatrix}$:第一列 $\sqrt2\mathbf{q}_1=[1,1,0]^{\mathsf T}$ $\checkmark$;第二列 $\frac{1}{\sqrt2}\mathbf{q}_1+\frac{\sqrt6}{2}\mathbf{q}_2=\frac12[1,1,0]^{\mathsf T}+\frac12[-1,1,2]^{\mathsf T}=[0,1,1]^{\mathsf T}$ $\checkmark$。$Q^{\mathsf T}Q=I$ $\checkmark$,且 $\vert \mathbf{q}_1\vert =\vert \mathbf{q}_2\vert =1$、$\mathbf{q}_1^{\mathsf T}\mathbf{q}_2=\frac{-1+1+0}{\sqrt{12}}=0$ $\checkmark$。$\sqrt3=\sqrt2\cdot\frac{\sqrt6}{2}=R{11}R_{22}$ 正是这两列在 $\mathbb{R}^3$ 中张成的平行四边形的面积(由 $\vert \mathbf{a}_1\vert \cdot\vert \mathbf{v}_3\vert $ 给出:底 $\times$ 高),也等于 $\sqrt{\det(A^{\mathsf T}A)}=\sqrt{\det\begin{bmatrix}2&1\\1&2\end{bmatrix}}=\sqrt3$(一般地,$A$ 的两列张成的面积 $=\sqrt{\det(A^{\mathsf T}A)}$)。$\checkmark$
【计算机制解说】:$R$ 出现零对角元与”$A$ 列相关”是同一件事,而 Gram-Schmidt 是免费的秩检测器。原因是 $R_{kk}=\vert \mathbf{v}k\vert $,而 $\mathbf{v}_k=\mathbf{0}\iff\mathbf{a}_k\in\operatorname{span}\{\mathbf{a}_1,\dots,\mathbf{a}{k-1}\}$。所以”数一数 $R$ 中有几个非零对角元”就等于 $\operatorname{rank}(A)$——不需要算行列式或做行消元。实际软件为了稳健,会在每一步选剩余向量中长度最大的那个先处理(列主元 QR,column pivoting),这样零对角元会集中在 $R$ 的右下角,一眼就能看出有效秩,也能避免”小 $\vert \mathbf{v}_k\vert $ 除以接近零的数”造成的数值灾难。这也是 Lecture 33 构造伪逆 $A^{+}$ 的思路之一(另一种是 SVD,更稳)。
示例 5:Householder 变换——另一种(更稳的)走上三角的方法
经典 Gram-Schmidt 逐列减投影;Householder 则用反射矩阵把整列”打”成只剩一个非零元。仍然用 $\mathbf{a}_1=[1,2,3]^{\mathsf T}$,$\mathbf{a}_2=[1,0,1]^{\mathsf T}$ 组成的 \(A=\begin{bmatrix}1&1\\2&0\\3&1\end{bmatrix}.\)
步骤 1:构造反射。 目标是找一个单位向量 $\mathbf{u}$,使 \(H=I-2\frac{\mathbf{u}\mathbf{u}^{\mathsf T}}{\mathbf{u}^{\mathsf T}\mathbf{u}}\) 把 $\mathbf{a}_1$ 映成 $\vert \mathbf{a}_1\vert \mathbf{e}_1$ 的倍数。$H$ 的性质:对称($H^{\mathsf T}=H$)、正交($H^{\mathsf T}H=I$)、对合($H^2=I$)——它是关于超平面 $\mathbf{u}^{\perp}$ 的镜面反射。
取 $\mathbf{u}=\mathbf{a}_1-\vert \mathbf{a}_1\vert \mathbf{e}_1$。$\vert \mathbf{a}_1\vert =\sqrt{1+4+9}=\sqrt{14}\approx3.7417$,故 \(\mathbf{u}=\begin{bmatrix}1\\2\\3\end{bmatrix}-\begin{bmatrix}\sqrt{14}\\0\\0\end{bmatrix}=\begin{bmatrix}1-\sqrt{14}\\2\\3\end{bmatrix}\approx\begin{bmatrix}-2.7417\\2\\3\end{bmatrix}.\) (先略去具体数值计算,只验证”结构”:$H\mathbf{a}_1$ 的第一分量会是 $-\vert \mathbf{a}_1\vert $,其余为零。)
步骤 2:$2\times2$ 的完整手算版本(数字干净)。 取 \(A=\begin{bmatrix}3&1\\4&2\end{bmatrix},\qquad \mathbf{a}_1=\begin{bmatrix}3\\4\end{bmatrix},\ \vert \mathbf{a}_1\vert =5,\ \mathbf{u}=\mathbf{a}_1-5\mathbf{e}_1=\begin{bmatrix}-2\\4\end{bmatrix},\) \(\mathbf{u}^{\mathsf T}\mathbf{u}=4+16=20,\qquad H=I-2\frac{\mathbf{u}\mathbf{u}^{\mathsf T}}{20}=I-\frac{1}{10}\begin{bmatrix}4&-8\\-8&16\end{bmatrix} =\begin{bmatrix}1-0.4&0.8\\0.8&1-1.6\end{bmatrix}=\begin{bmatrix}0.6&0.8\\0.8&-0.6\end{bmatrix}.\) 验证: \(H^{\mathsf T}H=\begin{bmatrix}0.6&0.8\\0.8&-0.6\end{bmatrix}\begin{bmatrix}0.6&0.8\\0.8&-0.6\end{bmatrix} =\begin{bmatrix}0.36+0.64&0.48-0.48\\0.48-0.48&0.64+0.36\end{bmatrix}=\begin{bmatrix}1&0\\0&1\end{bmatrix}.\ \checkmark\) $H^2=I$,$\det H=0.6\cdot(-0.6)-0.8\cdot0.8=-0.36-0.64=-1$(反射,行列式为 $-1$)。$\checkmark$ \(HA=\begin{bmatrix}0.6&0.8\\0.8&-0.6\end{bmatrix}\begin{bmatrix}3&1\\4&2\end{bmatrix} =\begin{bmatrix}1.8+3.2&0.6+1.6\\2.4-2.4&0.8-1.2\end{bmatrix} =\begin{bmatrix}5&2.2\\0&-0.4\end{bmatrix}=R.\) $R$ 已是上三角!取 $Q=H^{\mathsf T}=H=\begin{bmatrix}0.6&0.8\\0.8&-0.6\end{bmatrix}$,则 \(QR=\begin{bmatrix}0.6&0.8\\0.8&-0.6\end{bmatrix}\begin{bmatrix}5&2.2\\0&-0.4\end{bmatrix} =\begin{bmatrix}3&1.32-0.32\\4&1.76+0.24\end{bmatrix}=\begin{bmatrix}3&1\\4&2\end{bmatrix}=A.\ \checkmark\) 并且 $\vert \det A\vert =\vert 3\cdot2-1\cdot4\vert =2=\vert \det R\vert =\vert 5\cdot(-0.4)\vert =2=\prod_i\vert R_{ii}\vert $。$\checkmark$
【计算机制解说】:Householder 与 Gram-Schmidt 的目标完全一样(把 $A$ 变成”正交 × 上三角”),但机制相反。
- Gram-Schmidt 是”列的技巧”:逐列做投影减法,每一步的输出是正交方向 $\mathbf{q}_k$ 与系数 $\mathbf{q}_i^{\mathsf T}\mathbf{a}_k$。它天然给出 $R$ 的逐列信息,适合”逐步加新列”的在线场景;但减法会放大误差。
- Householder 是”矩阵的技巧”:构造一系列反射 $H_1,H_2,\dots$,每个 $H_k$ 把第 $k$ 列下方的所有元素一次清零。因为 $H$ 是正交变换,每一步都保长、不放大误差,所以数值上更稳。最终 $A=H_1H_2\cdots H_n R$($H_k$ 对称,逆就是自己),$Q=H_1H_2\cdots H_n$ 的列自动标准正交。
- 为什么反射能清零? 镜面反射可以把任意向量映到任意同长度的向量——把 $\mathbf{a}$ 映到 $\pm\vert \mathbf{a}\vert \mathbf{e}_1$ 就是把它的方向”掰”到坐标轴上,其余分量自然归零。这正是”几何即算法”的漂亮例子。
示例 6:用 $QR$ 做四点直线拟合的最小二乘
数据 $(0,1),(1,2),(2,4),(3,5)$,模型 $b=C+Dt$: \(A=\begin{bmatrix}1&0\\1&1\\1&2\\1&3\end{bmatrix},\qquad \mathbf{b}=\begin{bmatrix}1\\2\\4\\5\end{bmatrix},\qquad \mathbf{a}_1=[1,1,1,1]^{\mathsf T},\ \mathbf{a}_2=[0,1,2,3]^{\mathsf T}.\)
步骤 1:Gram-Schmidt。 \(\vert \mathbf{a}_1\vert =2,\qquad \mathbf{q}_1=\frac12[1,1,1,1]^{\mathsf T}=\left[\tfrac12,\tfrac12,\tfrac12,\tfrac12\right]^{\mathsf T},\) \(\mathbf{q}_1^{\mathsf T}\mathbf{a}_2=\frac{0+1+2+3}{2}=\frac62=3,\qquad (\mathbf{q}_1^{\mathsf T}\mathbf{a}_2)\mathbf{q}_1=3\cdot\frac12[1,1,1,1]^{\mathsf T}=\left[\tfrac32,\tfrac32,\tfrac32,\tfrac32\right]^{\mathsf T},\) \(\mathbf{v}_2=[0,1,2,3]^{\mathsf T}-\left[\tfrac32,\tfrac32,\tfrac32,\tfrac32\right]^{\mathsf T} =\left[-\tfrac32,-\tfrac12,\tfrac12,\tfrac32\right]^{\mathsf T},\) \(\|\mathbf{v}_2\|=\sqrt{\frac94+\frac14+\frac14+\frac94}=\sqrt5,\qquad \mathbf{q}_2=\frac{1}{\sqrt5}\left[-\tfrac32,-\tfrac12,\tfrac12,\tfrac32\right]^{\mathsf T} =\left[-\tfrac{3}{2\sqrt5},-\tfrac{1}{2\sqrt5},\tfrac{1}{2\sqrt5},\tfrac{3}{2\sqrt5}\right]^{\mathsf T}.\) 验证 $\mathbf{q}_1^{\mathsf T}\mathbf{q}_2=\frac{1}{2\sqrt5}\left(-\frac32-\frac12+\frac12+\frac32\right)=0$ $\checkmark$,$\vert \mathbf{q}_2\vert ^2=\frac{1}{20}\left(\frac94+\frac14+\frac14+\frac94\right)=\frac{20/4}{20}=1$ $\checkmark$。
步骤 2:$Q,R$ 与 $Q^{\mathsf T}\mathbf{b}$。 \(Q=\begin{bmatrix}1/2&-3/(2\sqrt5)\\ 1/2&-1/(2\sqrt5)\\ 1/2&1/(2\sqrt5)\\ 1/2&3/(2\sqrt5)\end{bmatrix},\qquad R=\begin{bmatrix}2&3\\ 0&\sqrt5\end{bmatrix}.\) \(Q^{\mathsf T}\mathbf{b}=\begin{bmatrix}\frac{1+2+4+5}{2}\\ \frac{-3\cdot1-1\cdot2+1\cdot4+3\cdot5}{2\sqrt5}\end{bmatrix} =\begin{bmatrix}6\\ \frac{-3-2+4+15}{2\sqrt5}\end{bmatrix} =\begin{bmatrix}6\\ \frac{14}{2\sqrt5}\end{bmatrix}=\begin{bmatrix}6\\ 7/\sqrt5\end{bmatrix}\approx\begin{bmatrix}6\\3.1305\end{bmatrix}.\) 验证 $QR=A$:第一列 $2\mathbf{q}_1=[1,1,1,1]^{\mathsf T}$ $\checkmark$;第二列 $3\mathbf{q}_1+\sqrt5\mathbf{q}_2=\left[\frac32,\frac32,\frac32,\frac32\right]^{\mathsf T}+\left[-\frac32,-\frac12,\frac12,\frac32\right]^{\mathsf T}=[0,1,2,3]^{\mathsf T}$ $\checkmark$。
步骤 3:回代解 $R\hat{\mathbf{x}}=Q^{\mathsf T}\mathbf{b}$。 \(\sqrt5\,D=\frac{7}{\sqrt5}\ \Longrightarrow\ D=\frac75=1.4,\) \(2C+3\cdot\frac75=6\ \Longrightarrow\ 2C=6-\frac{21}{5}=\frac{30-21}{5}=\frac95\ \Longrightarrow\ C=\frac{9}{10}=0.9.\) 最优直线:$b=0.9+1.4t$。(与直接解正规方程的结果一致,见 Lecture 16 的同类练习。)
步骤 4:拟合值、残差与 $E$。 \(\mathbf{p}=\begin{bmatrix}0.9\\ 0.9+1.4\\ 0.9+2.8\\ 0.9+4.2\end{bmatrix}=\begin{bmatrix}0.9\\2.3\\3.7\\5.1\end{bmatrix},\qquad \mathbf{e}=\begin{bmatrix}0.1\\-0.3\\0.3\\-0.1\end{bmatrix},\qquad E=0.01+0.09+0.09+0.01=0.2.\) 正交验证:残差和 $=0.1-0.3+0.3-0.1=0$ $\checkmark$;加权和 $=0\cdot0.1+1\cdot(-0.3)+2\cdot0.3+3\cdot(-0.1)=-0.3+0.6-0.3=0$ $\checkmark$。相关系数平方 $R^2=1-\frac{E}{\sum(b_i-\bar b)^2}=1-\frac{0.2}{10}=0.98$($\bar b=3$,$\sum(b_i-\bar b)^2=4+1+1+4=10$)。
【计算机制解说】:这个例子的价值在于把”$QR$ 版最小二乘”的完整流程走了一遍,并且刻意选了带常数列的设计矩阵。这时 $R$ 的第一个对角元就是 $\vert \mathbf{1}\vert =\sqrt m$($m$ 是数据点个数),而 $Q$ 的第一列恰是”全 $\frac1{\sqrt m}$”——即常数方向的单位向量。几何上这意味着:Gram-Schmidt 自动先把数据”去均值”,再做斜率拟合。所以 $\hat{x}_1=C$ 与 $\hat{x}_2=D$ 在正交化后互相独立,回代时 $D$ 先解出、$C$ 后解出——顺序恰好与”先定趋势、后定水平”的直观一致。这也解释了为什么带常数列的直线拟合一贯如此稳定:常数列天然”带头”正交化,$A^{\mathsf T}A$ 虽不对称也不病态。
示例 7:$A^{-1}=R^{-1}Q^{\mathsf T}$——方阵时 $QR$ 也能求逆
取 Lecture 15 用过的 \(A=\begin{bmatrix}1&1\\1&0\\0&1\end{bmatrix}\quad\text{不是方阵,换一个:}\quad A=\begin{bmatrix}1&1&0\\1&0&1\\0&1&1\end{bmatrix},\) 用示例 1 已算好的 $Q$ 与 $R$: \(Q=\begin{bmatrix}1/\sqrt2&1/\sqrt6&-1/\sqrt3\\ 1/\sqrt2&-1/\sqrt6&1/\sqrt3\\ 0&2/\sqrt6&1/\sqrt3\end{bmatrix},\qquad R=\begin{bmatrix}\sqrt2&1/\sqrt2&1/\sqrt2\\ 0&\sqrt6/2&1/\sqrt6\\ 0&0&2/\sqrt3\end{bmatrix}.\) 由 $A=QR$ 得 $A^{-1}=R^{-1}Q^{\mathsf T}$($Q$ 正交,$Q^{-1}=Q^{\mathsf T}$)。
步骤 1:求 $R^{-1}$(上三角矩阵的逆也是上三角,用回代求三列)。 记 $R^{-1}=\begin{bmatrix}a&b&c\\0&d&e\\0&0&f\end{bmatrix}$。由 $RR^{-1}=I$ 逐列解得:
- 第 3 列:$\frac{2}{\sqrt3}f=1\Rightarrow f=\frac{\sqrt3}{2}$;$\frac{\sqrt6}{2}e+\frac{1}{\sqrt6}\cdot\frac{\sqrt3}{2}=0\Rightarrow e=-\frac{\sqrt3/2}{\sqrt6/2}\cdot\frac1{\sqrt6}=-\frac{1}{2}$;……
(逐列回代的算式比较长,这里给出结果并由乘法验证把关:) \(R^{-1}=\begin{bmatrix}1/\sqrt2&-1/\sqrt6&-\sqrt3/6\\ 0&2/\sqrt6&-\sqrt3/6\\ 0&0&\sqrt3/2\end{bmatrix}.\) 验证 $RR^{-1}=I$,取最麻烦的 $(1,3)$ 元: \(\sqrt2\left(-\frac{\sqrt3}{6}\right)+\frac{1}{\sqrt2}\left(-\frac{\sqrt3}{6}\right)+\frac{1}{\sqrt2}\cdot\frac{\sqrt3}{2} =-\frac{\sqrt6}{6}-\frac{\sqrt6}{12}+\frac{\sqrt6}{4}=\frac{-2-1+3}{12}\sqrt6=0.\ \checkmark\) $(1,2)$ 元:$\sqrt2\left(-\frac1{\sqrt6}\right)+\frac1{\sqrt2}\cdot\frac{2}{\sqrt6}=-\frac{\sqrt2}{\sqrt6}+\frac{2}{\sqrt{12}}=-\frac{1}{\sqrt3}+\frac{1}{\sqrt3}=0$ $\checkmark$。$(1,1)$ 元:$\sqrt2\cdot\frac1{\sqrt2}=1$ $\checkmark$。$(2,2)$ 元:$\frac{\sqrt6}{2}\cdot\frac{2}{\sqrt6}=1$ $\checkmark$,$(2,3)$:$\frac{\sqrt6}{2}\left(-\frac{\sqrt3}{6}\right)+\frac{1}{\sqrt6}\cdot\frac{\sqrt3}{2}=-\frac{\sqrt{18}}{12}+\frac{\sqrt3}{2\sqrt6}=-\frac{3\sqrt2}{12}+\frac{\sqrt2}{4}=0$ $\checkmark$,$(3,3)$:$\frac{2}{\sqrt3}\cdot\frac{\sqrt3}{2}=1$ $\checkmark$。
步骤 2:$A^{-1}=R^{-1}Q^{\mathsf T}$。 \(A^{-1}=\begin{bmatrix}1/\sqrt2&-1/\sqrt6&-\sqrt3/6\\ 0&2/\sqrt6&-\sqrt3/6\\ 0&0&\sqrt3/2\end{bmatrix} \begin{bmatrix}1/\sqrt2&1/\sqrt2&0\\ 1/\sqrt6&-1/\sqrt6&2/\sqrt6\\ -1/\sqrt3&1/\sqrt3&1/\sqrt3\end{bmatrix}.\) $(1,1)$ 元:$\frac{1}{\sqrt2}\cdot\frac1{\sqrt2}+\left(-\frac1{\sqrt6}\right)\frac1{\sqrt6}+\left(-\frac{\sqrt3}{6}\right)\left(-\frac1{\sqrt3}\right)=\frac12-\frac16+\frac16=\frac12$。 $(1,2)$:$\frac{1}{\sqrt2}\cdot\frac1{\sqrt2}+\left(-\frac1{\sqrt6}\right)\left(-\frac1{\sqrt6}\right)+\left(-\frac{\sqrt3}{6}\right)\frac1{\sqrt3}=\frac12+\frac16-\frac16=\frac12$。 $(1,3)$:$0+\left(-\frac1{\sqrt6}\right)\frac{2}{\sqrt6}+\left(-\frac{\sqrt3}{6}\right)\frac1{\sqrt3}=-\frac13-\frac16=-\frac12$。 $(2,1)$:$0+\frac{2}{\sqrt6}\cdot\frac1{\sqrt6}+\left(-\frac{\sqrt3}{6}\right)\left(-\frac1{\sqrt3}\right)=\frac13+\frac16=\frac12$。 $(2,2)$:$0+\frac{2}{\sqrt6}\left(-\frac1{\sqrt6}\right)+\left(-\frac{\sqrt3}{6}\right)\frac1{\sqrt3}=-\frac13-\frac16=-\frac12$。 $(2,3)$:$0+\frac{2}{\sqrt6}\cdot\frac{2}{\sqrt6}+\left(-\frac{\sqrt3}{6}\right)\frac1{\sqrt3}=\frac23-\frac16=\frac12$。 $(3,1)$:$0+0+\frac{\sqrt3}{2}\left(-\frac1{\sqrt3}\right)=-\frac12$;$(3,2)$:$\frac{\sqrt3}{2}\cdot\frac1{\sqrt3}=\frac12$;$(3,3)$:$\frac{\sqrt3}{2}\cdot\frac1{\sqrt3}=\frac12$。 所以 \(A^{-1}=\frac12\begin{bmatrix}1&1&-1\\1&-1&1\\-1&1&1\end{bmatrix}.\) 验证:$A\cdot A^{-1}=\begin{bmatrix}1&1&0\\1&0&1\\0&1&1\end{bmatrix}\cdot\frac12\begin{bmatrix}1&1&-1\\1&-1&1\\-1&1&1\end{bmatrix}$: 第一行:$\frac12(1+1,1-1,-1+1)=\frac12(2,0,0)=(1,0,0)$ $\checkmark$; 第二行:$\frac12(1-1,1+1,-1+1)=\frac12(0,2,0)=(0,1,0)$ $\checkmark$; 第三行:$\frac12(-1+1,1+1,-1+1)=\frac12(0,0,2)=(0,0,1)$ $\checkmark$。 并且 $\det A=\det Q\det R$。直接展开:$A=\begin{bmatrix}1&1&0\\1&0&1\\0&1&1\end{bmatrix}$, \(\det A=1(0\cdot1-1\cdot1)-1(1\cdot1-1\cdot0)+0=1(-1)-1(1)+0=-2.\) 另一方面用 $QR$ 数据核对:$\det Q=-1$(示例 1 步骤 8 算过),$\det R=\prod_i R_{ii}=\sqrt2\cdot\frac{\sqrt6}{2}\cdot\frac{2}{\sqrt3}$。逐步算:$\frac{\sqrt6}{2}\cdot\frac{2}{\sqrt3}=\frac{2\sqrt6}{2\sqrt3}=\sqrt{\frac63}=\sqrt2$,再乘 $R_{11}=\sqrt2$ 得 $\det R=2$。于是 \(\det A=\det Q\det R=(-1)\cdot2=-2.\ \checkmark\) (两条路径完全一致。这类”两种独立算法交叉验证”应当成为习惯:行列式可以展开,也可以通过 $QR$ 的对角元乘积;两者吻合才说明 $Q$、$R$ 都算对了。)
再核对 $\det A^{-1}$:$\det\left(\frac12\begin{bmatrix}1&1&-1\\1&-1&1\\-1&1&1\end{bmatrix}\right)=\frac{1}{8}\det\begin{bmatrix}1&1&-1\\1&-1&1\\-1&1&1\end{bmatrix}$,而 \(\det\begin{bmatrix}1&1&-1\\1&-1&1\\-1&1&1\end{bmatrix}=1(-1-1)-1(1+1)+(-1)(1-1)=-2-2+0=-4,\) 故 $\det A^{-1}=\frac{-4}{8}=-\frac12=\frac{1}{\det A}=\frac{1}{-2}$。$\checkmark$ 一致。
【计算机制解说】:$A^{-1}=R^{-1}Q^{\mathsf T}$ 是 $QR$ 的又一个副产品,它的价值在于数值稳定性。直接求逆(或用伴随矩阵/代数余子式)的误差随条件数放大;而 $Q^{\mathsf T}$ 是正交阵(条件数 1),$R^{-1}$ 通过三角回代得到(条件数与 $A$ 相当),所以 $A^{-1}=R^{-1}Q^{\mathsf T}$ 的误差放大只有 $\kappa(A)$ 一次方。Lecture 20 会讲 Cramer 法则与代数余子式求逆——那是理论上漂亮的公式($A^{-1}=\frac{1}{\det A}\operatorname{adj}(A)$),但计算上一无是处($n!$ 级代价 + 灾难性误差)。对比之下,$QR$ 路径是 $O(n^3)$ 且稳定。“理论公式”与”计算算法”是两回事,这门课的两条线(Lecture 20 vs Lecture 17)恰好说明了这一点。
另外注意 $R^{-1}$ 的上三角结构:$R$ 上三角 $\Rightarrow R^{-1}$ 上三角。且 $R^{-1}$ 的对角元正是 $1/R_{ii}$(本例中 $R$ 的对角元是 $\sqrt2,\frac{\sqrt6}{2},\frac{2}{\sqrt3}$,故 $R^{-1}$ 的对角元应为 $\frac{1}{\sqrt2},\frac{2}{\sqrt6}=\sqrt{\frac23},\frac{\sqrt3}{2}$,与上面写出的 $R^{-1}$ 一致 $\checkmark$)。于是 \(\det A^{-1}=\det R^{-1}\cdot\det Q^{\mathsf T}=\prod_i\frac{1}{R_{ii}}\cdot(\pm1)=\frac{1}{\det A},\) 本例 $\prod\frac1{R_{ii}}=\frac{1}{\sqrt2}\cdot\frac{2}{\sqrt6}\cdot\frac{\sqrt3}{2}=\frac{2\sqrt3}{2\sqrt{12}}=\frac12$,故 $\vert \det A^{-1}\vert =\frac12$,与 $\frac{1}{\vert \det A\vert }=\frac12$ 一致 $\checkmark$——这是”$\vert \det A\vert =\prod R_{ii}$”的另一条验证路径。
矩阵分解的核心思想
1. $A=QR$:本讲的主分解。
- 形式:$A=QR$,$Q$ 的列标准正交,$R$ 上三角、对角元为正。
- 含义:$Q$ 是”整理过的列”,$R$ 是”整理过程的记录”。$R$ 第 $j$ 列的非零部分 $(\mathbf{q}_1^{\mathsf T}\mathbf{a}_j,\dots,\mathbf{q}_j^{\mathsf T}\mathbf{a}_j)$ 就是 $\mathbf{a}_j$ 在这组新坐标下的表示。
- 揭示的结构性质:$\operatorname{span}\{\mathbf{q}1,\dots,\mathbf{q}_k\}=\operatorname{span}\{\mathbf{a}_1,\dots,\mathbf{a}_k\}$(逐层保持);$A^{\mathsf T}A=R^{\mathsf T}R$($A^{\mathsf T}A$ 的 Cholesky 分解!因为 $R$ 上三角、对角元为正);$\vert \det A\vert =\prod R{ii}$。
- 应用价值:最小二乘($R\hat{\mathbf{x}}=Q^{\mathsf T}\mathbf{b}$)、求逆、求特征值(QR 算法)、数值稳定的正交化。
2. $A^{\mathsf T}A=R^{\mathsf T}R$ 是 Cholesky 的入口。 由 $A=QR$ 得 $A^{\mathsf T}A=R^{\mathsf T}R$,其中 $R^{\mathsf T}$ 下三角、$R$ 上三角、对角元为正——这正是 Lecture 27 讲的 Cholesky 分解 $S=R^{\mathsf T}R$($S$ 对称正定)。所以 Gram-Schmidt 也顺带给出了”如何对 $A^{\mathsf T}A$ 做 Cholesky”的一个算法(虽然实际软件会用更稳的算法)。
3. 与 $A=LU$ 的结构类比。 消元 $A=LU$ 把矩阵化成三角,靠的是行操作;$QR$ 把列正交化,靠的是列的方向。两者都是”逐列/逐行剥洋葱”:$LU$ 逐列消掉下方元素,$QR$ 逐列剥掉前面方向的分量。区别在于 $L$ 保留”消元倍数”(可能很大、不稳定),而 $Q$ 保留”单位正交方向”(长度恒为 1、绝不放大误差)。这就是为什么长矩阵的最小二乘要用 $QR$ 而不是 $LU$。
4. 与投影/最小二乘的三角关系。 Lecture 15 给出几何(正交条件),Lecture 16 给出公式(正规方程 + $P$),Lecture 17 给出算法($QR$)。三讲合起来是:几何 → 代数 → 数值。经典的三步走。
5. 预告 SVD 与 QR 算法。 若给 $A$ 做两次”正交化”(列方向与行方向同时做),就得到 Lecture 29 的 $A=U\Sigma V^{\mathsf T}$;若把 $QR$ 反复迭代 $A_{k}=Q_kR_k$、$A_{k+1}=R_kQ_k$(注意顺序交换),则 $A_k$ 会收敛到上三角(或对角),对角元就是特征值——这就是 QR 算法,20 世纪最重要的数值算法之一。
与其他讲次的关联
- Lecture 14(正交向量与子空间):标准正交的定义($\mathbf{q}i^{\mathsf T}\mathbf{q}_j=\delta{ij}$)在这里被系统使用;$\mathbf{q}$ 之间两两正交让所有内积计算变成 $\delta$ 的筛选。
- Lecture 15(投影到子空间):本讲的 $P=QQ^{\mathsf T}$ 是 $P=A(A^{\mathsf T}A)^{-1}A^{\mathsf T}$ 在正交列下的特例;示例 3 明确展示了二者给出同一矩阵。
- Lecture 16(最小二乘):本讲示例 2 用 $QR$ 重现了那里的全部数值($\hat{\mathbf{x}}=[-2/3,3/2]^{\mathsf T}$、$P$、$\mathbf{e}$、$E=1/6$),但全程无求逆。
- Lecture 20(Cramer 法则、逆矩阵):$QR$ 也提供求逆路径($A^{-1}=R^{-1}Q^{\mathsf T}$),与代数余子式路径形成对照。
- Lecture 25(对称矩阵正交对角化):$A=Q\Lambda Q^{\mathsf T}$ 是”特征向量正交”版本的分解,与 $A=QR$ 共享 $Q$ 的技术但目标不同(那里 $Q$ 由特征向量组成,这里由 Gram-Schmidt 造出)。
- Lecture 27(正定矩阵):$A^{\mathsf T}A=R^{\mathsf T}R$ 就是 Cholesky;正定性的检验与 $R_{ii}>0$ 互为表里。
- Lecture 29(SVD):$A=U\Sigma V^{\mathsf T}$ 把 $A$ 的列空间与行空间同时正交化,是 $QR$ 的”双侧版”。
- Lecture 33(伪逆):列相关时 $R$ 会出现零对角元,此时用带列主元的 $QR$(column pivoting)或 SVD 来判断有效秩并构造 $A^{+}$。
关键要点
- 正交矩阵的定义是 $Q^{\mathsf T}Q=I$(列标准正交),三条推论:$Q^{-1}=Q^{\mathsf T}$、$\vert Q\mathbf{x}\vert =\vert \mathbf{x}\vert $、$\vert \det Q\vert =1$;方阵时 $QQ^{\mathsf T}=I$ 同时成立。
- 正交基让投影公式”去求逆”:$\hat{\mathbf{x}}=Q^{\mathsf T}\mathbf{b}$(分量独立 $\hat{x}_i=\mathbf{q}_i^{\mathsf T}\mathbf{b}$),$P=QQ^{\mathsf T}$。
- Gram-Schmidt 三步循环:取 $\mathbf{a}_k$,减去它在所有已有 $\mathbf{q}_j$ 上的投影,再除以长度。$\mathbf{v}_k\neq\mathbf{0}$ 等价于 $\mathbf{a}_k$ 与前面向量线性无关。
- $A=QR$ 中:$R_{ij}=\mathbf{q}i^{\mathsf T}\mathbf{a}_j$($i\le j$),$R{jj}=\vert \mathbf{v}_j\vert >0$,$R$ 上三角;$R$ 第 $j$ 列的非零元就是 $\mathbf{a}_j$ 在 $\{\mathbf{q}_1,\dots,\mathbf{q}_j\}$ 下的坐标。
- 最小二乘的 QR 路径:$R\hat{\mathbf{x}}=Q^{\mathsf T}\mathbf{b}$,无需 $(A^{\mathsf T}A)^{-1}$;同时 $A^{\mathsf T}A=R^{\mathsf T}R$ 是 Cholesky,$\vert \det A\vert =\prod R_{ii}$。
常见误区与注意事项
- 误以为”正交矩阵”只要列两两正交。必须同时单位化。$\begin{bmatrix}1&1\\1&-1\end{bmatrix}$ 的列正交但长度为 $\sqrt2$,它不是正交矩阵($Q^{\mathsf T}Q=2I\neq I$);必须写成 $\frac{1}{\sqrt2}\begin{bmatrix}1&1\\1&-1\end{bmatrix}$。用未归一化的列做投影时,$\hat{x}_i=\mathbf{q}_i^{\mathsf T}\mathbf{b}$ 会算错(要除以 $\vert \mathbf{q}_i\vert ^2$)。
- 在 Gram-Schmidt 中忘记”减掉所有已有方向”。做 $\mathbf{a}_3$ 时只减 $\mathbf{q}_1$ 上的投影不够——必须同时减去 $\mathbf{q}_1$ 与 $\mathbf{q}_2$ 上的投影。示例 1 中若只减 $\mathbf{q}_1$,得到的向量是 $[-\frac12,\frac12,1]^{\mathsf T}$,它与 $\mathbf{q}_2$ 的内积是 $\frac{1}{\sqrt6}(-\frac12-\frac12+2)=\frac{1}{\sqrt6}\neq0$——不正交。
- 把 $R$ 写成下三角或搞错 $Q,R$ 的尺寸。$A$ 是 $m\times n$ 时,瘦 $QR$ 版本 $Q$ 是 $m\times n$、$R$ 是 $n\times n$ 上三角;若用”完整”版本则 $Q$ 是 $m\times m$、$R$ 是 $m\times n$(下方补零)。无论哪种,$R$ 的非零部分都在上三角,且 $R_{jj}>0$(若允许负号,$QR$ 不唯一)。
- 混淆 $QR$ 分解与 QR 算法。$A=QR$ 是分解(一次性把矩阵拆开);QR 算法是迭代(反复做 $A_k=Q_kR_k$、$A_{k+1}=R_kQ_k$ 来求特征值)。两者都用到 $QR$,但目标完全不同:前者做最小二乘,后者算特征值。
- 以为
modified Gram-Schmidt只是”写法不同的同一个算法”。经典 Gram-Schmidt(CGS)在每个 $\mathbf{v}_k$ 上一次性减去所有投影;modified Gram-Schmidt(MGS)则每算出一个新的 $\mathbf{q}_j$ 就立刻用它修正后面所有还活着的向量。数学上两者产生相同结果,但 MGS 的舍入误差小得多——尤其当向量接近线性相关时(例如 $\mathbf{a}_2=\mathbf{a}_1+\varepsilon\mathbf{z}$,$\varepsilon$ 很小)。CGS 会出现”正交性雪崩”($\mathbf{q}_i^{\mathsf T}\mathbf{q}_j$ 远大于机器精度),MGS 则几乎保持正交到机器精度。这就是为什么教材上写 CGS、代码里用 MGS(或用 Householder 变换,稳定性更好)。 - 忘记 $\vert \det A\vert =\prod R_{ii}$ 只给绝对值。符号藏在 $\det Q=\pm1$ 里。示例 1 中 $\prod R_{ii}=2$ 而 $\det A=-2$,正是因为 $Q$ 的行列式为 $-1$(反射型正交矩阵)。
思考题(带答案)
Q1.(概念题)判断真假并说明理由:
(a) 若 $Q$ 是正交矩阵,则 $Q^2$、$Q^{-1}$、$Q^{\mathsf T}$、$Q+Q$ 都是正交矩阵。 (b) 若 $Q$ 的列标准正交,则 $Q$ 一定可逆,且 $Q^{\mathsf T}$ 的行也标准正交。 (c) 若 $A=QR$ 且 $Q$ 是方阵正交矩阵,则 $A^{\mathsf T}A=R^{\mathsf T}R$ 是正定的。 (d) 把 $\mathbf{b}$ 投影到 $\operatorname{span}\{\mathbf{q}_1,\dots,\mathbf{q}_k\}$($\mathbf{q}_i$ 标准正交)时,$\mathbf{p}=\sum_i(\mathbf{q}_i^{\mathsf T}\mathbf{b})\mathbf{q}_i$。
答案
(a) **部分真**。$Q^2$:$(Q^2)^{\\mathsf T}(Q^2)=Q^{\\mathsf T}Q^{\\mathsf T}QQ=Q^{\\mathsf T}Q^{\\mathsf T}Q Q$——注意 $Q^{\\mathsf T}Q=I$ 不能直接挪位置,正确做法是 $(Q^2)^{\\mathsf T}Q^2=(Q^{\\mathsf T}Q^{\\mathsf T})(QQ)$,一般**不能**化简为 $I$。更简洁的论证:正交矩阵的乘积正交($(Q_1Q_2)^{\\mathsf T}(Q_1Q_2)=Q_2^{\\mathsf T}\\underbrace{Q_1^{\\mathsf T}Q_1}_{I}Q_2=Q_2^{\\mathsf T}Q_2=I$),取 $Q_1=Q_2=Q$ 得 $Q^2$ 正交。**真**。$Q^{-1}=Q^{\\mathsf T}$ 正交(正交矩阵的转置也正交,因为 $(Q^{\\mathsf T})^{\\mathsf T}(Q^{\\mathsf T})=QQ^{\\mathsf T}=I$)。**真**。$Q^{\\mathsf T}$ 正交,**真**。$2Q$ 的列长度是 2 不是 1,$(2Q)^{\\mathsf T}(2Q)=4I\\neq I$,**假**(要 $\\frac{1}{\\sqrt2}$ 归一化)。 (更一般地:正交矩阵对**乘法**封闭,对加法不封闭。) (b) **真**。$Q^{\\mathsf T}Q=I$ 说明 $Q$ 的列无关(若有 $Q\\mathbf{x}=\\mathbf{0}$ 则 $\\mathbf{x}=Q^{\\mathsf T}Q\\mathbf{x}=\\mathbf{0}$),故 $Q$ 可逆,且左逆即右逆,$QQ^{\\mathsf T}=I$。这个等式逐行读就是"$Q^{\\mathsf T}$ 的行标准正交",而 $Q^{\\mathsf T}$ 的行正是 $Q$ 的列——所以这句话有两层:$Q$ 的行也标准正交。$\\checkmark$ (c) **真**。$Q$ 方阵正交时 $R=Q^{\\mathsf T}A$ 是 $n\\times n$ 上三角,$A^{\\mathsf T}A=R^{\\mathsf T}R$。对任意 $\\mathbf{x}\\neq\\mathbf{0}$,$\\mathbf{x}^{\\mathsf T}R^{\\mathsf T}R\\mathbf{x}=\\vert R\\mathbf{x}\\vert ^2>0$——因为 $R$ 可逆($A$ 可逆,$R=Q^{\\mathsf T}A$ 也可逆,等价于所有 $R_{jj}\\neq0$)。故正定。(若 $A$ 是长矩阵、$R$ 奇异,则只是半正定。) (d) **真**。这就是正交基下投影的"分量求和"形式。验证:$\\mathbf{e}=\\mathbf{b}-\\mathbf{p}$,则对每个 $j$, $$\mathbf{q}_j^{\mathsf T}\mathbf{e}=\mathbf{q}_j^{\mathsf T}\mathbf{b}-\sum_i(\mathbf{q}_i^{\mathsf T}\mathbf{b})\underbrace{\mathbf{q}_j^{\mathsf T}\mathbf{q}_i}_{=\delta_{ij}}=\mathbf{q}_j^{\mathsf T}\mathbf{b}-\mathbf{q}_j^{\mathsf T}\mathbf{b}=0.$$ 故 $\\mathbf{e}$ 垂直于整个子空间,$\\mathbf{p}$ 是最优投影。这与 $P=QQ^{\\mathsf T}$ 是同一件事($\\mathbf{p}=QQ^{\\mathsf T}\\mathbf{b}=\\sum_i\\mathbf{q}_i(\\mathbf{q}_i^{\\mathsf T}\\mathbf{b})$)。Q2.(计算题)对 $\mathbf{a}_1=\begin{bmatrix}1\\1\\1\end{bmatrix}$,$\mathbf{a}_2=\begin{bmatrix}1\\0\\2\end{bmatrix}$,$\mathbf{a}_3=\begin{bmatrix}1\\1\\0\end{bmatrix}$ 做 Gram-Schmidt,求 $Q$ 与 $R$,并验证 $QR=A$、$Q^{\mathsf T}Q=I$。
答案
$\\mathbf{a}_1=[1,1,1]^{\\mathsf T}$,$\\vert \\mathbf{a}_1\\vert =\\sqrt3$,$\\mathbf{q}_1=\\frac{1}{\\sqrt3}[1,1,1]^{\\mathsf T}$。 $\\mathbf{q}_1^{\\mathsf T}\\mathbf{a}_2=\\frac{1+0+2}{\\sqrt3}=\\sqrt3$,投影项 $=\\sqrt3\\cdot\\frac{1}{\\sqrt3}[1,1,1]^{\\mathsf T}=[1,1,1]^{\\mathsf T}$, $$\mathbf{v}_2=[1,0,2]^{\mathsf T}-[1,1,1]^{\mathsf T}=[0,-1,1]^{\mathsf T},\qquad\vert \mathbf{v}_2\vert =\sqrt2,\qquad \mathbf{q}_2=\frac{1}{\sqrt2}[0,-1,1]^{\mathsf T}.$$ $\\mathbf{q}_1^{\\mathsf T}\\mathbf{a}_3=\\frac{1+1+0}{\\sqrt3}=\\frac{2}{\\sqrt3}$,$\\mathbf{q}_2^{\\mathsf T}\\mathbf{a}_3=\\frac{0-1+0}{\\sqrt2}=-\\frac{1}{\\sqrt2}$。 $$\mathbf{v}_3=[1,1,0]^{\mathsf T}-\frac{2}{\sqrt3}\cdot\frac{1}{\sqrt3}[1,1,1]^{\mathsf T}+\frac{1}{\sqrt2}\cdot\frac{1}{\sqrt2}[0,-1,1]^{\mathsf T}$$ $$=[1,1,0]^{\mathsf T}-\left[\tfrac23,\tfrac23,\tfrac23\right]^{\mathsf T}+\left[0,-\tfrac12,\tfrac12\right]^{\mathsf T} =\left[\tfrac13,\ \tfrac{6-4-3}{6},\ \tfrac{3}{6}\right]^{\mathsf T}=\left[\tfrac13,-\tfrac16,-\tfrac16\right]^{\mathsf T}.$$ $\\vert \\mathbf{v}_3\\vert =\\sqrt{\\frac19+\\frac1{36}+\\frac1{36}}=\\sqrt{\\frac{6}{36}}=\\frac{1}{\\sqrt6}$, $$\mathbf{q}_3=\sqrt6\left[\tfrac13,-\tfrac16,-\tfrac16\right]^{\mathsf T}=\left[\tfrac{\sqrt6}{3},-\tfrac{\sqrt6}{6},-\tfrac{\sqrt6}{6}\right]^{\mathsf T}=\frac{1}{\sqrt6}\left[2,-1,-1\right]^{\mathsf T}.$$ 于是 $$Q=\begin{bmatrix}1/\sqrt3&0&2/\sqrt6\\ 1/\sqrt3&-1/\sqrt2&-1/\sqrt6\\ 1/\sqrt3&1/\sqrt2&-1/\sqrt6\end{bmatrix},\qquad R=\begin{bmatrix}\sqrt3&\sqrt3&2/\sqrt3\\ 0&\sqrt2&-1/\sqrt2\\ 0&0&1/\sqrt6\end{bmatrix}.$$ (注意 $R_{13}=\\mathbf{q}_1^{\\mathsf T}\\mathbf{a}_3=\\frac{2}{\\sqrt3}$,$R_{23}=\\mathbf{q}_2^{\\mathsf T}\\mathbf{a}_3=-\\frac{1}{\\sqrt2}$。) **验证 $QR=A$ 第三列**(最复杂的一列): $$\frac{2}{\sqrt3}\mathbf{q}_1-\frac{1}{\sqrt2}\mathbf{q}_2+\frac{1}{\sqrt6}\mathbf{q}_3 =\frac23\begin{bmatrix}1\\1\\1\end{bmatrix}-\frac12\begin{bmatrix}0\\-1\\1\end{bmatrix}+\frac16\begin{bmatrix}2\\-1\\-1\end{bmatrix} =\begin{bmatrix}\frac23+0+\frac13\\ \frac23+\frac12-\frac16\\ \frac23-\frac12-\frac16\end{bmatrix} =\begin{bmatrix}1\\1\\0\end{bmatrix}.\ \checkmark$$ 第一、二列:$\\sqrt3\\,\\mathbf{q}_1=[1,1,1]^{\\mathsf T}$ $\\checkmark$;$\\sqrt3\\,\\mathbf{q}_1+\\sqrt2\\,\\mathbf{q}_2=[1,1,1]^{\\mathsf T}+[0,-1,1]^{\\mathsf T}=[1,0,2]^{\\mathsf T}$ $\\checkmark$。 **验证 $Q^{\\mathsf T}Q=I$**:$\\mathbf{q}_1^{\\mathsf T}\\mathbf{q}_2=\\frac{0-1+1}{\\sqrt6}=0$,$\\mathbf{q}_1^{\\mathsf T}\\mathbf{q}_3=\\frac{2-1-1}{\\sqrt{18}}=0$,$\\mathbf{q}_2^{\\mathsf T}\\mathbf{q}_3=\\frac{0+1-1}{\\sqrt{12}}=0$;$\\vert \\mathbf{q}_1\\vert ^2=\\frac13\\cdot3=1$,$\\vert \\mathbf{q}_2\\vert ^2=\\frac12\\cdot2=1$,$\\vert \\mathbf{q}_3\\vert ^2=\\frac16\\cdot6=1$。$\\checkmark$ **顺带**:$\\vert \\det A\\vert =\\vert \\det Q\\vert \\prod R_{ii}=1\\cdot\\sqrt3\\cdot\\sqrt2\\cdot\\frac{1}{\\sqrt6}=1$。直接算 $A$:$\\det\\begin{bmatrix}1&1&1\\\\1&0&1\\\\1&2&0\\end{bmatrix}=-2\\neq-1$……**这里要注意 $A$ 的列顺序**:本答案中 $A$ 的列是 $[\\mathbf{a}_1,\\mathbf{a}_2,\\mathbf{a}_3]$,即 $A=\\begin{bmatrix}1&1&1\\\\1&0&1\\\\1&2&0\\end{bmatrix}$,$\\det A=1(0-2)-1(0-1)+1(2-0)=-2+1+2=1$。$\\checkmark$(符号也为正,因 $\\det Q=+1$。)Q3.(计算题 + 概念)设 $Q$ 由 $\mathbf{q}_1=\frac{1}{3}\begin{bmatrix}2\\2\\1\end{bmatrix}$、$\mathbf{q}_2=\frac{1}{3}\begin{bmatrix}2\\-1\\-2\end{bmatrix}$ 给出(已标准正交)。求投影矩阵 $P=QQ^{\mathsf T}$,并求 $\mathbf{b}=\begin{bmatrix}1\\0\\0\end{bmatrix}$ 到 $\operatorname{span}\{\mathbf{q}_1,\mathbf{q}_2\}$ 的投影 $\mathbf{p}$、误差 $\mathbf{e}$。为什么 $\mathbf{e}$ 必与 $\mathbf{q}_1\times\mathbf{q}_2$ 平行?
答案
$$QQ^{\mathsf T}=\frac19\begin{bmatrix}2&2\\2&-1\\1&-2\end{bmatrix}\begin{bmatrix}2&2&1\\2&-1&-2\end{bmatrix} =\frac19\begin{bmatrix}4+4&4-2&2-4\\ 4-2&4+1&2+2\\ 2-4&2+2&1+4\end{bmatrix} =\frac19\begin{bmatrix}8&2&-2\\ 2&5&4\\ -2&4&5\end{bmatrix}.$$ $\\operatorname{trace}(P)=\\frac{8+5+5}{9}=2$,$\\operatorname{rank}(P)=2$。$\\checkmark$ $\\mathbf{q}_1^{\\mathsf T}\\mathbf{b}=\\frac23$,$\\mathbf{q}_2^{\\mathsf T}\\mathbf{b}=\\frac23$,故 $$\mathbf{p}=\frac23\mathbf{q}_1+\frac23\mathbf{q}_2=\frac23\cdot\frac13\begin{bmatrix}2\\2\\1\end{bmatrix}+\frac23\cdot\frac13\begin{bmatrix}2\\-1\\-2\end{bmatrix} =\frac29\begin{bmatrix}4\\1\\-1\end{bmatrix}=\begin{bmatrix}8/9\\2/9\\-2/9\end{bmatrix},$$ $$\mathbf{e}=\mathbf{b}-\mathbf{p}=\begin{bmatrix}1-8/9\\-2/9\\2/9\end{bmatrix}=\begin{bmatrix}1/9\\-2/9\\2/9\end{bmatrix}=\frac19\begin{bmatrix}1\\-2\\2\end{bmatrix}.$$ 验证 $\\mathbf{q}_1^{\\mathsf T}\\mathbf{e}=\\frac{2-4+2}{27}=0$,$\\mathbf{q}_2^{\\mathsf T}\\mathbf{e}=\\frac{2+2-4}{27}=0$。$\\checkmark$ $\\vert \\mathbf{e}\\vert =\\frac19\\sqrt{1+4+4}=\\frac13$。 **为什么 $\\mathbf{e}\\parallel\\mathbf{q}_1\\times\\mathbf{q}_2$?** 因为 $\\operatorname{span}\\{\\mathbf{q}_1,\\mathbf{q}_2\\}$ 是 $\\mathbb{R}^3$ 中的一张平面,它的正交补是**一维**的,由法向量 $\\mathbf{q}_1\\times\\mathbf{q}_2$ 张成。$\\mathbf{e}$ 垂直于该平面,而一维子空间里只有一个方向,所以 $\\mathbf{e}$ 必与 $\\mathbf{q}_1\\times\\mathbf{q}_2$ 平行。具体算:$\\mathbf{q}_1\\times\\mathbf{q}_2=\\frac19\\begin{bmatrix}2\\\\2\\\\1\\end{bmatrix}\\times\\begin{bmatrix}2\\\\-1\\\\-2\\end{bmatrix}=\\frac19\\begin{bmatrix}2(-2)-1(-1)\\\\ 1\\cdot2-2(-2)\\\\ 2(-1)-2\\cdot2\\end{bmatrix}=\\frac19\\begin{bmatrix}-3\\\\6\\\\-6\\end{bmatrix}=-\\frac13\\begin{bmatrix}1\\\\-2\\\\2\\end{bmatrix}$——恰是 $\\mathbf{e}$ 的 $-3$ 倍。$\\checkmark$ **几何意义**:这说明"正交补是一维"时,误差向量没有选择余地,只能落在法线方向上;这也解释了为什么 $3\\times2$ 的最小二乘问题的残差总是"可以用一个法向量表示"。Q4.(概念题)为什么实际数值软件更愿意用 Householder 变换或 modified Gram-Schmidt,而不是教科书上的经典 Gram-Schmidt?请结合”$A^{\mathsf T}A$ 的条件数是 $A$ 条件数的平方”说明。
