標籤:

線性代數的直覺理解(1)

寫這個系列的初衷是為了紀念我大學生活和研究生生活,讓我比較記憶尤新的就是線性代數,在若干年後mark一下大學美好的時光……更是培養我們對線性代數直覺上面的理解,因為線性代數裡面有太多的「規定」,而不是簡簡單單的公式。

關於線性代數,到底在研究什麼?

我想看到這張圖片的朋友都清楚,沒錯,THE MATRIX。你敢想像我們的真實世界裡面的每一個對象都是由獨特的大型矩陣所描述進而被操控么?任何人的行為甚至思想都能夠通過矩陣所反映,對矩陣的變換,就是對事和人的真實改變,是不是很可怕!華納兄弟公司早在1999年就完成了對十多年後的研究熱點—–的場景浮現,至少我自己認為是非常有眼光,出於偶然或者是必然地對這個世界完成了一次驚天思考!

今天的主題是線性代數。很大的話題,不是么?作為剛剛走出校門的我,回憶往昔,線性代數歲月:愁。2009年,第一次系統學習了線性代數的知識,可以說只是記住了行變換、列變換等等和高中的解方程組沾邊的東西,至於說後面的相似矩陣、特徵值特徵向量,我是一概本著死記硬背考試夠用的原則,馬馬虎虎地混了過去。第二次學習是上了研究生,課程名稱是:矩陣論。其實,自我感覺,矩陣論就是比線性代數更高的一層,站在上面能夠看到更多,但是核心的東西,線性代數完全能夠勝任。第二次的學習,在巨大的教室、講話毫無語調變化的老師口中結束,收穫甚微。我覺得,很多工科生在大學期間的必修課都包含了線性代數,提到現代,大部分學生不是厭煩就是有心無力,一臉迷茫。瑞典數學家L.戈丁在《數學概觀》(《Encounter with Mathematics》)裡面提到:「要是沒有線性代數,任何數學和初等教程都講不下去。按照現行的國際標準,線性代數是通過公理化來表述的,它是第二代數學模型,其根源來自於歐幾里得幾何、解析幾何以及線性代數方程組理論。」顯然,線性代數具有極其重要的作用,最起碼,它是底層自然規律與高等現代計算手段之間唯一的橋樑。「如果不熟悉線性代數的概念,像線性性質、向量、線性空間、矩陣等等,要去學習自然科學,現在看來就和文盲差不多,甚至可能學習社會科學也是如此」。長舒一口氣,當初怎麼沒學好呢。本次博客先不過多講那些偏重於應用的各種特殊矩陣以及處理方法,重點是:

1. 空間

2. 線性空間

3. 向量

4. 矩陣

5. 重新理解

下面這張圖是我根據自己對線性代數的理解製作出來的,拋磚引玉,希望大家能夠往裡面添加更多的東西,或者是改正我的錯誤。我會在將來的文章中連續圍繞這張圖展開,也希望這個系列能夠幫助到大家對線性代數的理解,祝一切順利!

好了,現在開始:

1.空間(Space)

提到空間,我們首先想到的就是我們生活在三維環境,站在數學的角度上看,這是一個三維的歐幾里得空間。經過數學家們的不斷思考,他們用最凝練的語言描述空間的共同特點:

1、由無窮多的點組成;

2、不同點之間存在著可以描述的相對關係;

3、在空間中通過點定義長度、角度;

4、容納運動,或者更寬泛來講就是容納變換。

上面的這些性質中,最最關鍵的是第4條。第1、2條只能說是空間的基礎,不算是空間特有的性質,凡是討論數學問題,都得有一個集合,大多數還得在這個集合上定義一些結構(關係),並不是說有了這些就算是空間。而第3條太特殊,其他的空間不需要具備,更不是關鍵的性質。只有第4條是空間的本質,也就是說,容納運動是空間的本質特徵。

