以前寫了幾篇相關(guān)的文章,見 我對矩陣和矩陣乘積的意義的認(rèn)識,基本上在《圖示矩陣分塊乘法》中已經(jīng)闡述,但之所以還要寫這篇文章,是因為不論是我的文章,還是網(wǎng)絡(luò)上其他相關(guān)文章,都沒有做到把這個問題徹底講清楚,我是學(xué)數(shù)學(xué)的,和很多其他學(xué)數(shù)學(xué)的人一樣習(xí)慣上以數(shù)學(xué)抽象的概念去解釋另一個概念,所以講到矩陣總是會提向量空間,會提向量,但工科的學(xué)生往往是不會接觸向量空間的概念,所以這種解釋雖然我們看起來很直觀,對工科的學(xué)生往往就很難理解了。還有一般的教材里都會講到的從線性映射的復(fù)合的觀點去定義矩陣的乘法,但仍然解釋不清乘法規(guī)則的本質(zhì),尤其解釋不了矩陣乘法為什么可以分塊進(jìn)行。 我博士的課題是研究隨機(jī)矩陣,我的導(dǎo)師之一有無線通訊的背景,所以我有幸接觸到一個能夠更加直觀闡釋矩陣的概念和矩陣乘法規(guī)則的通訊模型,它雖然是個具體的模型,但我認(rèn)為它有可能觸及到了矩陣和矩陣乘法的最本質(zhì)的東西。 如圖一,考慮在 A 地建有一個發(fā)射站,其中有 n 個發(fā)射塔,B 地一個接收站,有 m 個接受塔。他們之間要傳遞的是一組由n 個數(shù)組成的信息 (x1,x2,...,xn),這樣,這組信息可以由這n個發(fā)射塔同時發(fā)出,然后m個接收塔會同時收到它們發(fā)送過來的數(shù)據(jù)。 但因為距離等因素的影響,每個發(fā)射塔發(fā)出的信息到不同的接收塔的過程中會有不同程度的衰減,比如第一個發(fā)射塔發(fā)出的信息x1到第一個接收塔就變成了 a11x1,等等,它們對應(yīng)的關(guān)系可以列成一個方陣: 接收B\ 發(fā)射A 1 2 3 ...... n 這個對應(yīng)關(guān)系的表格其實就是我們的矩陣了。有人可能覺得這只是形式上的對應(yīng)關(guān)系,這些元素只是形式上構(gòu)成了一個矩陣的形狀,和我們數(shù)學(xué)上的矩陣有什么關(guān)系呢?矩陣的乘法在哪里呢?其實關(guān)系大得很??紤]一下發(fā)射站每發(fā)射一條信息 (x1,x2,...,xn),那么在接收站接收到的信息會是什么樣子?比如第一個接收塔接到的是所有發(fā)射塔給它發(fā)的信息,那就是 y1=a11x1+a12x2+...+a1nxn,同理第二個接收塔收到的是 y2=a21x1+a22x2+...+a2nxn,等等。 接下來考慮,如果B只是個中轉(zhuǎn)站,它也要把它接受到的所有信息原封不動地傳給C,那就是下圖這樣: 那么C最后接到的信息會是什么樣?如果像剛才那樣分析從B到C的過程,那C接到的信息就是 z1=b11y1+b12y2+...+b1mym; z2=b21y1+...+b2mym,等等。但是,我現(xiàn)在想把B這個中轉(zhuǎn)站從圖中隱去,我想直接制定一個從A到C的發(fā)射-接收轉(zhuǎn)換列表,我應(yīng)該怎么制定呢?怎樣才能把下面這個列表填完整呢? 接收C\ 發(fā)射A 1 2 3 ...... n 根據(jù)這個表中元素的定義,第一行第一列的元素(記為c11)應(yīng)該是最原始的信息中的第一個元素 x1 被發(fā)射到最終位置C的第一個接收塔的過程中的衰減系數(shù),而從圖中不難看出,這個信息元 x1 首先經(jīng)過一次衰減到達(dá)B的m個中轉(zhuǎn)塔,也就有了 m 個分身a11x1, a21x1,...,am1x1,然后這m個分身又分別經(jīng)過第二次衰減,并集合到C的第一個接收塔那里,于是變成了 a11b11x1+a21b12x1+...+am1b1mx1,那么自然就有 這個模型里的通信模型只是用來幫助理解和想象,現(xiàn)實生活中有很多模型都可以體現(xiàn)這樣的運(yùn)算關(guān)系,比如把通信站換成物流公司,把信息換成貨物,矩陣的元素?fù)Q成路程或運(yùn)輸成本,這就變成了一個物流模型;把信息換成空間中的向量,每個通信塔換成空間的基底,這就能解釋空間中的線性映射,等等。 下面接著用通信模型解釋矩陣的分塊運(yùn)算。首先理解什么是矩陣的一個子塊:讓我們先回到(圖一)的沒有中轉(zhuǎn)站而只有發(fā)射和接收站的情形,然后考慮,原有的系統(tǒng)支持n個信息同時發(fā)射,但假設(shè)我現(xiàn)在要發(fā)射的信息沒有那么多,只有 m(<n) 個分量,那么我可以只用其中的m 個發(fā)射塔;同時因為發(fā)射的數(shù)據(jù)減少了,也就不需要那么多接收塔了,所以我可以把其中的一些發(fā)射塔和接收塔關(guān)閉。假設(shè)剩下的塔之間傳遞信息的轉(zhuǎn)換關(guān)系不變,那么剩下的那些塔就是原來的一個子系統(tǒng)。因為有些塔不工作,所以我也無需考慮跟它們相關(guān)的衰減系數(shù),我們把原來矩陣中所有和關(guān)閉的塔相關(guān)聯(lián)的行或列都去掉,剩下的矩陣就是這個子系統(tǒng)對應(yīng)的衰減系數(shù)矩陣。 這樣就好解釋了為什么矩陣分塊的乘法也具有同樣的運(yùn)算法則:還是考慮(圖二)描述的發(fā)射-中轉(zhuǎn)-接收模型,但我們這次以不同的眼光看:我們把發(fā)射、中轉(zhuǎn)和接收塔都分別編組,把一組通信塔看成一個整體,那么一個發(fā)射組+一個中轉(zhuǎn)組+一個接收組就構(gòu)成了一個子系統(tǒng),它們中間的衰減矩陣自然是大矩陣?yán)锏淖訅K;而如果我們對這些子系統(tǒng)進(jìn)行分析,它們之間的傳遞關(guān)系自然和把它們當(dāng)成單個通信塔的情形是一模一樣的:以下是我以前的文章《圖示矩陣分塊乘法》里貼過的圖,想象每個方格里是一組通信塔,再結(jié)合那篇文章中論述的向量空間的模型,就不難理解其中的道理了。 最后多說幾句我對線性代數(shù)中“線性”的認(rèn)識。我們上面所有的分析,都是在我們所描述的系統(tǒng)可以分拆這個假設(shè)的基礎(chǔ)上的,也就是上面所說,假定它的任何一個子系統(tǒng)的運(yùn)行狀態(tài)不受系統(tǒng)其它部分的干擾,只有這樣,我們才能把輸入的原始信息分成若干分量,它們通過系統(tǒng)傳遞之后再進(jìn)行整合;也只有這樣,我們把系統(tǒng)進(jìn)行分拆,分別研究各個子系統(tǒng)之后再進(jìn)行綜合才是有意義的。所以,線性代數(shù)就是拆拆合合的技術(shù),“線性”是我們進(jìn)行拆拆合合的基礎(chǔ)。 |
|