back to index

Linear Algebra Lecture 31: Gram-Schmidt Process


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