有句話叫做:「靜止是相對的,運動才是絕對的。」我們思考的起點,必須要做到「運動」,即變換是運動,狀態其實也是運動,只不過這個特殊的運動是從我們很難發覺的特殊起點開始的。這點我們將在後面講到。

2.線性空間(Linear Space)

線性空間的定義源於許多數學對象本身如何歸類,例如幾何向量、同型矩陣、實函數等等,它們滿足相同的計算規則,都能夠相加以及用數相乘,將它們稱為向量。向量的一個集合V,如果對於V中的所有向量u、v和數a、b,滿足:

F(au+bv)=aF(u)+bF(v)

舉兩個顯得比較高大上的例子:

Example1: 最高次項不大於n次的多項式的全體構成一個線性空間,也就是說,這個線性空間中的每一個對象是一個多項式。如果我們以x^0, x^1, …, x^n為基,那麼任何一個這樣的多項式都可以表達為一組n+1維向量,其中的每一個分量a_i其實就是多項式中x^i項的係數。值得說明的是,基的選取有多種辦法,只要所選取的那一組基線性無關就可以。這要用到後面提到的概念了,所以這裡先不說,提一下而已。

Example2: 閉區間[a, b]上的n階連續可微函數的全體,構成一個線性空間。也就是說,這個線性空間的每一個對象是一個連續函數。對於其中任何一個連續函數,根據魏爾斯特拉斯定理,一定可以找到最高次項不大於n的多項式函數,使之與該連續函數的差為0,也就是說,完全相等。這樣就把問題歸結為Example1了。

我的理解:如果在線性空間當中確定了一組基,那麼就可以通過一個向量表示這個空間當中任何一個對象。突然之間,我想到了C++的類和對象的那些事情,以小學生的視野來看,Class能否理解成為基,實例化的object(通過構造函數傳遞參數等等)就是對象,而這些傳遞進去的參數在類中發生了作用,不再是毫無意義的一堆雜亂數據。扯得有點兒遠……數學世界裡,怎麼樣表示出對象呢?兩個關鍵點:一個是一組合適的基,另一個是這些基的有序求和(坐標)。

egin{bmatrix}	     a_{0 ,0 }& a_{0,1} & a_{0, 2 }& cdots & a_{0, n -1} \   a_{1, 0 }& a_{1, 1} & a_{1 ,2 }& cdots & a_{1 ,n -1}\     vdots  & vdots& vdots & ddots & vdots \     a_{n-1 ,0 }& a_{n-1 ,1} & a_{n-1, 2 }& cdots & a_{n-1, n -1}      end{bmatrix}egin{bmatrix}k_0\k_1  \vdots  \k_{n-1     }end{bmatrix}=k_0egin{bmatrix}a_{0,0}\a_{1,0} \vdots  \a_{n-1,0}end{bmatrix}+k_1egin{bmatrix}a_{0,1}\a_{1,1} \vdots  \a_{n-1,1}end{bmatrix}+cdots+k_{n-1}egin{bmatrix}a_{0,n-1}\a_{1,n-1} \vdots  \a_{n-1,n-1}end{bmatrix}

上面的等式在向我們展示線性代數最最重要的一個變換--線性組合。一組合適的基隱藏在了等式左邊的矩陣每一個列向量當中,而那個坐標隱藏在了等式左邊矩陣右乘的向量當中。按列取出每一列前面翻倍,就是這個線性組合的操作。這裡,有些人會問,那你說的空間裡面的對象在哪裡?答案就是這個變換。對象就是變換,而變換產生了對象。我們在教材或者文獻當中看到的向量,其實只是描述對象的一部分,其餘的隱藏在其左側的那個透明矩陣當中,而這個矩陣可能是一個叫做I的單位矩陣,可能是當時環境下的一個基底矩陣,也就是那個矩陣的所有列向量都是默認的。這個觀點是否能夠解釋第一部分最後留下的小尾巴呢?

3.向量(Vector)

