理解矩陣(三)

這兩篇文章發表於去年的4月。在第二部分結束的時候,我說:
       “矩陣不僅可以作爲線性變換的描述,而且可以作爲一組基的描述。而 作爲變換的矩陣,不但可以把線性空間中的一個點給變換到另一個點去,而且也能夠把線性空間中的一個座標系(基)表換到另一個座標系(基)去。而且,變換點 與變換座標系,具有異曲同工的效果。線性代數裏最有趣的奧妙,就蘊含在其中。理解了這些內容,線性代數裏很多定理和規則會變得更加清晰、直覺。
這個留在下一篇再寫吧。

 

因爲有別的事情要做,下一篇可能要過幾天再寫了。 ”


然而這一拖就是一年半。一年半以來,這兩篇粗糙放肆的文章被到處轉載,以至於在Google的搜索提示中,我的名字跟“矩陣”是一對關聯詞彙。這對於學生時代數學一直很差的我來說,實在是令人惶恐的事情。數學是何等輝煌精緻的學問!代表着人類智慧的最高成就,是人與上帝對話的語言。而我實在連數學的門都還沒進去,不要說談什麼理解,就是稍微難一些的題目我也很少能解開。我有什麼資格去談矩陣這樣重要的一個數學概念呢?更何況,我的想法直觀是直觀,未見的是正確的啊,會不會誤人子弟呢?因此,算了吧,到此爲止吧,我這麼想。

 

        是時不時收到的來信逐漸改變了我的想法。

 

        一年半以來,我收到過不下一百封直接的來信,要求我把後面的部分寫出來。這些來信大部分是國內的網友和學生,也有少數來自正在國外深造的朋友,大部分是鼓勵,有的是誠摯的請求,也有少數嚴厲斥責我不守承諾。不管是何種態度,這都表明他們對我這一點點小小的思考成果的鼓勵,特別是對於我這種思維的視角和嘗試的鼓勵。他們在信中讓我知道,儘管我的數學水平不高,但是我這種從普通人(而不是數學家)視角出發,強調對數學概念和規則的直覺理解的思路,對於很多人是有益的。也許這條路子在數學中絕非正道,也不會走得很遠,但是無論如何,在一定的階段,對一部分人來說,較之目前數學教材普遍採用的思路,這種方式可能更容易理解一些。既然是可能對一部分人有幫助的事情,那麼我就不應該心存太多雜念,應該不斷思考和總結下去。

 

       所以,下面就是你們來信要求我寫出來的東西。

 

       首先來總結一下前面兩部分的一些主要結論:

 

