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

剩餘嘗試次數: 不限嘗試次數

預覽不會消耗嘗試次數。

提交會記錄一次正式評分嘗試。

本單元重點詞彙