通過對線性空間的理解,我們進一步看看向量這個「標籤」:就像我們看到「奧迪汽車」,從我們的先驗知識庫中尋找到這四個漢字,再從這些漢字的組合上面獲取到其背後的語義,根據這個語義想像出實際的物體。向量的功能類似於標籤,它僅僅是一串有序排列的數字,想要對線性空間當中的對象進行描述,就必須搭配一個基底,即那個左側的矩陣。相同的對象,其實可以由不同的矩陣和向量的組合來表達,反過來,不同的對象,可以由相同的向量和不同的基底組合表達。基底和向量二者缺一不可,沒有基底,向量就是一堆毫無意義的數字。

4.矩陣(Matrix)

矩陣是向量的有序組合。矩陣的本質是描述線性變換。它在線性空間當中的作用是告訴我們對象改變,也就是通過矩陣規定了這個對象是如何發生變換的。是否可以這樣理解,線性代數能夠神奇地將本來和對象描述相關的向量組合在一起變成對象變換相關的矩陣。從靜到動的一個過程。

5.重新理解

基於上面的描述,我想現在應該需要知道:

  • 矩陣是由一系列的列向量按照一定的次序排列而成;
  • 矩陣描述了線性空間的變換;
  • 基就是線性空間的坐標系,不是坐標值,有區別;
  • 基和向量相乘能夠描述一個對象。

下面可能需要一段燒腦的過程,做好準備:已經有人準備開始質疑:剛才說到,矩陣(我們考慮最常見的非奇異的方陣,因為這一類矩陣是幫助我們理解問題的主要形式,把握住了這一點,遇到其他的雜七雜八的不合格矩陣,我們再想辦法對付)的列向量如果是線性無關的,它們就能成為度量該線性空間的基,也就是該空間的完備坐標體系,基於這個坐標系,我們就可以使用某一個向量描述這個空間內的任何對象了。從這個方面理解,結論是:矩陣描述了一個坐標系。那為什麼矩陣還能夠描述變換呢?難道這裡存在什麼矛盾嗎?到這裡,教科書上面從來不講的東西就引出來了:運動(變換)是相對的。也就是說,坐標系下面對象的變換與固定對象去變換坐標系是完全等價的。舉個栗子:

考察

Ma=b=Ib

有如下的理解方式:

理解1:向量a經過M所描述的變換變成了b

理解2:空間內有一個對象,上面的等式就是同一個對象的不同描述方式,這個對象在M坐標系下坐標值是a,而在I坐標系下坐標值是b

那麼,是不是這個等式還能夠寫下去呢?答案是肯定的:因為我們總是一直能夠找到不同的那個M!後面的相似矩陣、甚至是對角化等等的內容,都是為了保證變換前後的矩陣描述的是同一個線性變換。從計算機的運算來講,如何在這麼多的選擇當中找到最合適的就顯得很重要了,因為同樣是玩自拍,45度角拍出來的你是最美!

矩陣的乘法

考察

PQ

變換的思維:對Q的每一個列向量,施加P代表的變換;

坐標系的思維:在P坐標系下觀察Q坐標系,等同於在I坐標系下觀察PQ

到現在,我想對於矩陣和向量的乘法以及矩陣之前的乘法的理解,就應該比較透徹了,再加上一條,那就是Ma=b,所表達的,想要看到在M坐標系下a描述的對象的真相,就必須將aM中每一個行向量進行內積運算。

小結:

線性代數給我的感覺是形式大於內容,我們喜歡沉浸在不同形式之間的轉換,玩小技巧,盡自己最大的可能去揭開掩蓋真實世界的幕布,讓人們更直觀地觀察到本真的世界。《駭客帝國》揭示的也許是人性的本真,這個對象需要很多的矩陣共同作用,發生諸如愛情、謀殺等的變換才能實現。作為搞工程的我,還是希望對自然規律的理解和利用要更樸素,更和善。

下一篇文章會是關於矩陣的四個子空間與一個應用:最小二乘。敬請期待……

推薦閱讀:

TAG:线性代数 |