back to index
Linear Algebra Lecture 31: Gram-Schmidt Process

link |
我們要講的是,假設已經給你一個basis,它不是一個orthogonal的basis,
link |
但是你可以把一個不是orthogonal的basis,用一個演算法,就把它變成orthogonal的basis。
link |
所以這邊就告訴我們說,假設你有一個basis,它不見得是orthogonal的,它叫U1到Uk,
link |
你可以想辦法把它們變成orthogonal basis,就是V1到Vk。
link |
那這個演算法的操作如下,它是叫Grant-Smith的basis。
link |
那這個做法是怎麼樣呢?那我們上週有講說,我們禮拜三的時候有講說,這個做法就是你先令V1等於U1。
link |
然後呢,V2是什麼?V2就是U2減掉它在V1上的投影。
link |
那V3是什麼?V3就是U3減掉它在V1V2上的投影,到Vk就是Uk減掉它在V1到Vk-1上的投影,就這樣。
link |
那這個式子如果你不了解它的原理,你要光硬背比較難啦。
link |
但是如果你知道說,我們每次就是減掉在之前的已經找出來的vector上面的投影的話,
link |
好,那要怎麼證明這一個process,這一個evidence是對的呢?
link |
要證明這個evidence是對的,其實你可以輕易的證明說,今天V1到Vk它的span會等於U1到Uk它的span。
link |
所以我下面寫說V1到Vi的span,但V1到Vi是orthogonal的,它會等於U1到Ui的span。
link |
這邊這個i並不是打錯字,並不是寫錯了。
link |
這邊之所以寫i而不是寫k的意思是說,其實這個i呢,它可以是任何的值,任何的值它不一定要是這個k。
link |
也就是說V1V2它的span跟U1U2一樣。V1V2V3的span跟U1U2U3一樣。
link |
V1V2到Vk的span跟U1U2到Uk的span是一樣的。
link |
那等一下呢,我就來跟大家說明為什麼V1到Vk的span會等於U1到Uk的span。
link |
那上次在下課前呢,我們其實也看了這個圖,這是一個示意圖跟我們講說怎麼做Brandsmith的process。
link |
你把V2呢,減掉它在U1上的投影,就得到U2。
link |
接下來把V3拿出來,V3是藍色那個箭頭。
link |
V3要減掉它在U1跟U2上面的投影,先減掉它在U1上的投影。
link |
然後再減掉它在U2上的投影,就得到U3到U3。
link |
這樣你就得到了一個orthogonal的basis。
link |
那假設你希望說你的basis呢,進一步甚至是orthonormal的,那你就可以做一下normalization,就變成orthonormal。
link |
那這個呢,就是Brandsmith的process的visualization。
link |
好,那再來就是要說明說為什麼我們剛才講的V1到Vk的span會等於U1到Uk的span呢?
link |
那當然這邊要說明一下說U1到Uk,或者是U1到Ui,它們是independent。
link |
為什麼?因為它們是一個basis,所以它們是independent。
link |
好,那也許我們,因為我們今天希望把U1到Uk變成一個orthogonal的vector set,
link |
所以我們也許先要說明一下說為什麼V1到Vk會是一個orthogonal的vector set。
link |
那這件事情其實非常容易說明,這邊就是用歸納法來說明為什麼V1到Vk是一個orthogonal的vector set。
link |
我怎麼說明呢?就是說,假設現在k等於1,只有一個vector,
link |
那只有一個vector,它就直接是一個orthogonal的vector set,
link |
因為我們現在其實沒有其他的vector。
link |
那如果現在假設k等於n是成立的,假設k等於n是成立的,那現在考慮n加1的case。
link |
那假設k等於n是成立的的時候,怎麼考慮k等於n加1的case呢?
link |
那你需要做的事情就是,你要證明說Vn加1跟Vi,i是小於n加1的,它們做double order以後會等於0。
link |
也就是說,你要考慮的事情是,V2加進去以後,V2跟V1做double order會等於0。把V3加進去以後,V3跟V2做double order會等於0。
link |
V3跟V1做double order會等於0。那怎麼證明這件事情呢?
link |
我們就拿Vk來做例子,來跟大家說明一下。那怎麼證明Vk跟V1到Vk-1做double order都會等於0呢?
link |
你可以這麼做,我們就把Vk跟Vi,i是某一個小於k的數做double order。
link |
那我們就把這項跟Vi做double order。 把這項跟Vi做double order會發生什麼事情呢?
link |
V1到Vk-1它是一個orthogonal的vector set,這就是用歸納法。假設V1到Vk-1已經是一個orthogonal的vector set,現在要證明說,把Vk加進去以後,它跟V1到Vk-1的那些vector都是orthogonal的。
link |
所以我們已經知道說,V1到Vk-1這些vector是orthogonal的。所以你把Vi跟這第一項相乘,除非Vi就是V1,不然它就是0,對不對?
link |
因為V1跟Vi是orthogonal的。同理,Vi跟V2做double order也是0,Vi跟Vk-1做double order也會是0。所以現在你唯一剩下的項就是
link |
UK.Vi,然後除掉Vi的none平方。
link |
好,然後接下來我們在.Vi,前面有一個減號。
link |
那這一項,我漏掉了一個東西,這前面其實還有一個Vi,希望你看得懂。
link |
Ui.Vi除以Vi的none平方,乘上Vi再.Vi。Vi.Vi其實就是Vi的none平方,所以這一項跟這一項是可以消掉的。
link |
Uk,Uk也.Vi,所以又是,就變成Uk.Vi減掉Uk.Vi,所以就等於0。
link |
我們把Vk跟Vi做double order,它其實是會等於0的。所以我們就知道說,現在我們用這個Brandt-Schmidt process找出來的vector set一定是orthogonal。
link |
我們用這個process找出來的,一定是一個orthogonal的vector set。
link |
但是我們找出一個orthogonal vector set,並不代表說它一定會跟我們原來的vector U1到Uk,這個vector set所展出來的subspace是一樣的。
link |
所以接下來我們要證明說,它們的subspace是一樣的。那怎麼證明說它們的subspace是一樣的呢?
link |
這邊要用到我們在第四章的時候學到的有關subspace的種種特性。我們說,如果你要檢查一個vector set是不是某一個subspace的basis,怎麼做呢?
link |
這三個條件裡面,只要滿足兩個就足夠了,對不對?
link |
就是大家記不記得說,假設我們已經知道有一個vector set,這個vector set的dimension我們就假設是k。
link |
那如果我們從這個vector set裡面拿出k個independent vector,那這k個independent vector一定會是這個vector set的basis,對不對?
link |
我們並不需要去check說這k個independent vector是不是真的可以span整個vector set,不需要確認這件事。
link |
我們如果今天能夠在一個vector set裡面,我們已經知道它的dimension就是k,我們可以找到k個independent vector就結束了。
link |
就假設我們在知道這個subspace的dimension的前提之下,我們只要能夠找出跟dimension數目一樣的independent vector就結束了。
link |
所以現在我們有一個subspace,這個subspace是由U1到Uk所span而生成的,也就是U1到Uk是這個subspace的basis。
link |
那現在總共有k個vector,所以如果今天你只要在這一個subspace裡面也找出k個independent vector,它一定就是basis。
link |
所以我們現在要證明的方向是說U,V1到Vk,當然V1到Vk它會是這個subspace的basis。
link |
假設這個subspace叫做V的話,這個V1到Vk會是這個subspace的basis。
link |
首先就數目而言是對的,因為我們已經知道這個subspace的dimension就是k,那這邊V1到Vk正好也是k個vector。
link |
你現在唯一需要證明的兩件事情是,第一個V1到Vk它是不是從這個subspaceV裡面,它是不是subspaceV的成員呢?
link |
這件事情是毋庸置疑的,因為V1到Vk它們都是U的linear combination,就是V1是U1的linear combination,
link |
V2是U2減掉U2跟V1的linear combination,而V1又是U1的linear combination,所以V2是U1、U2的linear combination,V3是U1、U2、U3的linear combination。
link |
所以這個V1到Vk它們是落在V裡面的,所以V1到Vk它們是落在大V的subspace裡面是沒有問題的。
link |
所以接下來最後一件你要證明的事情就是,它是independent vector set。
link |
那它是不是independent vector set呢?
link |
首先我們剛才已經證明說它是orthogonal,但是我們上禮拜三的時候有講過說一個orthogonal vector set它不見得是independent的,它還要滿足另外一件事才是independent的,滿足什麼事呢?
link |
它必須要是non-zero的才會是independent的,對不對?
link |
好,那再來V1到Vk它們是不是non-zero的呢?它們是不是一定是非0的呢?這個顯然是的,因為你從V1開始想起,V1它一定不會等於0,因為V1等於U1,而U1是什麼?
link |
U1是某一個basis裡面的成員,basis裡面的成員通通都是independent的。
link |
U1到Uk它們很重要的特性就是它們是independent,因為它們是一個basis,有zero vector就不可能是independent的,所以zero vector不會出現在這裡,不會出現在basis裡面。
link |
所以這個U1不等於0,所以V1也一定不會等於0。
link |
好,那V2會等於0嗎?如果V2等於0的話,意味著U2等於V1的linear combination,而V1又等於U1。
link |
如果U2是U1的linear combination的話,那就代表說這個vector set是dependent的不是independent的,所以V2也不可能等於0。
link |
然後就以此類推,以此類推,以此類推。V3一定也不等於0,因為如果V3等於0的話,意味著說這個U3會是V1跟V2的linear combination。
link |
U3如果是V1V2的linear combination,意味著U3是U1U2的linear combination,因為V1就等於U1,然後V2是U1U2的linear combination。
link |
所以今天如果V3等於0的話,那意味著U3是可以用U1U2做linear combination以後得到的。那這樣子的話,U1U2U3這個vector set就不是independent,所以這件事是不可能發生的。
link |
所以這邊我們就知道說V1到Vk這個vector set它是不等於0的,就這樣。然後因為它不等於0,它又是orthogonal,它不等於0又是orthogonal的,所以它一定是independent的。
link |
就不等於,只有orthogonal,沒有辦法說是independent。但是如果既是orthogonal又是non-zero的,它就是independent的,它就是independent。
link |
最後就是舉一個例子,假設那些東西剛才講的你聽不太懂的話,那沒有關係,就是硬記一發公式,考試的人就可以硬套一發。
link |
好,那就是假設現在有一個basis,它們是U1U2U3,假設basis它們是linear independent,但它們不是orthogonal,可以自己算算看,U1U2U3並不是orthogonal。
link |
好,那我們現在希望找另外一個basis,這個basis裡面的成員是orthogonal的,就直接套Brandsmi的式子,V1等於U1,所以你就找到V1了,V1就是1111,V1跟U1是一樣。
link |
再來V2是什麼?V2是U2減掉U2在V1上面的投影,那怎麼算呢?怒套一發公式,U2就是2101,V1是1111,V1就是1111。
link |
然後這邊你就算一下U2.V1是多少,算出來就是4,然後算一下V1的長度,算一下V1的長度是多少,V1的長度也是4,然後就結束了。
link |
好,就這樣子。那V3呢,就以此類推,只是計算有一點點繁瑣而已,但是一點都不困難,你就把V3等於U3,然後減掉U3在V1和V2上面的投影,那它的投影怎麼算呢?
link |
你就需要把這一項算出來,這一項算出來,把這一項算出來,這一項算出來,只是運算略微繁瑣,算一算以後就得到了V3長什麼樣子。
link |
所以你就得到V1,V2,V3,它是一個orthogonal的vector set。那其實你把這個orthogonal vector set裡面任何一個vector,把它乘上一個不等於0的數值,舉例來說你把V3胡亂乘上個4倍,它仍然會是一個orthogonal的basis。