1. 首先有空間,空間可以容納對象運動的。一種空間對應一類對象。
2. 有一種空間叫線性空間,線性空間是容納向量對象運動的。
3. 運動是瞬時的,因此也被稱爲變換。
4. 矩陣是線性空間中運動(變換)的描述。
5. 矩陣與向量相乘,就是實施運動(變換)的過程。
6. 同一個變換,在不同的座標系下表現爲不同的矩陣,但是它們的本質是一樣的,所以本徵值相同。

        下面讓我們把視力集中到一點以改變我們以往看待矩陣的方式。我們知道,線性空間裏的基本對象是向量,而向量是這麼表示的:

        [a1, a2, a3, ..., an]

 

       矩陣呢?矩陣是這麼表示的:

 

        a11, a12, a13, ..., a1n
        a21, a22, a23, ..., a2n
                     ...
        an1, an2, an3, ..., ann

 

        不用太聰明,我們就能看出來,矩陣是一組向量組成的。特別的,n維線性空間裏的方陣是由n個n維向量組成的。我們在這裏只討論這個n階的、非奇異的方陣,因爲理解它就是理解矩陣的關鍵,它纔是一般情況,而其他矩陣都是意外,都是不得不對付的討厭狀況,大可以放在一邊。這裏多一句嘴,學習東西要抓住主流,不要糾纏於旁支末節。很可惜我們的教材課本大多數都是把主線埋沒在細節中的,搞得大家還沒明白怎麼回事就先被灌暈了。比如數學分析,明明最要緊的觀念是說,一個對象可以表達爲無窮多個合理選擇的對象的線性和,這個概念是貫穿始終的,也是數學分析的精華。但是課本里自始至終不講這句話,反正就是讓你做吉米多維奇,掌握一大堆解偏題的技巧,記住各種特殊情況,兩類間斷點,怪異的可微和可積條件(誰還記得柯西條件、迪裏赫萊條件...?),最後考試一過,一切忘光光。要我說,還不如反覆強調這一個事情,把它深深刻在腦子裏,別的東西忘了就忘了,真碰到問題了,再查數學手冊嘛,何必因小失大呢?

 

        言歸正傳。如果一組向量是彼此線性無關的話,那麼它們就可以成爲度量這個線性空間的一組基,從而事實上成爲一個座標系體系,其中每一個向量都躺在一根座標軸上,並且成爲那根座標軸上的基本度量單位(長度1)。

 

        現在到了關鍵的一步。看上去矩陣就是由一組向量組成的,而且如果矩陣非奇異的話(我說了,只考慮這種情況),那麼組成這個矩陣的那一組向量也就是線性無關的了,也就可以成爲度量線性空間的一個座標系。結論:矩陣描述了一個座標系。

 

        “慢着!”,你嚷嚷起來了,“你這個騙子!你不是說過,矩陣就是運動嗎?怎麼這會矩陣又是座標系了?”

 

        嗯,所以我說到了關鍵的一步。我並沒有騙人,之所以矩陣又是運動,又是座標系,那是因爲——

 

        “運動等價於座標系變換”。

 

        對不起,這話其實不準確,我只是想讓你印象深刻。準確的說法是:

 

       “對象的變換等價於座標系的變換”。

 

       或者:

 

       “固定座標系下一個對象的變換等價於固定對象所處的座標系變換。”

 

       說白了就是:

 

        “運動是相對的。”       

 

        讓我們想想,達成同一個變換的結果,比如把點(1, 1)變到點(2, 3)去,你可以有兩種做法。第一,座標系不動,點動,把(1, 1)點挪到(2, 3)去。第二,點不動,變座標系,讓x軸的度量(單位向量)變成原來的1/2,讓y軸的度量(單位向量)變成原先的1/3,這樣點還是那個點,可是點的座標就變成(2, 3)了。方式不同,結果一樣。

 

        從第一個方式來看,那就是我在《理解矩陣》1/2中說的,把矩陣看成是運動描述,矩陣與向量相乘就是使向量(點)運動的過程。在這個方式下,

       Ma = b

 

       的意思是:

 

       “向量a經過矩陣M所描述的變換,變成了向量b。”

 

        而從第二個方式來看,矩陣M描述了一個座標系,姑且也稱之爲M。那麼:

 

        Ma = b

 

       的意思是:

 

        “有一個向量,它在座標系M的度量下得到的度量結果向量爲a,那麼它在座標系I的度量下,這個向量的度量結果是b。”

 

        這裏的I是指單位矩陣,就是主對角線是1,其他爲零的矩陣。

 

        而這兩個方式本質上是等價的。

 

        我希望你務必理解這一點,因爲這是本篇的關鍵。

 

        正因爲是關鍵,所以我得再解釋一下。

 

        在M爲座標系的意義下,如果把M放在一個向量a的前面,形成Ma的樣式,我們可以認爲這是對向量a的一個環境聲明。它相當於是說:

 

        “注意了!這裏有一個向量,它在座標系M中度量,得到的度量結果可以表達爲a。可是它在別的座標系裏度量的話,就會得到不同的結果。爲了明確,我把M放在前面,讓你明白,這是該向量在座標系M中度量的結果。”

 

       那麼我們再看孤零零的向量b:

 

       b

 

       多看幾遍,你沒看出來嗎?它其實不是b,它是:

 

       Ib

 

       也就是說:“在單位座標系,也就是我們通常說的直角座標系I中,有一個向量,度量的結果是b。”

 

       而  Ma = Ib的意思就是說:

 

       “在M座標系裏量出來的向量a,跟在I座標系裏量出來的向量b,其實根本就是一個向量啊!”

 

       這哪裏是什麼乘法計算,根本就是身份識別嘛。

 

       從這個意義上我們重新理解一下向量。向量這個東西客觀存在,但是要把它表示出來,就要把它放在一個座標系中去度量它,然後把度量的結果(向量在各個座標軸上的投影值)按一定順序列在一起,就成了我們平時所見的向量表示形式。你選擇的座標系(基)不同,得出來的向量的表示就不同。向量還是那個向量,選擇的座標系不同,其表示方式就不同。因此,按道理來說,每寫出一個向量的表示,都應該聲明一下這個表示是在哪個座標系中度量出來的。表示的方式,就是 Ma,也就是說,有一個向量,在M矩陣表示的座標系中度量出來的結果爲a。我們平時說一個向量是[2 3 5 7]T,隱含着是說,這個向量在 I 座標系中的度量結果是[2 3 5 7]T,因此,這個形式反而是一種簡化了的特殊情況。

 

        注意到,M矩陣表示出來的那個座標系,由一組基組成,而那組基也是由向量組成的,同樣存在這組向量是在哪個座標系下度量而成的問題。也就是說,表述一個矩陣的一般方法,也應該要指明其所處的基準座標系。所謂M,其實是 IM,也就是說,M中那組基的度量是在 I 座標系中得出的。從這個視角來看,M×N也不是什麼矩陣乘法了,而是聲明瞭一個在M座標系中量出的另一個座標系N,其中M本身是在I座標系中度量出來的。

 

       回過頭來說變換的問題。我剛纔說,“固定座標系下一個對象的變換等價於固定對象所處的座標系變換”,那個“固定對象”我們找到了,就是那個向量。但是座標系的變換呢?我怎麼沒看見?

 

       請看:

 

       Ma = Ib

 

       我現在要變M爲I,怎麼變?對了,再前面乘以個M-1,也就是M的逆矩陣。換句話說,你不是有一個座標系M嗎,現在我讓它乘以個M-1,變成I,這樣一來的話,原來M座標系中的a在I中一量,就得到b了。

 

       我建議你此時此刻拿起紙筆,畫畫圖,求得對這件事情的理解。比如,你畫一個座標系,x軸上的衡量單位是2,y軸上的衡量單位是3,在這樣一個座標系裏,座標爲(1,1)的那一點,實際上就是笛卡爾座標系裏的點(2, 3)。而讓它原形畢露的辦法,就是把原來那個座標系:

 

       2 0
       0 3

 

       的x方向度量縮小爲原來的1/2,而y方向度量縮小爲原來的1/3,這樣一來座標系就變成單位座標系I了。保持點不變,那個向量現在就變成了(2, 3)了。

       怎麼能夠讓“x方向度量縮小爲原來的1/2,而y方向度量縮小爲原來的1/3”呢?就是讓原座標系:

 

      2 0
      0 3

 

       被矩陣:

 

       1/2   0
       0   1/3

 

       左乘。而這個矩陣就是原矩陣的逆矩陣。

 

       下面我們得出一個重要的結論:

 

        “對座標系施加變換的方法,就是讓表示那個座標系的矩陣與表示那個變化的矩陣相乘。”

 

        再一次的,矩陣的乘法變成了運動的施加。只不過,被施加運動的不再是向量,而是另一個座標系。

 

        如果你覺得你還搞得清楚,請再想一下剛纔已經提到的結論,矩陣MxN,一方面表明座標系N在運動M下的變換結果,另一方面,把M當成N的前綴,當成N的環境描述,那麼就是說,在M座標系度量下,有另一個座標系N。這個座標系N如果放在I座標系中度量,其結果爲座標系MxN。

 

        在這裏,我實際上已經回答了一般人在學習線性代數是最困惑的一個問題,那就是爲什麼矩陣的乘法要規定成這樣。簡單地說,是因爲:

 

        1. 從變換的觀點看,對座標系N施加M變換,就是把組成座標系N的每一個向量施加M變換。

        2. 從座標系的觀點看,在M座標系中表現爲N的另一個座標系,這也歸結爲,對N座標系基的每一個向量,把它在I座標系中的座標找出來,然後匯成一個新的矩陣。

        3. 至於矩陣乘以向量爲什麼要那樣規定,那是因爲一個在M中度量爲a的向量,如果想要恢復在I中的真像,就必須分別與M中的每一個向量進行內積運算。我把這個結論的推導留給感興趣的朋友吧。應該說,其實到了這一步,已經很容易了。

 

        綜合以上1/2/3,矩陣的乘法就得那麼規定,一切有根有據,絕不是哪個神經病胡思亂想出來的。
 
        我已經無法說得更多了。矩陣又是座標系,又是變換。到底是座標系,還是變換,已經說不清楚了,運動與實體在這裏統一了,物質與意識的界限已經消失了,一切歸於無法言說,無法定義了。道可道,非常道,名可名,非常名。矩陣是在是不可道之道,不可名之名的東西。到了這個時候,我們不得不承認,我們偉大的線性代數課本上說的矩陣定義,是無比正確的:

 

        “矩陣就是由m行n列數放在一起組成的數學對象。”

 

        好了,這基本上就是我想說的全部了。還留下一個行列式的問題。矩陣M的行列式實際上是組成M的各個向量按照平行四邊形法則搭成一個n維立方體的體積。對於這一點,我只能感嘆於其精妙,卻無法揭開其中奧祕了。也許我掌握的數學工具不夠,我希望有人能夠給我們大家講解其中的道理了。

 

        我不知道是否講得足夠清楚了,反正這一部分需要您花些功夫去推敲。

 

        此外,請大家不必等待這個系列的後續部分。以我的工作情況而言,近期內很難保證繼續投入腦力到這個領域中,儘管我仍然對此興致濃厚。不過如果還有(四)的話,可能是一些站在應用層面的考慮,比如對計算機圖形學相關算法的理解。但是我不承諾這些討論近期內會出現了。


本文轉自CSDN孟巖的博客:http://blog.csdn.net/myan/archive/2007/11/03/1865397.aspx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章