back to index
Linear Algebra Lecture 33: Symmetric Matrix

link |
我們都知道它是什麼,但是它有一些性質,是我們必須要講完orthogonal以後,尤其是講完orthogonal的matrix以後,才能夠講的性質。
link |
那一個對稱的矩陣有什麼樣的性質呢?在講完eigenvalue以後,其實它有一個特別的性質是,它的eigenvalue一定都是正的,它沒有虛根,它不是容數,它沒有虛根。
link |
那怎麼證一個symmetric的matrix,它的eigenvalue一定都是實數呢?一定都是real number呢?
link |
我們先舉一個特例,這個特例是說,假設我們先考慮一個二乘以二的matrix,我們只考慮一個二乘以二的symmetric的matrix。
link |
二乘以二的一個symmetric的matrix,二乘以二的symmetric的matrix,我們可以把它這個不失一般性的把它寫成A C B B這樣,就是對角性的地方是A跟C,不是對角性的地方就都放B,然後它是一個對稱的矩陣。
link |
好,那我們現在要來找這個對稱矩陣的eigenvalue,我們怎麼找eigenvalue呢?我們就列出那個characteristic的polynomial,也就是你把對角性的地方都減t,對角性的地方減t,再算它的determinant。
link |
你把這個matrix A,對角性的地方減t,對角性的地方減t,再算它的determinant,這個時候你會得到什麼結果呢?這個時候你要算determinant的話,你就把A減t乘C減t,然後再減掉B平方,A減t乘C減t,再減掉B平方。
link |
所以今天這個對稱矩陣呢,它的characteristic polynomial列出來是這個樣子。
link |
好,那它是一個一元二次的方程式,一元二次的方程式你要找它的一元二次的多項式,一元二次的多項式你要找它的根,你可以直接套公式解,對不對?這個是我們國中的時候就學過的東西。
link |
那你要怎麼知道一個一元二次的多項式,它的根是不是都是實數呢?只要它的B平方減4ac大於等於零,它的根就都是實數。
link |
好,那我們來check一下現在這個一元二次多項式,它的B平方減4ac是多少?它的B指的是這一項,這邊notation有點abuse,這個是B平方減4ac,就是把這個負A加C取它的平方,B平方減掉四倍的AC減B平方。
link |
那這個式子整理一下以後你會發現說它是A減C平方加4B平方,一定大於等於零。所以這告訴我們說,一個二乘以二的對稱矩陣,它都只有十根,它的eigenvalue通通都是實數,因為它的characteristic polynomial只有十根。
link |
好,這個是二乘以二的矩陣。那如果是一個in general的case,怎麼討論這個問題呢?如果是一個in general的case的話,這個時候你要用到實系數多項式須根共二這樣子的性質。
link |
那這個部分其實算是超出範圍,它寫在課本的appendix裡面。今天一個實系數的多項式,因為今天我們的matrix裡面的值都是實數,所以我們的characteristic polynomial它是一個實系數的多項式,它的須根會共二。
link |
什麼叫做須根會共二呢?假設我們有一個須根叫做lambda,lambda是一個虛數,那這個時候lambda bar,如果今天lambda是一個eigenvalue的話,那lambda bar也會是一個eigenvalue。
link |
這個bar是什麼,大家知道我的意思嗎?如果你今天有一個lambda,它等於a加bi,就是它是一個負數,假設你今天你的實系數多項式,你的characteristic polynomial有lambda等於a加bi這個解。
link |
也就是說你的matrix有a加bi這個eigenvalue,那它就一定會有lambda bar,lambda bar就是a減bi這樣子的eigenvalue。
link |
好,那接下來要說明的就是,如果一個矩陣它是對稱的,那它的lambda就不可能會有虛數的部分,它就一定必須是實數。
link |
那怎麼說呢?這邊用的是,這邊這個怎麼說呢?這個我們可以用,我們可以這麼說明,就是我們先假設說今天有一個matrix a,它是對稱的。
link |
那這個matrix a,假設它現在同時有lambda也有lambda bar這兩個共二的eigenvalue,因為其實無論是哪一個matrix,它的eigenvalue都一定會是共二的。
link |
然後在這個情況下,我們就可以說a乘上b等於lambda b,a乘上w等於lambda bar w,你找到某一個b跟a相乘以後等於lambda b,你找到某一個w跟a相乘以後等於lambda bar w。
link |
然後接下來你可以把這個w的transpose乘上a乘上b,然後這個東西會有兩個,這個東西當然你就可以很trivial的寫成w的transpose乘上lambda乘上b等於lambda乘上w的transpose乘上b。
link |
但是這一項你其實可以給它另外一個解讀,怎麼另外一個解讀呢?
link |
就是我們要用到a它是transpose的性質,就是a等於a的transpose這件事情,因為a等於a的transpose,所以這一項同時也等於w的transpose,a的transpose乘上b,因為a等於a的transpose。
link |
然後接下來你就可以把這一項把它括號括起來,這一項等於w,我想想看,把這一項括號括起來,沒有問題嗎?
link |
好,沒有問題,好,這一項等於什麼呢?這一項等於a乘以w的transpose再乘上b,a乘以w的transpose再乘上b,w乘以transpose乘以a乘上b,等於a乘上w的transpose再乘上b。
link |
然後呢?a乘以w是多少?a乘以w是lambda bar乘上w,對,lambda bar乘上w的transpose再乘上b,等於lambda barw的transpose乘上b這樣。
link |
好,那現在,因為這兩個式子是相等的,所以說這一項lambda barw的transpose乘上b跟lambda w的transpose乘上b,它們是相等的,它們是相等的。
link |
如果它們是相等的,我們就能夠保證推得lambda等於lambda bar嗎?因為它們是相等的,然後w的transpose乘上b,當然是等於w的transpose乘上b,它們是一樣的東西,它們是一樣的東西。
link |
它們是一樣的東西,那為了要讓它們相等的話,lambda就必須等於lambda bar。那如果lambda等於lambda bar,那就意味著說,現在lambda它自己已經是一個數值,它不等於一個數字,它是一個數字的話,lambda就不能等於lambda bar,但是如果只有這樣講的話,其實還是少了一些東西的,少了什麼呢?
link |
因為有一個可能是,如果w的transpose乘上b等於0的話,而如果w的transpose乘上b等於0的話,那lambda就可以不等於lambda bar,對不對?
link |
所以我們今天需要證明,在接下來需要說明的一件事情就是,w的transpose乘上b,它一定是不等於0的,一定是不等於0的。因為w的transpose乘上b一定不等於0,所以lambda必須要等於lambda bar。
link |
好,那如何證明w的transpose乘上b不等於0呢?我們可以說,其實我們找得到一個w,它就是b的conjugate,就是b bar,就是b bar。
link |
所謂b的conjugate的意思就是,把這個b這個vector裡面的每一個element都換成它的共二。不知道大家知道我的意思,就是假設你本來有一個vector是1加3i,然後1減2i,假設這個是b,那它的conjugate b bar就是1減3i,1加2i這樣。
link |
好,那所以把b bar當作w這個式子是會成立的。
link |
為什麼把b bar當作w這個式子會成立呢?因為我們可以把a乘上b等於lambda乘上b這個東西,左右兩邊都取它的conjugate。
link |
那我們知道說,今天如果你把好幾個式子,今天這個你把左右兩邊都取conjugate,等於a的conjugate乘上b的conjugate等於lambda的conjugate乘上b的conjugate。
link |
但是因為a是一個時數,所以a乘上b的conjugate等於lambda的conjugate乘上b的conjugate。所以我們知道說,今天w是可以等於b的conjugate。
link |
那w等於b的conjugate以後又怎樣呢?w等於b的conjugate以後,我們就知道說,我們現在目標是要說明這件事,就是w的transpose乘上b是不等於0的,那現在w可以等於b的conjugate。
link |
那b的conjugate跟transpose,跟b相乘,會發生什麼事呢?你會發現說,它一定是大於0的,它一定是大於0的。為什麼它一定是大於0的呢?
link |
因為可以想想看,假設b是v1v2一直到vn,那v的conjugate是v1v2一直到vn的bar。
link |
那算出來的結果呢?把它的alpha打算出來,把vbar的transpose乘上b,你算出來的就是v1的transpose乘上b,加上v2的transpose乘上v2。
link |
那這一項是什麼?這一項是b的v1的長度,對不對?假設你今天你的v1是a加vi,而你的v1bar是a減vi,
link |
那v1跟v1bar相乘,這個大家知道是多少嗎?就是a平方加b平方,對不對?這一項一定是真的,一定是真的。
link |
所以這個東西是v1的長度,這個東西是v2的長度,然後因為今天v呢,它不能是zero vector,它不能是zero vector,所以這個vbar的transpose乘上b會大於1。
link |
所以我們知道說,大家覺得乘後乘上b呢,是不可能等於零的,所以浪打等於浪打罷了。所以剛才講的東西,如果你覺得沒有辦法跟上的話,你就記得一件事情,
link |
就是對稱的矩陣,它的根都是實數,它是沒有虛根的,就這樣。
link |
好,那對稱的矩陣還有另外一個特色,我們之前有講說,我們可以每一個,假設一個矩陣呢,它有一堆eigenvalue,
link |
那每一個eigenvalue呢,都有一個自己對應的eigenspace,那eigenspace裡面呢,如果你拿兩個vector出來,它們屬於不同的eigenspace,
link |
那它們一定是independent,屬於不同eigenspace的vector,它們一定是independent。
link |
但如果今天我們考慮的matrix它是對稱的,那我們就可以進一步說,它們不只是independent的,它們還是orthogonal的。
link |
好,怎麼說呢?這個證明就很簡單,假設現在有u跟v這兩個eigenvector,它們分別對應到兩個不同的eigenvalue,浪打跟μ,那浪打是不等於μ的。
link |
那接下來呢,我們就可以說,u跟v一定是orthogonal的,對應到不同eigenvalue的eigenvector一定是orthogonal的。
link |
怎麼說呢?我們就計算,我們就計算au跟v的double product,我們計算au跟v的double product。
link |
那因為u呢,是一個eigenvector,所以u乘上a會等於浪打u,那等於浪打乘上u跟v的double product。
link |
然後我們可以用另外一個角度來看待這件事情,這個時候你就需要用到a等於a的transpose,a是symmetric的性質。
link |
好,那因為a是symmetric的,就是au dot v這件事,我們還是寫一下a吧,那au dot v這件事,可以寫成au的transpose乘上v,可以寫成u的transpose,a的transpose乘上v。
link |
那a的transpose乘上v會等於多少呢?因為a的transpose等於a,a是對稱的,所以這個等於u的transpose乘上a乘上v。
link |
然後a乘上v呢,我們就接到那個投影片上面,a乘上v等於,我發現這邊有一個寫錯的地方,難怪我剛才覺得好像怪怪的,這個應該是u才對吧,應該是u才對。
link |
好,a乘上v等於mu乘上v,所以等於mu乘上u跟v的大法檔。那我們在一開始已經說了,這個λ跟μ它們是不相等的,λ跟μ是不相等的。
link |
所以因為λ跟μ是不相等的,所以唯一的可能就是如果你要讓這兩個式子相等,而λ跟μ不相等,唯一的可能就是u跟v是orthogonal的,u跟v是orthogonal的。
link |
好,就這樣子。所以今天如果一個矩陣是對稱的,它有一個特別的性質,就是它的不同的eigenvalue對應的eigenvector會是orthogonal的,而不只是independent的。
link |
In general而言,對一般的矩陣而言,不同的eigenvalue對應到的eigenvector它是independent的,但是如果是一個對稱矩陣的話,它更進一步是orthogonal的。
link |
好,那接下來呢,如果一個矩陣它是對稱的,它有一個神奇的特性,就是它一定可以寫成p的transpose乘上a乘上p等於d。
link |
就是如果一個矩陣是對稱的,那你可以找到一個orthogonal的matrix p,把這個orthogonal matrix p乘上這個對稱的矩陣的左邊跟右邊,然後它會變成一個diagonal的matrix。
link |
好,就如果a是對稱的,它神奇的特性就是你可以在它的左右兩邊乘上orthogonal的matrix,然後它會等於一個diagonal的matrix。
link |
那這個證明,我們如果是從右到左,其實非常的簡單,而從右到左呢,根本就是trivial的,那等一下我們再講完這一頁投影片以後你就會知道為什麼是這樣。
link |
那從左到右呢,是比較複雜的,那這個我們等一下再講,從左到右是比較複雜的,從右到左是非常單純的。
link |
那神奇的地方就是,如果a是symmetric,它可以寫成這個樣子,而一個matrix如果可以寫成這個樣子,它一定是symmetric。
link |
好,那這個P transpose AP等於D這個東西,到底有什麼樣的特殊的含義呢?
link |
那這個東西其實就是我們之前講過的對講話,我們之前講過的diagonalization。
link |
好,因為我們知道說P是orthogonal的,orthogonal的matrix它的特色是什麼呢?它的特色就是P的transpose等於P的inverse。
link |
我們上週講過說,如果P是一個orthogonal的matrix,你要求它的inverse非常簡單,因為它的transpose就等於它的inverse。
link |
所以P的transpose乘上a乘上P,可以寫成P的inverse乘上a乘上P等於D。
link |
所以我們把a左邊乘上P的inverse,右邊乘上P,它就可以變成一個diagonal matrix D。
link |
接下來你可以把P挪到等式的右邊,也就是a等於P乘上D乘上P的inverse。
link |
或者是因為P的inverse等於a的transpose,所以你也可以說a等於P乘上D乘上P的transpose。
link |
那這意思是什麼?這意思是說,a它是可以被對角化的。
link |
這個式子就是我們之前講過的對角化的式子,就是我們之前講過可以被對角化的式子。
link |
所以其實意思就是說,a如果是一個對稱的矩陣,它一定可以被對角化。
link |
我們之前有講過說,並不是所有的矩陣它都一定可以被對角化。
link |
所以你隨便找一個matrix A,並不是所有的matrix A都可以把它變成P乘以D乘以P的inverse。
link |
我們有講過說,如果你要確定一個matrix A能不能夠變成P乘以D乘以P的inverse,
link |
你有種種check的方法,你有一些check的方法,
link |
但是不是所有的矩陣都一定可以把它寫成P乘以D乘以P的inverse。
link |
但是如果一個matrix A它是symmetric的,如果它是對稱的,
link |
那你就一定可以把它寫成P乘以D乘以P的inverse。
link |
所以一個對稱的矩陣,它就一定可以被對角化。
link |
有一個對稱的矩陣A,我們現在要把它做對角化,
link |
找出它的eigenvalue,現在它的eigenvalue是6跟1。
link |
接下來你就找出每一個eigenvalue對應的eigenvector,
link |
這個我想大家也都會,對應到6的eigenvector是-1 2,對應到1的eigenvector是2 1。
link |
那A是一個對稱的矩陣,所以你會發現說-1 2跟2 1它們是orthogonal,
link |
你把-1 2跟2 1做double dot,它們等於0。
link |
所以這個eigenvalue λ1,它對應的eigenspace是由-1 2所長成的,
link |
然後λ2所對應的eigenspace E2,它是由-2 1span而成的。
link |
然後接下來呢,你就可以說找出ε1跟ε2的orthogonal的basis,
link |
那怎麼找出它的orthogonal的basis呢?
link |
或是怎麼找出它的orthonormal的basis呢?
link |
因為ε1跟ε2它裡面只有一個vector,
link |
那個vector的長度現在不見得是1,
link |
所以你要對它做一個normalization,把它變成長度是1。
link |
所以現在就是把-1 2除以√5,把2 1除以√5,把它變成了長度是1。
link |
那接下來呢,你就可以把P跟D找出來了,
link |
D的對角線就是A的那兩個eigenvalue,
link |
P的兩個column就是分別對應到這兩個eigenvalue的basis,就這樣子。
link |
那這個跟之前我們講對角化的時候講的東西是一樣的。
link |
那這邊呢,是另外一個例子啦,這邊是另外一個例子。
link |
那假設這邊有另外一個3乘以3的matrix A,它也是對稱的,
link |
那只要它是對稱的,我們就可以把它寫成A等於P乘以D乘以P的inverse。
link |
那我們現在發現說A呢,它只有兩個eigenvalue,分別是2跟8,
link |
它只有兩個eigenvalue,分別是2跟8,
link |
代表說A對應的characteristic polynomial裡面有重根的情形。
link |
那如果A不是一個對稱的矩陣,它只是一個一般的矩陣的話,
link |
你發現說它是一個3乘以3的矩陣,但是只有兩個eigenvalue,
link |
這個時候你就不知道它能不能夠被對角化。
link |
因為有可能說你找不到三個eigenvector,
link |
可以三個independent eigenvector,它可以拿來當作P的三個column。
link |
但是如果今天是一個對稱的矩陣,你就不需要擔心這個問題,
link |
所以你就實際做一下,這個λ1對應的eigenspace,
link |
它的basis就是-1 1 0,-1 0 1。
link |
那λ2它對應的eigenspace,它的basis就是1 1 1。
link |
比如說你直接找出parametric的representation,
link |
你找出來的basis,不見得是independent的。
link |
誒,這邊有個奇怪的字誒,我想要講的是independent。
link |
好,那今天你用一般的方法找出來的basis,
link |
它雖然一定是independent的,但它不見得是orthogonal的,對不對?
link |
你找出來的basis,它一定是independent的,但它不見得是orthogonal的。
link |
那怎麼辦呢?你就用我們上週講過的Grant Smith的normalization,
link |
把一個independent但不見得是orthogonal的basis,把它轉成orthogonal的basis。
link |
那就把那個公式套一套,你就把這個basis轉成一個orthonormal的basis。
link |
好,那接下來呢,你也把這個1 1 1這個basis,也把它轉成一個orthonormal的basis。
link |
那接下來你再把這兩個basis拼起來,它就是P。
link |
然後D就是2,因為它的basis有兩個vector,所以2要重複兩遍,然後再加上8,然後就結束了。
link |
好,所以今天呢,如果我們要有一個matrix A,它是symmetric,
link |
假設我們要把它寫成P的transpose乘上A乘上P等於D的形式,
link |
或者是把它寫成A等於P乘以D乘以P的transpose,
link |
那要怎麼做呢?你就先把matrix A,它所有的eigenvalue通通都找出來,
link |
然後找出每一個eigenvalue所對應的eigenspace,
link |
假設A有K一個eigenvalue,讓打1到讓打K,
link |
你就找出它對應的K一個eigenspace,ε1到εK,
link |
然後每一個eigenspace,你要找出它的orthonormal的basis,
link |
你要找出它orthonormal的basis,找一般的basis還不行,
link |
你要找的是orthonormal的basis,因為P是一個orthogonal的matrix,
link |
所以你今天你的這個B的basis要是orthonormal的,
link |
那把這個B的orthonormal basis拼起來才會變成orthogonal的matrix P。
link |
所以今天找出一般的basis還不夠,你要用Brandt-Smith的algorithm找出orthonormal的basis,
link |
來把這些orthonormal的basis全部拼起來就可以得到P。
link |
我們之前講對角化的時候,我們說今天假設你有一個matrix A,
link |
它可以被對角化成P乘以D乘以P乘以O,
link |
那意味著說我們有一個好方法,我們有一個好的coordinate system,
link |
我們在這個好的coordinate system下看A這個matrix,
link |
看A這個matrix,它是一個diagonal的matrix。
link |
就有一個coordinate system,這coordinate system的basis,
link |
就是現在投影片上的P這個matrix的color,
link |
那它這個,你用這個coordinate system來看待A這個matrix,
link |
你會發現說它是diagonal的matrix,它是一個簡單的matrix。
link |
那今天如果A它是symmetric的,
link |
那進一步你就可以再說,A既然是symmetric的,
link |
那P就會是一個orthonormal的matrix,
link |
P就會是一個orthonormal的matrix,
link |
P它會是一個orthonormal的basis。
link |
這意味著說我們找得到一個coordinate system,
link |
這個coordinate system它的basis是orthonormal的,
link |
它的basis是orthonormal的。
link |
我們找得到一個coordinate system,
link |
定義這個coordinate system的那組vector,
link |
是一個orthonormal的vector set。
link |
那如果定義這個coordinate system,
link |
它的那個vector set是一個orthonormal的vector set,
link |
這個我們所熟悉的空間裡面的vector v,
link |
換成這個coordinate system下面的v的時候,
link |
因為你記不記得,如果我們今天要把一個vector v,
link |
看出說它在一個coordinate system下,
link |
這個coordinate system它的basis是v1,v2到vk,
link |
而且v1,v2到vk是orthogonal的。
link |
我們就把u跟v1做double dot,
link |
u跟v2做double dot,u跟vk做double dot,
link |
所以今天,假設你的coordinate system,
link |
它定義這個coordinate system vector set,
link |
在不同的這個coordinate system下做進行轉換。
link |
那這個呢,就是這個symmetric matrix它的一個特色。
link |
好,那剛才講說一個symmetric matrix,
link |
那這件事情,給symmetric matrix一個特色,
link |
就是它可以做spectral decomposition。
link |
就是因為現在pr,它是一個orthogonal的vector,
link |
或是你可以說,p裡面的這個u的vector,
link |
它形成一個orthonormal的basis,
link |
這個matrix D它的value是,
link |
它的diagonal是ln1到lnn,
link |
這些ln是a的eigenvector,
link |
乘上ln1,e1,ln1,e2,ln1,en,
link |
所以ln1p乘上e1,ln2p乘上e2,
link |
到lnnp乘上en,乘上p的transpose。
link |
你把p乘上一個standard vector,
link |
然後我們把p的transpose乘進來。
link |
它的每一個row就是u1的transpose,
link |
是ln1u1,ln2u2,到lnnun。
link |
那你把這一個vector跟這一個vector,
link |
你把這一個matrix跟這一個matrix做相乘,
link |
你得到ln1乘上u1跟u1的transpose,
link |
ln2乘上u2跟u2的transpose,
link |
一直加到lnn乘上un乘上un的transpose。
link |
那這個u1乘上u1的transpose,
link |
那u2乘上u2的transpose,
link |
一直到un乘上un的transpose,
link |
那u1乘上u1的transpose,
link |
n個rank是1的matrix的weighted sum,
link |
n個rank是1的matrix的weighted sum,
link |
那些weight是icon value。
link |
上一次講到spectral decomposition,
link |
那總之spectral decomposition,
link |
p2到pn的weighted sum,
link |
所以A等於p1到pn的summation。
link |
跟它的transpose相乘的結果。
link |
那如果你把ui乘上ui的transpose,
link |
就是把ui乘以ui的transpose,
link |
再乘上ui乘以ui的transpose。
link |
因為u1到un是一個orthonormal的basis,
link |
所以u1和不同的column間是orthonormal的,
link |
會等於ui的長度ui的null的平方,
link |
是ui乘上ui的transpose。
link |
那ui乘上ui的transpose是什麼呢?
link |
就是ui乘上ui的transpose,
link |
再乘上uj乘上uj的transpose。
link |
ui的transpose跟uj的transpose相乘等於什麼呢?
link |
ui的transpose跟uj的transpose相乘等於0,
link |
因為ui跟uj它們是orthogonal。
link |
那就變成ui乘上ui的transpose乘上ui,
link |
把pi乘上uj等於ui乘ui的transpose乘上uj,
link |
我們把它做這個spectrum的decomposition。
link |
那你就要先找一下它的eigenvalue,
link |
所以它的eigenvalue呢都是時數,
link |
然後你就再做一番的normalization以後,
link |
或找到一個orthonormal的basis B呢,
link |
它的裡面的兩個vector都是A的eigenvector。
link |
做spectral的decomposition,
link |
A等於兩個symmetric的matrix的和,
link |
P1是u1跟u1的transpose,
link |
P2是u2跟u2的transpose,
link |
那就是spectral decomposition。