最近復(fù)習(xí)矩陣論中,又是一堆定理和證明 突然發(fā)現(xiàn)學(xué)了這么常時間的矩陣論、線性代數(shù),記住的只是一堆莫名其妙的定理而已,一些本質(zhì)的東西都沒有搞清楚。 比如,為什么要有矩陣,它僅僅是一堆數(shù)的組合嗎,集合也是數(shù)的組合,為什么不能代替矩陣? 特征值和特征向量的含義是什么?描述的是什么“特征”? 矩陣乘法的含義是什么? 相似變換的“相似”體現(xiàn)在哪? 行列式代表了什么含義?為什么會有這么“怪異”的運算規(guī)則? 下面3篇文章是網(wǎng)上找的,覺得講的比較清楚易懂~~~~~ 1:理解矩陣 http://blog.csdn.net/is01sjjj/archive/2008/09/03/2874132.aspx 2:特征向量的幾何含義 http://blog.csdn.net/lfkupc/archive/2009/09/17/4561564.aspx 順便補上自己的理解, 特征向量的定義是 Ax =λx,A是線性映射在一組基下的表示。 左邊:Ax即為對x做線性變換 右邊:λx可以理解為不改變x的方向(不包括另其反向),只對x做一定的拉伸,拉伸倍數(shù)為λ;也可以理解為最簡單的線性變換:數(shù)乘變換 綜上:特征向量λ是這么一組(*不是一個)特殊的向量,它們在線性變換A的作用下可以不改變方向,只改變長度 所謂的“特征”,我的理解是: 因為特征向量有很好的性質(zhì)——在線性變換下不改變方向,這樣就可以做為一組參考系(也可以理解為坐標(biāo)系),用這組參考系去刻畫別的向量在 這個線性變換下 所發(fā)生的變化,即可以用這組向量線性表示。 這種作用在數(shù)學(xué)上即表示為譜定律—— 譜定律:一個線性變換(用矩陣乘法表示)可表示為它的所有的特征向量的一個線性組合,其中的線性系數(shù)就是每一個向量對應(yīng)的特征值,即以下公式:
再進一步說,“變換”可以理解為一種運動——一個點變到另一個點,而 “運動是相對的”,需要有參照系。而特征向量就這組參照系 3:維基百科上的, http://zh./zh/??1??????é?? http://zh./zh-cn/è???????? ------------------------------------------------------------------------------- 一、理解矩陣一、二, 三(轉(zhuǎn)自孟巖blog) (一) 前不久chensh出于不可告人的目的,要充當(dāng)老師,教別人線性代數(shù)。于是我被揪住就線性代數(shù)中一些務(wù)虛性的問題與他討論了幾次。很明顯,chensh覺得,要讓自己在講線性代數(shù)的時候不被那位強勢的學(xué)生認為是神經(jīng)病,還是比較難的事情。 可憐的chensh,誰讓你趟這個地雷陣?!色令智昏??! 線性代數(shù)課程,無論你從行列式入手還是直接從矩陣入手,從一開始就充斥著莫名其妙。比如說,在全國一般工科院系教學(xué)中應(yīng)用最廣泛的同濟線性代數(shù)教材 (現(xiàn)在到了第四版),一上來就介紹逆序數(shù)這個“前無古人,后無來者”的古怪概念,然后用逆序數(shù)給出行列式的一個極不直觀的定義,接著是一些簡直犯傻的行列 式性質(zhì)和習(xí)題——把這行乘一個系數(shù)加到另一行上,再把那一列減過來,折騰得那叫一個熱鬧,可就是壓根看不出這個東西有嘛用。大多數(shù)像我一樣資質(zhì)平庸的學(xué)生 到這里就有點犯暈:連這是個什么東西都模模糊糊的,就開始鉆火圈表演了,這未免太“無厘頭”了吧!于是開始有人逃課,更多的人開始抄作業(yè)。這下就中招了, 因為其后的發(fā)展可以用一句峰回路轉(zhuǎn)來形容,緊跟著這個無厘頭的行列式的,是一個同樣無厘頭但是偉大的無以復(fù)加的家伙的出場——矩陣來了!多年之后,我才明 白,當(dāng)老師犯傻似地用中括號把一堆傻了吧嘰的數(shù)括起來,并且不緊不慢地說:“這個東西叫做矩陣”的時候,我的數(shù)學(xué)生涯掀開了何等悲壯辛酸、慘絕人寰的一 幕!自那以后,在幾乎所有跟“學(xué)問”二字稍微沾點邊的東西里,矩陣這個家伙從不缺席。對于我這個沒能一次搞定線性代數(shù)的笨蛋來說,矩陣老大的不請自來每每 搞得我灰頭土臉,頭破血流。長期以來,我在閱讀中一見矩陣,就如同阿Q見到了假洋鬼子,揉揉額角就繞道走。 事實上,我并不是特例。一般工科學(xué)生初學(xué)線性代數(shù),通常都會感到困難。這種情形在國內(nèi)外皆然。瑞典數(shù)學(xué)家Lars Garding在其名著Encounter with Mathematics中說:“如果不熟悉線性代數(shù)的概念,要去學(xué)習(xí)自然科學(xué),現(xiàn)在看來就和文盲差不多?!保欢鞍凑宅F(xiàn)行的國際標(biāo)準,線性代數(shù)是通過公 理化來表述的,它是第二代數(shù)學(xué)模型,...,這就帶來了教學(xué)上的困難?!笔聦嵣?,當(dāng)我們開始學(xué)習(xí)線性代數(shù)的時候,不知不覺就進入了“第二代數(shù)學(xué)模型”的范 疇當(dāng)中,這意味著數(shù)學(xué)的表述方式和抽象性有了一次全面的進化,對于從小一直在“第一代數(shù)學(xué)模型”,即以實用為導(dǎo)向的、具體的數(shù)學(xué)模型中學(xué)習(xí)的我們來說,在 沒有并明確告知的情況下進行如此劇烈的paradigm shift,不感到困難才是奇怪的。 大部分工科學(xué)生,往往是在學(xué)習(xí)了一些后繼課程,如數(shù)值分析、數(shù)學(xué)規(guī)劃、矩陣論之后,才逐漸能夠理解和熟練運用線性代數(shù)。即便如此,不少人即使能夠很熟練地以線性代數(shù)為工具進行科研和應(yīng)用工作,但對于很多這門課程的初學(xué)者提出的、看上去是很基礎(chǔ)的問題卻并不清楚。比如說: * 矩陣究竟是什么東西?向量可以被認為是具有n個相互獨立的性質(zhì)(維度)的對象的表示,矩陣又是什么呢?我們?nèi)绻J為矩陣是一組列(行)向量組成的新的復(fù)合 向量的展開式,那么為什么這種展開式具有如此廣泛的應(yīng)用?特別是,為什么偏偏二維的展開式如此有用?如果矩陣中每一個元素又是一個向量,那么我們再展開一 次,變成三維的立方陣,是不是更有用? * 矩陣的乘法規(guī)則究竟為什么這樣規(guī)定?為什么這樣一種怪異的乘法規(guī)則卻能夠在實踐中發(fā)揮如此巨大的功效?很多看上去似乎是完全不相關(guān)的問題,最后竟然都歸結(jié) 到矩陣的乘法,這難道不是很奇妙的事情?難道在矩陣乘法那看上去莫名其妙的規(guī)則下面,包含著世界的某些本質(zhì)規(guī)律?如果是的話,這些本質(zhì)規(guī)律是什么? * 行列式究竟是一個什么東西?為什么會有如此怪異的計算規(guī)則?行列式與其對應(yīng)方陣本質(zhì)上是什么關(guān)系?為什么只有方陣才有對應(yīng)的行列式,而一般矩陣就沒有(不 要覺得這個問題很蠢,如果必要,針對m x n矩陣定義行列式不是做不到的,之所以不做,是因為沒有這個必要,但是為什么沒有這個必要)?而且,行列式的計算規(guī)則,看上去跟矩陣的任何計算規(guī)則都沒有 直觀的聯(lián)系,為什么又在很多方面決定了矩陣的性質(zhì)?難道這一切僅是巧合? * 矩陣為什么可以分塊計算?分塊計算這件事情看上去是那么隨意,為什么竟是可行的? * 對于矩陣轉(zhuǎn)置運算AT,有(AB)T = BTAT,對于矩陣求逆運算A-1,有(AB)-1 = B-1A-1。兩個看上去完全沒有什么關(guān)系的運算,為什么有著類似的性質(zhì)?這僅僅是巧合嗎? * 為什么說P-1AP得到的矩陣與A矩陣“相似”?這里的“相似”是什么意思? * 特征值和特征向量的本質(zhì)是什么?它們定義就讓人很驚訝,因為Ax =λx,一個諾大的矩陣的效應(yīng),竟然不過相當(dāng)于一個小小的數(shù)λ,確實有點奇妙。但何至于用“特征”甚至“本征”來界定?它們刻劃的究竟是什么? 這樣的一類問題,經(jīng)常讓使用線性代數(shù)已經(jīng)很多年的人都感到為難。就好像大人面對小孩子的刨根問底,最后總會迫不得已地說“就這樣吧,到此為止”一 樣,面對這樣的問題,很多老手們最后也只能用:“就是這么規(guī)定的,你接受并且記住就好”來搪塞。然而,這樣的問題如果不能獲得回答,線性代數(shù)對于我們來說 就是一個粗暴的、不講道理的、莫名其妙的規(guī)則集合,我們會感到,自己并不是在學(xué)習(xí)一門學(xué)問,而是被不由分說地“拋到”一個強制的世界中,只是在考試的皮鞭 揮舞之下被迫趕路,全然無法領(lǐng)略其中的美妙、和諧與統(tǒng)一。直到多年以后,我們已經(jīng)發(fā)覺這門學(xué)問如此的有用,卻仍然會非常迷惑:怎么這么湊巧? 我認為,這是我們的線性代數(shù)教學(xué)中直覺性喪失的后果。上述這些涉及到“如何能”、“怎么會”的問題,僅僅通過純粹的數(shù)學(xué)證明來回答,是不能令提問者 滿意的。比如,如果你通過一般的證明方法論證了矩陣分塊運算確實可行,那么這并不能夠讓提問者的疑惑得到解決。他們真正的困惑是:矩陣分塊運算為什么竟然 是可行的?究竟只是湊巧,還是說這是由矩陣這種對象的某種本質(zhì)所必然決定的?如果是后者,那么矩陣的這些本質(zhì)是什么?只要對上述那些問題稍加考慮,我們就 會發(fā)現(xiàn),所有這些問題都不是單純依靠數(shù)學(xué)證明所能夠解決的。像我們的教科書那樣,凡事用數(shù)學(xué)證明,最后培養(yǎng)出來的學(xué)生,只能熟練地使用工具,卻欠缺真正意 義上的理解。 自從1930年代法國布爾巴基學(xué)派興起以來,數(shù)學(xué)的公理化、系統(tǒng)性描述已經(jīng)獲得巨大的成功,這使得我們接受的數(shù)學(xué)教育在嚴謹性上大大提高。然而數(shù)學(xué) 公理化的一個備受爭議的副作用,就是一般數(shù)學(xué)教育中直覺性的喪失。數(shù)學(xué)家們似乎認為直覺性與抽象性是矛盾的,因此毫不猶豫地犧牲掉前者。然而包括我本人在 內(nèi)的很多人都對此表示懷疑,我們不認為直覺性與抽象性一定相互矛盾,特別是在數(shù)學(xué)教育中和數(shù)學(xué)教材中,幫助學(xué)生建立直覺,有助于它們理解那些抽象的概念, 進而理解數(shù)學(xué)的本質(zhì)。反之,如果一味注重形式上的嚴格性,學(xué)生就好像被迫進行鉆火圈表演的小白鼠一樣,變成枯燥的規(guī)則的奴隸。 對于線性代數(shù)的類似上述所提到的一些直覺性的問題,兩年多來我斷斷續(xù)續(xù)地反復(fù)思考了四、五次,為此閱讀了好幾本國內(nèi)外線性代數(shù)、數(shù)值分析、代數(shù)和數(shù) 學(xué)通論性書籍,其中像前蘇聯(lián)的名著《數(shù)學(xué):它的內(nèi)容、方法和意義》、龔昇教授的《線性代數(shù)五講》、前面提到的Encounter with Mathematics(《數(shù)學(xué)概觀》)以及Thomas A. Garrity的《數(shù)學(xué)拾遺》都給我很大的啟發(fā)。不過即使如此,我對這個主題的認識也經(jīng)歷了好幾次自我否定。比如以前思考的一些結(jié)論曾經(jīng)寫在自己的 blog里,但是現(xiàn)在看來,這些結(jié)論基本上都是錯誤的。因此打算把自己現(xiàn)在的有關(guān)理解比較完整地記錄下來,一方面是因為我覺得現(xiàn)在的理解比較成熟了,可以 拿出來與別人探討,向別人請教。另一方面,如果以后再有進一步的認識,把現(xiàn)在的理解給推翻了,那現(xiàn)在寫的這個snapshot也是很有意義的。 因為打算寫得比較多,所以會分幾次慢慢寫。也不知道是不是有時間慢慢寫完整,會不會中斷,寫著看吧。 -------------------------------------------------------------------------- 今天先談?wù)剬€形空間和矩陣的幾個核心概念的理解。這些東西大部分是憑著自己的理解寫出來的,基本上不抄書,可能有錯誤的地方,希望能夠被指出。但我希望做到直覺,也就是說能把數(shù)學(xué)背后說的實質(zhì)問題說出來。 首先說說空間(space),這個概念是現(xiàn)代數(shù)學(xué)的命根子之一,從拓撲空間開始,一步步往上加定義,可以形成很多空間。線形空間其實還是比較初級 的,如果在里面定義了范數(shù),就成了賦范線性空間。賦范線性空間滿足完備性,就成了巴那赫空間;賦范線性空間中定義角度,就有了內(nèi)積空間,內(nèi)積空間再滿足完 備性,就得到希爾伯特空間。 總之,空間有很多種。你要是去看某種空間的數(shù)學(xué)定義,大致都是“存在一個集合,在這個集合上定義某某概念,然后滿足某些性質(zhì)”,就可以被稱為空間。這未免有點奇怪,為什么要用“空間”來稱呼一些這樣的集合呢?大家將會看到,其實這是很有道理的。 我們一般人最熟悉的空間,毫無疑問就是我們生活在其中的(按照牛頓的絕對時空觀)的三維空間,從數(shù)學(xué)上說,這是一個三維的歐幾里德空間,我們先不管 那么多,先看看我們熟悉的這樣一個空間有些什么最基本的特點。仔細想想我們就會知道,這個三維的空間:1. 由很多(實際上是無窮多個)位置點組成;2. 這些點之間存在相對的關(guān)系;3. 可以在空間中定義長度、角度;4. 這個空間可以容納運動,這里我們所說的運動是從一個點到另一個點的移動(變換),而不是微積分意義上的“連續(xù)”性的運動, 上面的這些性質(zhì)中,最最關(guān)鍵的是第4條。第1、2條只能說是空間的基礎(chǔ),不算是空間特有的性質(zhì),凡是討論數(shù)學(xué)問題,都得有一個集合,大多數(shù)還得在這 個集合上定義一些結(jié)構(gòu)(關(guān)系),并不是說有了這些就算是空間。而第3條太特殊,其他的空間不需要具備,更不是關(guān)鍵的性質(zhì)。只有第4條是空間的本質(zhì),也就是 說,容納運動是空間的本質(zhì)特征。 認識到了這些,我們就可以把我們關(guān)于三維空間的認識擴展到其他的空間。事實上,不管是什么空間,都必須容納和支持在其中發(fā)生的符合規(guī)則的運動(變 換)。你會發(fā)現(xiàn),在某種空間中往往會存在一種相對應(yīng)的變換,比如拓撲空間中有拓撲變換,線性空間中有線性變換,仿射空間中有仿射變換,其實這些變換都只不 過是對應(yīng)空間中允許的運動形式而已。 因此只要知道,“空間”是容納運動的一個對象集合,而變換則規(guī)定了對應(yīng)空間的運動。 下面我們來看看線性空間。線性空間的定義任何一本書上都有,但是既然我們承認線性空間是個空間,那么有兩個最基本的問題必須首先得到解決,那就是: 1. 空間是一個對象集合,線性空間也是空間,所以也是一個對象集合。那么線性空間是什么樣的對象的集合?或者說,線性空間中的對象有什么共同點嗎? 2. 線性空間中的運動如何表述的?也就是,線性變換是如何表示的? 我們先來回答第一個問題,回答這個問題的時候其實是不用拐彎抹角的,可以直截了當(dāng)?shù)慕o出答案。線性空間中的任何一個對象,通過選取基和坐標(biāo)的辦法,都可以表達為向量的形式。通常的向量空間我就不說了,舉兩個不那么平凡的例子: L1. 最高次項不大于n次的多項式的全體構(gòu)成一個線性空間,也就是說,這個線性空間中的每一個對象是一個多項式。如果我們以x0, x1, ..., xn為基,那么任何一個這樣的多項式都可以表達為一組n+1維向量,其中的每一個分量ai其實就是多項式中x(i-1)項的系數(shù)。值得說明的是,基的選取 有多種辦法,只要所選取的那一組基線性無關(guān)就可以。這要用到后面提到的概念了,所以這里先不說,提一下而已。 L2. 閉區(qū)間[a, b]上的n階連續(xù)可微函數(shù)的全體,構(gòu)成一個線性空間。也就是說,這個線性空間的每一個對象是一個連續(xù)函數(shù)。對于其中任何一個連續(xù)函數(shù),根據(jù)魏爾斯特拉斯定 理,一定可以找到最高次項不大于n的多項式函數(shù),使之與該連續(xù)函數(shù)的差為0,也就是說,完全相等。這樣就把問題歸結(jié)為L1了。后面就不用再重復(fù)了。 所以說,向量是很厲害的,只要你找到合適的基,用向量可以表示線性空間里任何一個對象。這里頭大有文章,因為向量表面上只是一列數(shù),但是其實由于它 的有序性,所以除了這些數(shù)本身攜帶的信息之外,還可以在每個數(shù)的對應(yīng)位置上攜帶信息。為什么在程序設(shè)計中數(shù)組最簡單,卻又威力無窮呢?根本原因就在于此。 這是另一個問題了,這里就不說了。 下面來回答第二個問題,這個問題的回答會涉及到線性代數(shù)的一個最根本的問題。 線性空間中的運動,被稱為線性變換。也就是說,你從線性空間中的一個點運動到任意的另外一個點,都可以通過一個線性變化來完成。那么,線性變換如何 表示呢?很有意思,在線性空間中,當(dāng)你選定一組基之后,不僅可以用一個向量來描述空間中的任何一個對象,而且可以用矩陣來描述該空間中的任何一個運動(變 換)。而使某個對象發(fā)生對應(yīng)運動的方法,就是用代表那個運動的矩陣,乘以代表那個對象的向量。 簡而言之,在線性空間中選定基之后,向量刻畫對象,矩陣刻畫對象的運動,用矩陣與向量的乘法施加運動。 是的,矩陣的本質(zhì)是運動的描述。如果以后有人問你矩陣是什么,那么你就可以響亮地告訴他,矩陣的本質(zhì)是運動的描述。(chensh,說你呢?。?/font> 可是多么有意思啊,向量本身不是也可以看成是n x 1矩陣嗎?這實在是很奇妙,一個空間中的對象和運動竟然可以用相類同的方式表示。能說這是巧合嗎?如果是巧合的話,那可真是幸運的巧合!可以說,線性代數(shù)中大多數(shù)奇妙的性質(zhì),均與這個巧合有直接的關(guān)系。 接著理解矩陣。 上一篇里說“矩陣是運動的描述”,到現(xiàn)在為止,好像大家都還沒什么意見。但是我相信早晚會有數(shù)學(xué)系出身的網(wǎng)友來拍板轉(zhuǎn)。因為運動這個概念,在數(shù)學(xué)和 物理里是跟微積分聯(lián)系在一起的。我們學(xué)習(xí)微積分的時候,總會有人照本宣科地告訴你,初等數(shù)學(xué)是研究常量的數(shù)學(xué),是研究靜態(tài)的數(shù)學(xué),高等數(shù)學(xué)是變量的數(shù)學(xué), 是研究運動的數(shù)學(xué)。大家口口相傳,差不多人人都知道這句話。但是真知道這句話說的是什么意思的人,好像也不多。簡而言之,在我們?nèi)祟惖慕?jīng)驗里,運動是一個 連續(xù)過程,從A點到B點,就算走得最快的光,也是需要一個時間來逐點地經(jīng)過AB之間的路徑,這就帶來了連續(xù)性的概念。而連續(xù)這個事情,如果不定義極限的概 念,根本就解釋不了。古希臘人的數(shù)學(xué)非常強,但就是缺乏極限觀念,所以解釋不了運動,被芝諾的那些著名悖論(飛箭不動、飛毛腿阿喀琉斯跑不過烏龜?shù)人膫€悖 論)搞得死去活來。因為這篇文章不是講微積分的,所以我就不多說了。有興趣的讀者可以去看看齊民友教授寫的《重溫微積分》。我就是讀了這本書開頭的部分, 才明白“高等數(shù)學(xué)是研究運動的數(shù)學(xué)”這句話的道理。 不過在我這個《理解矩陣》的文章里,“運動”的概念不是微積分中的連續(xù)性的運動,而是瞬間發(fā)生的變化。比如這個時刻在A點,經(jīng)過一個“運動”,一下 子就“躍遷”到了B點,其中不需要經(jīng)過A點與B點之間的任何一個點。這樣的“運動”,或者說“躍遷”,是違反我們?nèi)粘5慕?jīng)驗的。不過了解一點量子物理常識 的人,就會立刻指出,量子(例如電子)在不同的能量級軌道上跳躍,就是瞬間發(fā)生的,具有這樣一種躍遷行為。所以說,自然界中并不是沒有這種運動現(xiàn)象,只不 過宏觀上我們觀察不到。但是不管怎么說,“運動”這個詞用在這里,還是容易產(chǎn)生歧義的,說得更確切些,應(yīng)該是“躍遷”。因此這句話可以改成: “矩陣是線性空間里躍遷的描述”。 可是這樣說又太物理,也就是說太具體,而不夠數(shù)學(xué),也就是說不夠抽象。因此我們最后換用一個正牌的數(shù)學(xué)術(shù)語——變換,來描述這個事情。這樣一說,大 家就應(yīng)該明白了,所謂變換,其實就是空間里從一個點(元素/對象)到另一個點(元素/對象)的躍遷。比如說,拓撲變換,就是在拓撲空間里從一個點到另一個 點的躍遷。再比如說,仿射變換,就是在仿射空間里從一個點到另一個點的躍遷。附帶說一下,這個仿射空間跟向量空間是親兄弟。做計算機圖形學(xué)的朋友都知道, 盡管描述一個三維對象只需要三維向量,但所有的計算機圖形學(xué)變換矩陣都是4 x 4的。說其原因,很多書上都寫著“為了使用中方便”,這在我看來簡直就是企圖蒙混過關(guān)。真正的原因,是因為在計算機圖形學(xué)里應(yīng)用的圖形變換,實際上是在仿 射空間而不是向量空間中進行的。想想看,在向量空間里相一個向量平行移動以后仍是相同的那個向量,而現(xiàn)實世界等長的兩個平行線段當(dāng)然不能被認為同一個東 西,所以計算機圖形學(xué)的生存空間實際上是仿射空間。而仿射變換的矩陣表示根本就是4 x 4的。又扯遠了,有興趣的讀者可以去看《計算機圖形學(xué)——幾何工具算法詳解》。 一旦我們理解了“變換”這個概念,矩陣的定義就變成: “矩陣是線性空間里的變換的描述?!?/font> 到這里為止,我們終于得到了一個看上去比較數(shù)學(xué)的定義。不過還要多說幾句。教材上一般是這么說的,在一個線性空間V里的一個線性變換T,當(dāng)選定一組 基之后,就可以表示為矩陣。因此我們還要說清楚到底什么是線性變換,什么是基,什么叫選定一組基。線性變換的定義是很簡單的,設(shè)有一種變換T,使得對于線 性空間V中間任何兩個不相同的對象x和y,以及任意實數(shù)a和b,有:T(ax + by) = aT(x) + bT(y), 定義都是這么寫的,但是光看定義還得不到直覺的理解。線性變換究竟是一種什么樣的變換?我們剛才說了,變換是從空間的一個點躍遷到另一個點,而線性 變換,就是從一個線性空間V的某一個點躍遷到另一個線性空間W的另一個點的運動。這句話里蘊含著一層意思,就是說一個點不僅可以變換到同一個線性空間中的 另一個點,而且可以變換到另一個線性空間中的另一個點去。不管你怎么變,只要變換前后都是線性空間中的對象,這個變換就一定是線性變換,也就一定可以用一 個非奇異矩陣來描述。而你用一個非奇異矩陣去描述的一個變換,一定是一個線性變換。有的人可能要問,這里為什么要強調(diào)非奇異矩陣?所謂非奇異,只對方陣有 意義,那么非方陣的情況怎么樣?這個說起來就會比較冗長了,最后要把線性變換作為一種映射,并且討論其映射性質(zhì),以及線性變換的核與像等概念才能徹底講清 楚。我覺得這個不算是重點,如果確實有時間的話,以后寫一點。以下我們只探討最常用、最有用的一種變換,就是在同一個線性空間之內(nèi)的線性變換。也就是說, 下面所說的矩陣,不作說明的話,就是方陣,而且是非奇異方陣。學(xué)習(xí)一門學(xué)問,最重要的是把握主干內(nèi)容,迅速建立對于這門學(xué)問的整體概念,不必一開始就考慮 所有的細枝末節(jié)和特殊情況,自亂陣腳。 接著往下說,什么是基呢?這個問題在后面還要大講一番,這里只要把基看成是線性空間里的坐標(biāo)系就可以了。注意是坐標(biāo)系,不是坐標(biāo)值,這兩者可是一個“對立矛盾統(tǒng)一體”。這樣一來,“選定一組基”就是說在線性空間里選定一個坐標(biāo)系。就這意思。 好,最后我們把矩陣的定義完善如下: “矩陣是線性空間中的線性變換的一個描述。在一個線性空間中,只要我們選定一組基,那么對于任何一個線性變換,都能夠用一個確定的矩陣來加以描述?!?/font> 理解這句話的關(guān)鍵,在于把“線性變換”與“線性變換的一個描述”區(qū)別開。一個是那個對象,一個是對那個對象的表述。就好像我們熟悉的面向?qū)ο缶幊讨?,一個對象可以有多個引用,每個引用可以叫不同的名字,但都是指的同一個對象。如果還不形象,那就干脆來個很俗的類比。 比如有一頭豬,你打算給它拍照片,只要你給照相機選定了一個鏡頭位置,那么就可以給這頭豬拍一張照片。這個照片可以看成是這頭豬的一個描述,但只是 一個片面的的描述,因為換一個鏡頭位置給這頭豬拍照,能得到一張不同的照片,也是這頭豬的另一個片面的描述。所有這樣照出來的照片都是這同一頭豬的描述, 但是又都不是這頭豬本身。 同樣的,對于一個線性變換,只要你選定一組基,那么就可以找到一個矩陣來描述這個線性變換。換一組基,就得到一個不同的矩陣。所有這些矩陣都是這同一個線性變換的描述,但又都不是線性變換本身。 但是這樣的話,問題就來了如果你給我兩張豬的照片,我怎么知道這兩張照片上的是同一頭豬呢?同樣的,你給我兩個矩陣,我怎么知道這兩個矩陣是描述的同一個線性變換呢?如果是同一個線性變換的不同的矩陣描述,那就是本家兄弟了,見面不認識,豈不成了笑話。 好在,我們可以找到同一個線性變換的矩陣兄弟們的一個性質(zhì),那就是: 若矩陣A與B是同一個線性變換的兩個不同的描述(之所以會不同,是因為選定了不同的基,也就是選定了不同的坐標(biāo)系),則一定能找到一個非奇異矩陣P,使得A、B之間滿足這樣的關(guān)系: A = P-1BP 線性代數(shù)稍微熟一點的讀者一下就看出來,這就是相似矩陣的定義。沒錯,所謂相似矩陣,就是同一個線性變換的不同的描述矩陣。按照這個定義,同一頭豬的不同角度的照片也可以成為相似照片。俗了一點,不過能讓人明白。 而在上面式子里那個矩陣P,其實就是A矩陣所基于的基與B矩陣所基于的基這兩組基之間的一個變換關(guān)系。關(guān)于這個結(jié)論,可以用一種非常直覺的方法來證明(而不是一般教科書上那種形式上的證明),如果有時間的話,我以后在blog里補充這個證明。 這個發(fā)現(xiàn)太重要了。原來一族相似矩陣都是同一個線性變換的描述?。‰y怪這么重要!工科研究生課程中有矩陣論、矩陣分析等課程,其中講了各種各樣的相 似變換,比如什么相似標(biāo)準型,對角化之類的內(nèi)容,都要求變換以后得到的那個矩陣與先前的那個矩陣式相似的,為什么這么要求?因為只有這樣要求,才能保證變 換前后的兩個矩陣是描述同一個線性變換的。當(dāng)然,同一個線性變換的不同矩陣描述,從實際運算性質(zhì)來看并不是不分好環(huán)的。有些描述矩陣就比其他的矩陣性質(zhì)好 得多。這很容易理解,同一頭豬的照片也有美丑之分嘛。所以矩陣的相似變換可以把一個比較丑的矩陣變成一個比較美的矩陣,而保證這兩個矩陣都是描述了同一個 線性變換。 這樣一來,矩陣作為線性變換描述的一面,基本上說清楚了。但是,事情沒有那么簡單,或者說,線性代數(shù)還有比這更奇妙的性質(zhì),那就是,矩陣不僅可以作 為線性變換的描述,而且可以作為一組基的描述。而作為變換的矩陣,不但可以把線性空間中的一個點給變換到另一個點去,而且也能夠把線性空間中的一個坐標(biāo)系 (基)表換到另一個坐標(biāo)系(基)去。而且,變換點與變換坐標(biāo)系,具有異曲同工的效果。線性代數(shù)里最有趣的奧妙,就蘊含在其中。理解了這些內(nèi)容,線性代數(shù)里 很多定理和規(guī)則會變得更加清晰、直覺。 這個留在下一篇再寫吧。 因為有別的事情要做,下一篇可能要過幾天再寫了。 (二) 接著理解矩陣。 上一篇里說“矩陣是運動的描述”,到現(xiàn)在為止,好像大家都還沒什么意見。但是我相信早晚會有數(shù)學(xué)系出身的網(wǎng)友來拍板 轉(zhuǎn)。因為運動這個概念,在數(shù)學(xué)和物理里是跟微積分聯(lián)系在一起的。我們學(xué)習(xí)微積分的時候,總會有人照本宣科地告訴你,初等數(shù)學(xué)是研究常量的數(shù)學(xué),是研究靜態(tài) 的數(shù)學(xué),高等數(shù)學(xué)是變量的數(shù)學(xué),是研究運動的數(shù)學(xué)。大家口口相傳,差不多人人都知道這句話。但是真知道這句話說的是什么意思的人,好像也不多。簡而言之, 在我們?nèi)祟惖慕?jīng)驗里,運動是一個連續(xù)過程,從A點到B點,就算走得最快的光,也是需要一個時間來逐點地 經(jīng)過AB之間的路徑,這就帶來了連續(xù)性的概念。而連續(xù)這個事情,如果不定義極限的概念,根本就解釋不了。古希臘人的數(shù)學(xué)非常強,但就是缺乏極限觀念,所以 解釋不了運動,被芝諾的那些著名悖論(飛箭不動、飛毛腿阿喀琉斯跑不過烏龜?shù)人膫€悖論)搞得死去活來。因為這篇文章不是講微積分的,所以我就不多說了。有 興趣的讀者可以去看看齊民友教授寫的《重溫微積分》。我就是讀了這本書開頭的部分,才明白“高等數(shù)學(xué)是研究運動的數(shù)學(xué)”這句話的道理。 不過在我這個《理解矩陣》的文章里,“運動”的概念不是微積分中的連續(xù)性的運動,而是瞬間發(fā)生的變化。比如這個時刻在A點,經(jīng)過一個“運動”,一下子就“躍遷” 到了B點,其中不需要經(jīng)過A點與B點之間的任何一個點。這樣的“運動”,或者說“躍遷”,是違反我們?nèi)粘5慕?jīng)驗的。不過了解一點量子物理常識的人,就會立 刻指出,量子(例如電子)在不同的能量級軌道上跳躍,就是瞬間發(fā)生的,具有這樣一種躍遷行為。所以說,自然界中并不是沒有這種運動現(xiàn)象,只不過宏觀上我們 觀察不到。但是不管怎么說,“運動”這個詞用在這里,還是容易產(chǎn)生歧義的,說得更確切些,應(yīng)該是“躍遷”。因此這句話可以改成: “矩陣是線性空間里躍遷的描述”。 可是這樣說又太物理,也就是說太具體,而不夠數(shù)學(xué),也就是說不夠抽象。因此我們最后換用一個正牌的數(shù)學(xué)術(shù)語——變換,來描述這個事情。這樣一說,大家就應(yīng)該明白了,所謂變換,其實就是空間里從一個點(元素/對象)到另一個點(元素/對象)的躍遷。 比如說,拓撲變換,就是在拓撲空間里從一個點到另一個點的躍遷。再比如說,仿射變換,就是在仿射空間里從一個點到另一個點的躍遷。附帶說一下,這個仿射空 間跟向量空間是親兄弟。做計算機圖形學(xué)的朋友都知道,盡管描述一個三維對象只需要三維向量,但所有的計算機圖形學(xué)變換矩陣都是4 x 4的。說其原因,很多書上都寫著“為了使用中方便”,這在我看來簡直就是企圖蒙混過關(guān)。真正的原因,是因為在計算機圖形學(xué)里應(yīng)用的圖形變換,實際上是在仿 射空間而不是向量空間中進行的。想想看,在向量空間里相一個向量平行移動以后仍是相同的那個向量,而現(xiàn)實世界等長的兩個平行線段當(dāng)然不能被認為同一個東 西,所以計算機圖形學(xué)的生存空間實際上是仿射空間。而仿射變換的矩陣表示根本就是4 x 4的。又扯遠了,有興趣的讀者可以去看《計算機圖形學(xué)——幾何工具算法詳解》。 一旦我們理解了“變換”這個概念,矩陣的定義就變成: “矩陣是線性空間里的變換的描述?!?/font> 到這里為止,我們終于得到了一個看上去比較數(shù)學(xué)的定義。不過還要多說幾句。教材上一般是這么說的,在一個線性空間V 里的一個線性變換T,當(dāng)選定一組基之后,就可以表示為矩陣。因此我們還要說清楚到底什么是線性變換,什么是基,什么叫選定一組基。線性變換的定義是很簡單 的,設(shè)有一種變換T,使得對于線性空間V中間任何兩個不相同的對象x和y,以及任意實數(shù)a和b,有: 定義都是這么寫的,但是光看定義還得不到直覺的理解。線性變換究竟是一種什么樣的變換?我們剛才說了,變換是從空間 的一個點躍遷到另一個點,而線性變換,就是從一個線性空間V的某一個點躍遷到另一個線性空間W的另一個點的運動。這句話里蘊含著一層意思,就是說一個點不 僅可以變換到同一個線性空間中的另一個點,而且可以變換到另一個線性空間中的另一個點去。不管你怎么變,只要變換前后都是線性空間中的對象,這個變換就一 定是線性變換,也就一定可以用一個非奇異矩陣來描述。而你用一個非奇異矩陣去描述的一個變換,一定是一個線性變換。有的人可能要問,這里為什么要強調(diào)非奇 異矩陣?所謂非奇異,只對方陣有意義,那么非方陣的情況怎么樣?這個說起來就會比較冗長了,最后要把線性變換作為一種映射,并且討論其映射性質(zhì),以及線性 變換的核與像等概念才能徹底講清楚。我覺得這個不算是重點,如果確實有時間的話,以后寫一點。以下我們只探討最常用、最有用的一種變換, 就是在同一個線性空間之內(nèi)的線性變換。也就是說,下面所說的矩陣,不作說明的話,就是方陣,而且是非奇異方陣。學(xué)習(xí)一門學(xué)問,最重要的是把握主干內(nèi)容,迅 速建立對于這門學(xué)問的整體概念,不必一開始就考慮所有的細枝末節(jié)和特殊情況,自亂陣腳。 接著往下說,什么是基呢?這個問題在后面還要大講一番,這里只要把基看成是線性空間里的坐標(biāo)系就可以了。注意是坐標(biāo)系,不是坐標(biāo)值,這兩者可是一個“對立矛盾統(tǒng)一體”。這樣一來,“選定一組基”就是說在線性空間里選定一個坐標(biāo)系。就這意思。 好,最后我們把矩陣的定義完善如下: “矩陣是線性空間中的線性變換的一個描述。在一個線性空間中,只要我們選定一組基,那么對于任何一個線性變換,都能夠用一個確定的矩陣來加以描述?!?/font> 理解這句話的關(guān)鍵,在于把“線性變換”與“線性變換的一個描述”區(qū)別開。一個是那個對象,一個是對那個對象的表述。就好像我們熟悉的面向?qū)ο缶幊讨?,一個對象可以有多個引用,每個引用可以叫不同的名字,但都是指的同一個對象。如果還不形象,那就干脆來個很俗的類比。 比如有一頭豬,你打算給它拍照片,只要你給照相機選定了一個鏡頭位置,那么就可以給這頭豬拍一張照片。這個照片可以 看成是這頭豬的一個描述,但只是一個片面的的描述,因為換一個鏡頭位置給這頭豬拍照,能得到一張不同的照片,也是這頭豬的另一個片面的描述。所有這樣照出 來的照片都是這同一頭豬的描述,但是又都不是這頭豬本身。 同樣的,對于一個線性變換,只要你選定一組基,那么就可以找到一個矩陣來描述這個線性變換。換一組基,就得到一個不同的矩陣。所有這些矩陣都是這同一個線性變換的描述,但又都不是線性變換本身。 但是這樣的話,問題就來了如果你給我兩張豬的照片,我怎么知道這兩張照片上的是同一頭豬呢?同樣的,你給我兩個矩陣,我怎么知道這兩個矩陣是描述的同一個線性變換呢?如果是同一個線性變換的不同的矩陣描述,那就是本家兄弟了,見面不認識,豈不成了笑話。 好在,我們可以找到同一個線性變換的矩陣兄弟們的一個性質(zhì),那就是: 若矩陣A與B是同一個線性變換的兩個不同的描述(之所以會不同,是因為選定了不同的基,也就是選定了不同的坐標(biāo)系),則一定能找到一個非奇異矩陣P,使得A、B之間滿足這樣的關(guān)系: A = P-1BP 線性代數(shù)稍微熟一點的讀者一下就看出來,這就是相似矩陣的定義。沒錯,所謂相似矩陣,就是同一個線性變換的不同的描述矩陣。按照這個定義,同一頭豬的不同角度的照片也可以成為相似照片。俗了一點,不過能讓人明白。 而在上面式子里那個矩陣P,其實就是A矩陣所基于的基與B矩陣所基于的基這兩組基之間的一個變換關(guān)系。關(guān)于這個結(jié)論,可以用一種非常直覺的方法來證明(而不是一般教科書上那種形式上的證明),如果有時間的話,我以后在blog里補充這個證明。 這個發(fā)現(xiàn)太重要了。原來一族相似矩陣都是同一個線性變換的描述??!難 怪這么重要!工科研究生課程中有矩陣論、矩陣分析等課程,其中講了各種各樣的相似變換,比如什么相似標(biāo)準型,對角化之類的內(nèi)容,都要求變換以后得到的那個 矩陣與先前的那個矩陣式相似的,為什么這么要求?因為只有這樣要求,才能保證變換前后的兩個矩陣是描述同一個線性變換的。當(dāng)然,同一個線性變換的不同矩陣 描述,從實際運算性質(zhì)來看并不是不分好環(huán)的。有些描述矩陣就比其他的矩陣性質(zhì)好得多。這很容易理解,同一頭豬的照片也有美丑之分嘛。所以矩陣的相似變換可 以把一個比較丑的矩陣變成一個比較美的矩陣,而保證這兩個矩陣都是描述了同一個線性變換。 這樣一來,矩陣作為線性變換描述的一面,基本上說清楚了。但是,事情沒有那么簡單,或者說,線性代數(shù)還有比這更奇妙的性質(zhì),那就是,矩陣不僅可以作為線性變換的描述,而且可以作為一組基的描述。而 作為變換的矩陣,不但可以把線性空間中的一個點給變換到另一個點去,而且也能夠把線性空間中的一個坐標(biāo)系(基)表換到另一個坐標(biāo)系(基)去。而且,變換點 與變換坐標(biāo)系,具有異曲同工的效果。線性代數(shù)里最有趣的奧妙,就蘊含在其中。理解了這些內(nèi)容,線性代數(shù)里很多定理和規(guī)則會變得更加清晰、直覺。 這個留在下一篇再寫吧。 因為有別的事情要做,下一篇可能要過幾天再寫了。
(三) 在第二部分結(jié)束的時候,我說: 這個留在下一篇再寫吧。 因為有別的事情要做,下一篇可能要過幾天再寫了。 ” 然而這一拖就是一年半。一年半以來,這兩篇粗糙放肆的文章被到處轉(zhuǎn)載,以至于在Google的搜索提示中,我的名字 跟“矩陣”是一對關(guān)聯(lián)詞匯。這對于學(xué)生時代數(shù)學(xué)一直很差的我來說,實在是令人惶恐的事情。數(shù)學(xué)是何等輝煌精致的學(xué)問!代表著人類智慧的最高成就,是人與上 帝對話的語言。而我實在連數(shù)學(xué)的門都還沒進去,不要說談什么理解,就是稍微難一些的題目我也很少能解開。我有什么資格去談矩陣這樣重要的一個數(shù)學(xué)概念呢? 更何況,我的想法直觀是直觀,未見的是正確的啊,會不會誤人子弟呢?因此,算了吧,到此為止吧,我這么想。
2、特征向量的幾何含義 長時間以來一直不了解矩陣的特征值和特征向量到底有何意義(估計很多兄弟有同樣感受)。知道它的數(shù)學(xué)公式,但卻找不出它的幾何含義,教科書里沒有真正地把這一概念從各種角度實例化地進行講解,只是一天到晚地列公式玩理論——有個屁用啊。 根據(jù)特征向量數(shù)學(xué)公式定義,矩陣乘以一個向量的結(jié)果仍是同維數(shù)的一個向量,因此,矩陣乘法對應(yīng)了一個變換,把一個向量變成同維數(shù)的另一個向量,那么 變換的效果是什么呢?這當(dāng)然與方陣的構(gòu)造有密切關(guān)系,比如可以取適當(dāng)?shù)亩S方陣,使得這個變換的效果就是將平面上的二維向量逆時針旋轉(zhuǎn)30度,這時我們可 以問一個問題,有沒有向量在這個變換下不改變方向呢?可以想一下,除了零向量,沒有其他向量可以在平面上旋轉(zhuǎn)30度而不改變方向的,所以這個變換對應(yīng)的矩 陣(或者說這個變換自身)沒有特征向量(注意:特征向量不能是零向量),所以一個變換的特征向量是這樣一種向量,它經(jīng)過這種特定的變換后保持方向不變,只 是進行長度上的伸縮而已(再想想特征向量的原始定義Ax=cx, cx是方陣A對向量x進行變換后的結(jié)果,但顯然cx和x的方向相同)。 這里給出一個特征向量的簡單例子,比如平面上的一個變換,把一個向量關(guān)于橫軸做鏡像對稱變換,即保持一個向量的橫坐標(biāo)不變,但縱坐標(biāo)取相反數(shù),把這 個變換表示為矩陣就是[1 0;0 -1](分號表示換行),顯然[1 0;0 -1]*[a b]'=[a -b]'(上標(biāo)'表示取轉(zhuǎn)置),這正是我們想要的效果,那么現(xiàn)在可以猜一下了,這個矩陣的特征向量是什么?想想什么向量在這個變換下保持方向不變,顯然, 橫軸上的向量在這個變換下保持方向不變(記住這個變換是鏡像對稱變換,那鏡子表面上(橫軸上)的向量當(dāng)然不會變化),所以可以直接猜測其特征向量是[a 0]'(a不為0),還有其他的嗎?有,那就是縱軸上的向量,這時經(jīng)過變換后,其方向反向,但仍在同一條軸上,所以也被認為是方向沒有變化,所以[0 b]'(b不為0)也是其特征向量。 綜上,特征值只不過反映了特征向量在變換時的伸縮倍數(shù)而已,對一個變換而言,特征向量指明的方向才是很重要的,特征值似乎不是那么重要;但是,當(dāng)我們引用了Spectral theorem(譜定律)的時候,情況就不一樣了。 Spectral theorem的核心內(nèi)容如下:一個線性變換(用矩陣乘法表示)可表示為它的所有的特征向量的一個線性組合,其中的線性系數(shù)就是每一個向量對應(yīng)的特征值,寫成公式就是:
從這里我們可以看出,一個變換(矩陣)可由它的所有特征向量完全表示,而每一個向量所對應(yīng)的特征值,就代表了矩陣在這一向量上的貢獻率——說的通俗 一點就是能量(power),至此,特征值翻身做主人,徹底掌握了對特征向量的主動:你所能夠代表這個矩陣的能量高低掌握在我手中,你還吊什么吊? 我們知道,一個變換可由一個矩陣乘法表示,那么一個空間坐標(biāo)系也可視作一個矩陣,而這個坐標(biāo)系就可由這個矩陣的所有特征向量表示,用圖來表示的話, 可以想象就是一個空間張開的各個坐標(biāo)角度,這一組向量可以完全表示一個矩陣表示的空間的“特征”,而他們的特征值就表示了各個角度上的能量(可以想象成從 各個角度上伸出的長短,越長的軸就越可以代表這個空間,它的“特征”就越強,或者說顯性,而短軸自然就成了隱性特征),因此,通過特征向量/值可以完全描 述某一幾何空間這一特點,使得特征向量與特征值在幾何(特別是空間幾何)及其應(yīng)用中得以發(fā)揮。 關(guān)于特征向量(特別是特征值)的應(yīng)用實在是太多太多,近的比如俺曾經(jīng)提到過的PCA方法,選取特征值最高的k個特征向量來表示一個矩陣,從而達到降 維分析+特征顯示的方法;近的比如Google公司的成名作PageRank,也是通過計算一個用矩陣表示的圖(這個圖代表了整個Web各個網(wǎng)頁“節(jié)點” 之間的關(guān)聯(lián))的特征向量來對每一個節(jié)點打“特征值”分;再比如很多人臉識別,數(shù)據(jù)流模式挖掘分析等方面,都有應(yīng)用,有興趣的兄弟可以參考IBM的 Spiros在VLDB‘ 05,SIGMOD ’06上的幾篇文章。 特征向量不僅在數(shù)學(xué)上,在物理,材料,力學(xué)等方面(應(yīng)力、應(yīng)變張量)都能一展拳腳,有老美曾在一本線代書里這樣說過“有振動的地方就有特征值和特征向量”,確實令人肅然起敬+毛骨悚然......
3、維基百科上關(guān)于特征向量和行列式的條目 http://zh./zh-cn/è???????? http://zh./zh/??1??????é?? |
|