接着理解矩陣。算法
上一篇裏說「矩陣是運動的描述」,到如今爲止,好像你們都還沒什麼意見。可是我相信遲早會有數學系出身的網友來拍板轉。由於運動這個概念,在數學和物理裏是跟微積分聯繫在一塊兒的。咱們學習微積分的時候,總會有人照本宣科地告訴你,初等數學是研究常量的數學,是研究靜態的數學,高等數學是變量的數學,是研究運動的數學。你們口口相傳,差很少人人都知道這句話。可是真知道這句話說的是什麼意思的人,好像也很少。簡而言之,在咱們人類的經驗裏,運動是一個連續過程,從A點到B點,就算走得最快的光,也是須要一個時間來逐點地通過AB之間的路徑,這就帶來了連續性的概念。而連續這個事情,若是不定義極限的概念,根本就解釋不了。古希臘人的數學很是強,但就是缺少極限觀念,因此解釋不了運動,被芝諾的那些著名悖論(飛箭不動、飛毛腿阿喀琉斯跑不過烏龜等四個悖論)搞得死去活來。由於這篇文章不是講微積分的,因此我就很少說了。有興趣的讀者能夠去看看齊民友教授寫的《重溫微積分》。我就是讀了這本書開頭的部分,才明白「高等數學是研究運動的數學」這句話的道理。編程
不過在我這個《理解矩陣》的文章裏,「運動」的概念不是微積分中的連續性的運動,而是瞬間發生的變化。好比這個時刻在A點,通過一個「運動」,一會兒就「躍遷」到了B點,其中不須要通過A點與B點之間的任何一個點。這樣的「運動」,或者說「躍遷」,是違反咱們平常的經驗的。不過了解一點量子物理常識的人,就會馬上指出,量子(例如電子)在不一樣的能量級軌道上跳躍,就是瞬間發生的,具備這樣一種躍遷行爲。因此說,天然界中並非沒有這種運動現象,只不過宏觀上咱們觀察不到。可是無論怎麼說,「運動」這個詞用在這裏,仍是容易產生歧義的,說得更確切些,應該是「躍遷」。所以這句話能夠改爲:工具
「矩陣是線性空間裏躍遷的描述」。學習
但是這樣說又太物理,也就是說太具體,而不夠數學,也就是說不夠抽象。所以咱們最後換用一個正牌的數學術語——變換,來描述這個事情。這樣一說,你們就應該明白了,所謂變換,其實就是空間裏從一個點(元素/對象)到另外一個點(元素/對象)的躍遷。好比說,拓撲變換,就是在拓撲空間裏從一個點到另外一個點的躍遷。再好比說,仿射變換,就是在仿射空間裏從一個點到另外一個點的躍遷。附帶說一下,這個仿射空間跟向量空間是親兄弟。作計算機圖形學的朋友都知道,儘管描述一個三維對象只須要三維向量,但全部的計算機圖形學變換矩陣都是4 x 4的。說其緣由,不少書上都寫着「爲了使用中方便」,這在我看來簡直就是企圖矇混過關。真正的緣由,是由於在計算機圖形學裏應用的圖形變換,其實是在仿射空間而不是向量空間中進行的。想一想看,在向量空間裏一個向量平行移動之後還是相同的那個向量,而現實世界等長的兩個平行線段固然不能被認爲同一個東西,因此計算機圖形學的生存空間其實是仿射空間。而仿射變換的矩陣表示根本就是4 x 4的。又扯遠了,有興趣的讀者能夠去看《計算機圖形學——幾何工具算法詳解》。spa
一旦咱們理解了「變換」這個概念,矩陣的定義就變成:.net
「矩陣是線性空間裏的變換的描述。」對象
到這裏爲止,咱們終於獲得了一個看上去比較數學的定義。不過還要多說幾句。教材上通常是這麼說的,在一個線性空間V裏的一個線性變換T,當選定一組基以後,就能夠表示爲矩陣。所以咱們還要說清楚到底什麼是線性變換,什麼是基,什麼叫選定一組基。 線性變換的定義是很簡單的,設有一種變換T,使得對於線性空間V中間任何兩個不相同的對象x和y,以及任意實數a和b,有:
\[T(ax + by) = aT(x) + bT(y)\]
那麼就稱T爲線性變換。blog
定義都是這麼寫的,可是光看定義還得不到直覺的理解。線性變換到底是一種什麼樣的變換?咱們剛纔說了,變換是從空間的一個點躍遷到另外一個點,而線性變換,就是從一個線性空間V的某一個點躍遷到另外一個線性空間W的另外一個點的運動。 這句話裏蘊含着一層意思,就是說一個點不只能夠變換到同一個線性空間中的另外一個點,並且能夠變換到另外一個線性空間中的另外一個點去。無論你怎麼變,只要變換先後都是線性空間中的對象,這個變換就必定是線性變換,也就必定能夠用一個非奇異矩陣來描述。而你用一個非奇異矩陣去描述的一個變換,必定是一個線性變換。有的人可能要問,這裏爲何要強調非奇異矩陣?所謂非奇異,只對方陣有意義,那麼非方陣的狀況怎麼樣?這個提及來就會比較冗長了,最後要把線性變換做爲一種映射,而且討論其映射性質,以及線性變換的核與像等概念才能完全講清楚。我以爲這個不算是重點,若是確實有時間的話,之後寫一點。如下咱們只探討最經常使用、最有用的一種變換,就是在同一個線性空間以內的線性變換。也就是說,下面所說的矩陣,不做說明的話,就是方陣,並且是非奇異方陣。學習一門學問,最重要的是把握主幹內容,迅速創建對於這門學問的總體概念,沒必要一開始就考慮全部的細枝末節和特殊狀況,自亂陣腳。get
接着往下說,什麼是基呢?這個問題在後面還要大講一番,這裏只要把基當作是線性空間裏的座標系就能夠了。注意是座標系,不是座標值,這二者但是一個「對立矛盾統一體」。這樣一來,「選定一組基」就是說在線性空間裏選定一個座標系。就這意思。數學
好,最後咱們把矩陣的定義完善以下:
「矩陣是線性空間中的線性變換的一個描述。在一個線性空間中,只要咱們選定一組基,那麼對於任何一個線性變換,都可以用一個肯定的矩陣來加以描述。」
理解這句話的關鍵,在於把「線性變換」與「線性變換的一個描述」區別開。一個是那個對象,一個是對那個對象的表述。就好像咱們熟悉的面向對象編程中,一個對象能夠有多個引用,每一個引用能夠叫不一樣的名字,但都是指的同一個對象。若是還不形象,那就乾脆來個很俗的類比。
好比有一頭豬,你打算給它拍照片,只要你給照相機選定了一個鏡頭位置,那麼就能夠給這頭豬拍一張照片。這個照片能夠當作是這頭豬的一個描述,但只是一個片面的的描述,由於換一個鏡頭位置給這頭豬拍照,能獲得一張不一樣的照片,也是這頭豬的另外一個片面的描述。全部這樣照出來的照片都是這同一頭豬的描述,可是又都不是這頭豬自己。
一樣的,對於一個線性變換,只要你選定一組基,那麼就能夠找到一個矩陣來描述這個線性變換。換一組基,就獲得一個不一樣的矩陣。全部這些矩陣都是這同一個線性變換的描述,但又都不是線性變換自己。
可是這樣的話,問題就來了若是你給我兩張豬的照片,我怎麼知道這兩張照片上的是同一頭豬呢?一樣的,你給我兩個矩陣,我怎麼知道這兩個矩陣是描述的同一個線性變換呢?若是是同一個線性變換的不一樣的矩陣描述,那就是本家兄弟了,見面不認識,豈不成了笑話。
好在,咱們能夠找到同一個線性變換的矩陣兄弟們的一個性質,那就是:
若矩陣A與B是同一個線性變換的兩個不一樣的描述(之因此會不一樣,是由於選定了不一樣的基,也就是選定了不一樣的座標系),則必定能找到一個非奇異矩陣P,使得A、B之間知足這樣的關係:
\[A = P^{-1}BP\]
線性代數稍微熟一點的讀者一下就看出來,這就是類似矩陣的定義。沒錯,所謂類似矩陣,就是同一個線性變換的不一樣的描述矩陣。 按照這個定義,同一頭豬的不一樣角度的照片也能夠成爲類似照片。俗了一點,不過能讓人明白。
而在上面式子裏那個矩陣P,其實就是A矩陣所基於的基與B矩陣所基於的基這兩組基之間的一個變換關係。關於這個結論,能夠用一種很是直覺的方法來證實(而不是通常教科書上那種形式上的證實),若是有時間的話,我之後在blog裏補充這個證實。
這個發現過重要了。原來一族類似矩陣都是同一個線性變換的描述啊! 難怪這麼重要!工科研究生課程中有矩陣論、矩陣分析等課程,其中講了各類各樣的類似變換,好比什麼類似標準型,對角化之類的內容,都要求變換之後獲得的那個矩陣與先前的那個矩陣式類似的,爲何這麼要求?由於只有這樣要求,才能保證變換先後的兩個矩陣是描述同一個線性變換的。固然,同一個線性變換的不一樣矩陣描述,從實際運算性質來看並非不分好環的。有些描述矩陣就比其餘的矩陣性質好得多。這很容易理解,同一頭豬的照片也有美醜之分嘛。因此矩陣的類似變換能夠把一個比較醜的矩陣變成一個比較美的矩陣,而保證這兩個矩陣都是描述了同一個線性變換。
這樣一來,矩陣做爲線性變換描述的一面,基本上說清楚了。可是,事情沒有那麼簡單,或者說,線性代數還有比這更奇妙的性質,那就是,矩陣不只能夠做爲線性變換的描述,並且能夠做爲一組基的描述。而做爲變換的矩陣,不但能夠把線性空間中的一個點給變換到另外一個點去,並且也可以把線性空間中的一個座標系(基)表換到另外一個座標系(基)去。 並且,變換點與變換座標系,具備殊途同歸的效果。線性代數裏最有趣的奧妙,就蘊含在其中。理解了這些內容,線性代數裏不少定理和規則會變得更加清晰、直覺。
這個留在下一篇再寫吧。
由於有別的事情要作,下一篇可能要過幾天再寫了。
做者:myan
來源:CSDN
原文:https://blog.csdn.net/myan/article/details/649018