Evanalysis
9.3预计阅读时间: 8 分钟

9.3 Gram-Schmidt 正交化

把 Gram-Schmidt 过程用来把一组基底转成正交基或标准正交基,同时保持张成空间不变。

正交基很有价值,但大部分一开始给你的基底都不是正交的。Gram-Schmidt 过程正正就是用来修补这件事的标准方法。

它从任意一组线性无关向量开始,逐步删去那些已经落在先前方向上的成 分。留下来的新向量会互相正交,而且每一步都保留原本的张成空间。

Gram-Schmidt 背后的投影想法

假设 v1,,vkv_1,\dots,v_k 已经是正交向量,而 w 是任意向量。若你想取出 w 中那个同时垂直于所有 viv_i 的部分,就要把 w 在各个 viv_i 方 向上的成分全部扣掉:

ww,v1v12v1w,vkvk2vk.w- \frac{\langle w,v_1\rangle}{\|v_1\|^2}v_1 -\cdots- \frac{\langle w,v_k\rangle}{\|v_k\|^2}v_k.

定理

正交余量定理

S={v1,,vk}S=\{v_1,\dots,v_k\}Rm\mathbb{R}^m 中的一个正交集,而 wRmw\in\mathbb{R}^m。定义

v=ww,v1v12v1w,vkvk2vk.v= w- \frac{\langle w,v_1\rangle}{\|v_1\|^2}v_1 -\cdots- \frac{\langle w,v_k\rangle}{\|v_k\|^2}v_k.

v 会与每个 viv_i 都正交。

这条定理就是整个算法的引擎:它精确告诉你怎样从一个新向量中扣走“已 有方向”的部分。

Gram-Schmidt 过程

定理

Gram-Schmidt 正交化过程

{w1,,wk}\{w_1,\dots,w_k\}Rm\mathbb{R}^m 中的一组线性无关向量。定义

v1=w1,v_1=w_1,

并对 =2,,k\ell=2,\dots,k 定义

v=ww,v1v12v1w,v1v12v1.v_\ell= w_\ell -\frac{\langle w_\ell,v_1\rangle}{\|v_1\|^2}v_1 -\cdots- \frac{\langle w_\ell,v_{\ell-1}\rangle}{\|v_{\ell-1}\|^2}v_{\ell-1}.

则:

  1. {v1,,vk}\{v_1,\dots,v_k\} 是正交集;
  2. 对每个 \ell
span{w1,,w}=span{v1,,v}.\operatorname{span}\{w_1,\dots,w_\ell\} = \operatorname{span}\{v_1,\dots,v_\ell\}.

特别地,最后得到的正交集与原本那组线性无关向量张成同一个子空间。

第二点与第一点同样重要。Gram-Schmidt 并不是随便产生一些正交向量; 它在每一步都保留了原来的张成空间。

怎样阅读这个算法

第一个向量完全不改:

v1=w1.v_1=w_1.

第二个向量,就是 w2w_2 中与 v1v_1 垂直的那部分。

第三个向量,就是 w3w_3 中同时与 v1v_1v2v_2 垂直的那部分。

之后每一步都一样:把已经落在旧方向中的部分扣除,只留下新的正交方 向。

例题

在 R^3 中做一个短的 Gram-Schmidt 计算

从这组线性无关向量开始:

w1=[101],w2=[111],w3=[012].w_1= \begin{bmatrix} 1\\0\\1 \end{bmatrix}, \qquad w_2= \begin{bmatrix} 1\\1\\1 \end{bmatrix}, \qquad w_3= \begin{bmatrix} 0\\1\\2 \end{bmatrix}.

先设

v1=w1=[101].v_1=w_1= \begin{bmatrix} 1\\0\\1 \end{bmatrix}.

接着计算

w2,v1v12=22=1,\frac{\langle w_2,v_1\rangle}{\|v_1\|^2} =\frac{2}{2}=1,

所以

v2=w2v1=[010].v_2=w_2-v_1= \begin{bmatrix} 0\\1\\0 \end{bmatrix}.

再来

