正交基很有价值,但大部分一开始给你的基底都不是正交的。Gram-Schmidt
过程正正就是用来修补这件事的标准方法。
它从任意一组线性无关向量开始,逐步删去那些已经落在先前方向上的成
分。留下来的新向量会互相正交,而且每一步都保留原本的张成空间。
Gram-Schmidt 背后的投影想法
假设 v1,…,vk 已经是正交向量,而 w 是任意向量。若你想取出
w 中那个同时垂直于所有 vi 的部分,就要把 w 在各个 vi 方
向上的成分全部扣掉:
w−∥v1∥2⟨w,v1⟩v1−⋯−∥vk∥2⟨w,vk⟩vk.
定理
正交余量定理
设 S={v1,…,vk} 是 Rm 中的一个正交集,而
w∈Rm。定义
v=w−∥v1∥2⟨w,v1⟩v1−⋯−∥vk∥2⟨w,vk⟩vk.则 v 会与每个 vi 都正交。
这条定理就是整个算法的引擎:它精确告诉你怎样从一个新向量中扣走“已
有方向”的部分。
Gram-Schmidt 过程
定理
Gram-Schmidt 正交化过程
设 {w1,…,wk} 是 Rm 中的一组线性无关向量。定义
v1=w1,并对 ℓ=2,…,k 定义
vℓ=wℓ−∥v1∥2⟨wℓ,v1⟩v1−⋯−∥vℓ−1∥2⟨wℓ,vℓ−1⟩vℓ−1.则:
- {v1,…,vk} 是正交集;
- 对每个 ℓ,
span{w1,…,wℓ}=span{v1,…,vℓ}.特别地,最后得到的正交集与原本那组线性无关向量张成同一个子空间。
第二点与第一点同样重要。Gram-Schmidt 并不是随便产生一些正交向量;
它在每一步都保留了原来的张成空间。
怎样阅读这个算法
第一个向量完全不改:
v1=w1.
第二个向量,就是 w2 中与 v1 垂直的那部分。
第三个向量,就是 w3 中同时与 v1 与 v2 垂直的那部分。
之后每一步都一样:把已经落在旧方向中的部分扣除,只留下新的正交方
向。
例题
在 R^3 中做一个短的 Gram-Schmidt 计算
从这组线性无关向量开始:
w1=101,w2=111,w3=012.先设
v1=w1=101.接着计算
∥v1∥2⟨w2,v1⟩=22=1,所以
v2=w2−v1=010.再来
∥v1∥2⟨w3,v1⟩=22=1,∥v2∥2⟨w3,v2⟩=11=1.因此
v3=w3−v1−v2=−101.最后得到的集合
⎩⎨⎧101,010,−101⎭⎬⎫是正交的,并且与原来那组向量张成同一个子空间。
由正交基走向标准正交基
Gram-Schmidt 给你的是正交基。若想得到标准正交基,只需把每个非零向
量规范化:
ui=∥vi∥vi.
定理
每个子空间都有标准正交基
设 V 是 Rm 的子空间。那么 V 一定有正交基;把它规范
化之后,也一定有标准正交基。
因此,标准正交基并不是偶然的特殊现象,而是每个有限维子空间都可获得
的结构。
例题
把 Gram-Schmidt 输出再规范化
沿用前面的三个向量:
∥v1∥=2,∥v2∥=1,∥v3∥=2.所以一组标准正交基为
u1=21101,u2=010,u3=21−101.
常见错误
常见错误
不要拿原本的 w-向量去扣投影
在递归公式中,每一步都必须用已经构造好的正交向量
v1,…,vℓ−1 去扣投影,而不是用原来的
w1,…,wℓ−1。若你对原本那组未正交化的向量扣投影,输出未
必会变成正交。
快速检查
快速检查
Gram-Schmidt 中的第一个向量 v1 是什么?
快速检查
除了变成正交之外,Gram-Schmidt 还保留了什么性质?
练习
快速检查
对 w1=(1,1,0) 与 w2=(1,0,1) 做 Gram-Schmidt 的前两步。
先设 v1=w1,再扣掉 w2 在 v1 方向上的部分。
快速检查
为什么 Gram-Schmidt 要求原来那组 w1,…,wk 必须线性无关?
快速检查
假设 Gram-Schmidt 得到正交向量 v1,v2,其范数分别是 3 与 4。相应的标准正交向量是什么?
相关笔记
应先读
9.2 正交集与标准正交基,
因为 Gram-Schmidt 正是建立在正交坐标公式上。
本节的存在性结论,也是把
6.2 子空间
与 6.5 基底与维数
推向更几何版本的重要工具。
下一节
9.4 Cauchy-Schwarz 与三角不等式
则会说明这些投影步骤背后的估计原理。