標准正交矩陣
標准正交向量
有一堆向量,q1,q2……qn,它們兩兩正交,這意味着這些向量滿足:

一個向量沒法和自己正交,在i = j時,讓qiTqi = 1,這相當於qi模長等於1:

向量的轉置乘以自身等於1,意味着這個向量是單位向量,所以我們稱這堆向量q1,q2……qn是標准正交向量。
標准正交矩陣
現在把這些標准正交向量放入矩陣中:

QTQ最終得到了一個單位矩陣,但Q本身未必是方陣。Q的列是標准正交的,Q因此被稱為標准正交矩陣;當Q是方陣時,簡稱為正交矩陣,此時說明Q和QT互為逆矩陣:

下面的Q就是一個正交矩陣:

可以將Q的三個列看作直角坐標系的三個軸,它們兩兩垂直。
再舉個例子:

一個方陣的列是正交的並不意味着方陣是正交矩陣,比如下面這個:

雖然這個矩陣不是正交矩陣,QTQ的結果卻與單位矩陣神似,我們可以對Q做點處理讓它變成正交矩陣。當Q是正交矩陣時,Q的每一個列的模長都應該是1,因此可以這樣處理:

這樣就變成正交矩陣了。類似的還有下面這個:

正交矩陣與投影矩陣
如果Q是標准正交矩陣,那么Q在列空間上的投影矩陣將得到簡化:

更進一步,如果Q是方陣:

如果對QQT再次投影(這里並未強調Q是方陣):

其中:

在求解Ax = b時,如果A是標准正交矩陣,它的好處就是不需要計算逆矩陣:

這也意味着x帽的一個分量等於QT一行(或Q的一列的轉置)與b的點積:

這也是很重要的一個式子:如果已知標准正交基,在第i個基方向上的投影就等於qiTb
格拉姆-施密特正交化
既然正交化這么好,有沒有什么方法能使矩陣標准正交化呢?當然有,這就是格拉姆-施密特(Gram-Schmidt)正交化。
假設有兩個線性無關的向量a和b,現在標准正交化這兩個向量,讓它們變成q1和q2。首先保持a不變讓向量A = a,接下來要尋找到另一個向量B,使得A⊥B。p是b在a上的投影,B就相當於b的誤差向量:

根據上一章的知識,p相當於a放縮了x倍,在一維空間內,x是一個標量:

這相當於B是b減去b在a上的投影,B是b和A的線性組合。
最后將A變成指向A方向的單位向量,B變成指向B方向的單位向量:

這就是格拉姆-施密特正交化方法。
如果還有一個向量c,由c到q3的轉換:

代入幾個數值看看:

驗證:

這個標准正交矩陣Q是通過下面的原始矩陣得到的:

A的列空間和B的列空間相同,能夠張成一個二維空間的平面。a和b是A的列空間的一組基,但這組基“不夠好”,我們還想進一步讓這組基的向量兩兩正交,並且都是單位向量,這就得到了q1和q2。
格拉姆-施密特表達
如同A = LU一樣,A可以分解成一個正交矩陣和一個上三角矩陣的乘積,A = QR,這里A是原始矩陣,各列線性無關,Q是標准正交矩陣,R是上三角矩陣。
假設原始矩陣A有三個列向量:

按照格拉姆-施密特正交化方法轉換后,得到q1,q2,q3:

q和a本身也是列向量,得出結果並不那么直觀,可以展開表達:

由於q1Tq2 = 0,q1只是a1的單位化,所以a1T與q2也正交,a1Tq2 = 0;同理,a1Tq3 = 0。q2是a2和q1的線性組合,轉置后,q2T是a2T和q1T的線性組合,這相當於:

如果t1 = 0,相當於q1和q2是線性相關的,這就不符合標准正交向量的前提,所以一定有t1 ≠ 0:

a2Tq2和a3Tq3不為0,如果是0,就沒必要正交化了。q3是a3和q1、q2的線性組合,轉置后,q3T是a3T和q1T、q2T的線性組合,這相當於:

示例
求矩陣A的QR分解。


作者:我是8位的

