正交基很有價值,但大部分一開始給你的基底都不是正交的。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 與三角不等式
則會說明這些投影步驟背後的估計原理。