w3,v1v12=22=1,w3,v2v22=11=1.\frac{\langle w_3,v_1\rangle}{\|v_1\|^2} =\frac{2}{2}=1, \qquad \frac{\langle w_3,v_2\rangle}{\|v_2\|^2} =\frac{1}{1}=1.

因此

v3=w3v1v2=[101].v_3=w_3-v_1-v_2= \begin{bmatrix} -1\\0\\1 \end{bmatrix}.

最后得到的集合

{[101],[010],[101]}\left\{ \begin{bmatrix} 1\\0\\1 \end{bmatrix}, \begin{bmatrix} 0\\1\\0 \end{bmatrix}, \begin{bmatrix} -1\\0\\1 \end{bmatrix} \right\}

是正交的,并且与原来那组向量张成同一个子空间。

由正交基走向标准正交基

Gram-Schmidt 给你的是正交基。若想得到标准正交基,只需把每个非零向 量规范化:

ui=vivi.u_i=\frac{v_i}{\|v_i\|}.

定理

每个子空间都有标准正交基

VVRm\mathbb{R}^m 的子空间。那么 VV 一定有正交基;把它规范 化之后,也一定有标准正交基。

因此,标准正交基并不是偶然的特殊现象,而是每个有限维子空间都可获得 的结构。

例题

把 Gram-Schmidt 输出再规范化

沿用前面的三个向量:

v1=2,v2=1,v3=2.\|v_1\|=\sqrt2,\qquad \|v_2\|=1,\qquad \|v_3\|=\sqrt2.

所以一组标准正交基为

u1=12[101],u2=[010],u3=12[101].u_1=\frac{1}{\sqrt2} \begin{bmatrix} 1\\0\\1 \end{bmatrix}, \qquad u_2= \begin{bmatrix} 0\\1\\0 \end{bmatrix}, \qquad u_3=\frac{1}{\sqrt2} \begin{bmatrix} -1\\0\\1 \end{bmatrix}.

常见错误

常见错误

不要拿原本的 w-向量去扣投影

在递归公式中,每一步都必须用已经构造好的正交向量 v1,,v1v_1,\dots,v_{\ell-1} 去扣投影,而不是用原来的 w1,,w1w_1,\dots,w_{\ell-1}。若你对原本那组未正交化的向量扣投影,输出未 必会变成正交。

快速检查

快速检查

Gram-Schmidt 中的第一个向量 v1v_1 是什么?

直接看定义。

解答

答案

快速检查

除了变成正交之外,Gram-Schmidt 还保留了什么性质?

想想定理中的张成结论。

解答

答案

快速检查

怎样由正交基得到标准正交基?

用规范化。

解答

答案

练习

快速检查

w1=(1,1,0)w_1=(1,1,0)w2=(1,0,1)w_2=(1,0,1) 做 Gram-Schmidt 的前两步。

先设 v1=w1v_1=w_1,再扣掉 w2w_2v1v_1 方向上的部分。

解答

引导解答

快速检查

为什么 Gram-Schmidt 要求原来那组 w1,,wkw_1,\dots,w_k 必须线性无关?

想想其中一步可能会发生什么。

解答

引导解答

快速检查

假设 Gram-Schmidt 得到正交向量 v1,v2v_1,v_2,其范数分别是 3 与 4。相应的标准正交向量是什么?

逐个规范化。

解答

引导解答

相关笔记

应先读 9.2 正交集与标准正交基, 因为 Gram-Schmidt 正是建立在正交坐标公式上。

本节的存在性结论,也是把 6.2 子空间6.5 基底与维数 推向更几何版本的重要工具。

下一节 9.4 Cauchy-Schwarz 与三角不等式 则会说明这些投影步骤背后的估计原理。

本节掌握 checkpoint

要完成这一节 checkpoint,需要把每一题答对。 答对进度: 0%.

技能点: gram-schmidt, span, orthogonal-basis

除了产生正交向量之外,Gram-Schmidt 在每一步还保留了什么?

已用尝试次数: 0

剩余尝试次数: 不限尝试次数

预览不会消耗尝试次数。

提交会记录一次正式评分尝试。

本单元重点词汇