線性代數在你的學科里有什麼應用?

怎麼好像從來沒有用到過?生化和生物工程的人,可以說說在哪裡用到過嗎?


我的研究方向是組合數學 Combinatorics,又稱具體數學。這個學科里絕大多數的問題都能用簡單的語言描述,但解答又不顯然。

在卡內基梅隆大學讀研究生的第二年暑假,導師推薦給了我一本書 Thirty?three Miniatures,作者是 Ji?í Matou?ek。乍一看書名,可能會猜測是一本包含 33 個小故事的故事集(突然想起了桂綸鎂主演的第 36 個故事),但實際上這個猜測也八九不離十了。書的副標題是 Mathematical and Algorithmic Applications of Linear Algebra —— 這本書包含了 33 個線性代數的數學和演算法應用。

比如書中回答了以下組合數學問題:

  • 在 Oddtown 裡面住著 n 個居民,他們的主要工作是組建各種各樣的俱樂部。為了限制俱樂部的個數,市政府決定頒布如下條例:每個俱樂部只能有奇數個會員並且任何兩個俱樂部只能有偶數個公共會員。證明:不可能組建超過 n 個俱樂部。(取自 Miniature 3)
  • 平面上不存在四個點,兩兩之間距離均為奇數。(取自 Miniature 6)
  • 一個長寬比為無理數的長方形無法用有限個正方形鋪砌(正方形內部不相交且覆蓋長方形)。(取自 Miniature 12)
  • 一個網店正在處理訂單,突然所有小於 1 元的硬幣都被作廢了!所有商品的價格都要取整(可以選擇向上或向下取整)。如果每種商品賣了至多 t 個,並且每個訂單中每種商品至多包含 1 個,那麼有一種取整的辦法使得每個訂單的總價變化不超過 t 元(有趣是總價的變化和訂單數、商品數均無關)。(取自 Miniature 19)

令人驚訝的是,理解這些問題的解答只需要明白大學本科的線性代數知識!好吧,其實還需要知道有限域上的線性代數。在此,我補充一個在這本書裡面沒有的組合數學問題。

問題:平面上 n 條一般位置的直線(沒有三線共點或兩線平行)至少會產生 n - 2 個小三角形。

解釋一下小三角形的意思:

如圖所示,5 條直線把平面劃分後,形成的區域中為三角形的部分就是所謂的小三角形。

現在,就是見證線性代數的奇蹟的時刻了!

證明:反證法,假設產生了 m &< n - 2 個小三角形。固定 L1, L2 兩條直線,再讓其他直線平移起來!也就是說,對 L1, L2 外的每條直線的法向量制定一個速率(可正可負)。附加條件是:每個小三角形大小保持不變。如下圖,如果斜的兩條直線決定以那樣的速度移動,為了保持小三角形大小不變,水平的直線必須以某個規定的速度移動。

換句話說,決定小三角形的三條直線的平移速率必須滿足某個約束條件。可以證明每個約束條件關於平移速率是線性的(請讀者自己思考)。那麼現在我們有 m 個小三角形,即 m 個線性方程,以及 n - 2 個直線平移速率作為未知元,由於 m &< n - 2,線性代數告訴我們存在非零解!也就是說,確實可以在保持每個小三角形大小不變的情況下,讓 L1, L2 外的一部分直線平移起來!在整個平移的過程中,考慮第一次某三條直線交匯於一點的前一個剎那,如下圖。

ちょっと 待って,說好小三角形大小保持不變呢!下一刻,這個小三角形都要消失了!矛盾 ╮(╯_╰)╭

這裡有一個需要補充的細節,為什麼一定會有三條線在運動後交於一點呢?一方面,L1, L2 兩條直線固定,考慮第三條直線 L 正在移動,那必定有一個時刻 t 直線 L 會穿過 L1 和 L2 的交點。如果這個時刻 t 為負數,那我們轉而考慮反轉所有速度後的運動。

證畢。

文初提到的作者無私地將初稿放在他的主頁上。如果想閱讀,可以直接以書名作為關鍵詞搜索。我個人非常得益於 Ji?í Matou?ek 的寫作,但很不幸,他於 2015 年 3 月 9 日去世了。謹以此回答紀念他。

後記:在 2017 年於 Akko 舉行的以色列數學大會上,有幸遇到了文中描述證明的發現者 Alexei Kanel。這篇文章 Taking on triangles: in search of answers between the lines 中詳細描述了發現這個證明的過程。


看了很多答案,居然沒有人提大名鼎鼎的網頁排序,以難易程度和價值大小來衡量,這大概是線性代數「性價比」極高的一個應用了吧,首答獻給它。

知乎上有很多關於網頁排序演算法的專業評論,有興趣的朋友可以移步查閱,我主要從線性代數的角度加以解釋。

先來玩一個幼兒園的小朋友們都可以參與的小遊戲,老師給三位小朋友小紅、小明和小文各發了6個糖果,為了培養他們的分享精神,要求他們將自己手中的糖果分給其餘的兩位小朋友。

小紅喜歡小明很久了,她毫不猶豫地就把自己的6個糖果全部給了小明;小明對小紅和小文都不討厭,但似乎更偏向小文,他把自己的6個糖果分成了兩份,2個給了小紅,4個給了小文;小文則是個中立派,她覺得小紅和小明都是自己的好朋友,沒道理不平均分配,於是兩人各給3個。在這一輪分糖果的遊戲結束之後,小紅手中的糖果數變成5個,小明9個,而小文只剩下了4個。

這時候老師突發奇想,如果讓這三位小朋友按照剛才的原則再分一輪、再分兩輪……一直分到第n輪,結果會是怎樣?

現在,「線性代數」君可以登場了,假設小紅在第n輪分發後持有的糖果數為x_n ,小明為y_n ,小文為z_n ,那麼

這玩意兒的學名叫作「線性變換」,寫成矩陣的形式就是

若記係數矩陣和未知數向量為

我們就得到了一個遞推關係

P_{n+1}=Acdot P_n

因此,老師若是想知道n輪過後的情況,只需要計算A^n,因為P_n=A^n cdot P_0

鑒於三位小朋友在最初確定分糖果原則的時候沒有互相商量,全憑個人喜好,所以這個遊戲能持續多久是不好說的(可能幾輪之後老師就已經瘋了,因為分數矩陣的乘法真的很難算,糖果也不好切),但我驚奇地發現(偷偷用計算器算的)60多輪之後A的冪次就已經趨於穩定了,此後不管你再進行多少輪,三位小朋友手中的糖果數都不會發生大的改變,小紅和小文的糖果數一樣,大約5個,小明多一點,大概8個。

數學上,這種狀態稱為「收斂」,最後的結果叫作「極限」,用符號來表示就是

lim_{n	o infty}P_n =P

很明顯,這與A^n 的收斂性有關,要是矩陣A 取得不好,大家是很有可能玩到精神分裂的。

好的,現在我們可以轉向網頁排序了。網頁排序問題源於搜索結果的篩選,現在的互聯網那麼大,包含同一個搜索信息的網頁很可能達到上億的量級,如何把用戶最想要的網頁優先呈現呢?

在知乎里,這個問題好解決,因為「問題」有關注數,「回答」有點贊數和評論數,那些指標越高的問題和答案就越有可能是知友們感興趣的,優先推薦它們就可以了。但在互聯網上,這個辦法行不通,我們不能要求每個用戶在瀏覽一個網頁之後都給這個網頁評分,就算能這樣要求,這個評分也是實時變動的,你得不停地對網頁順序進行重排,很不經濟。

那麼,用關鍵詞在網頁中出現的次數作為重要性的指標如何?

聽起來很有道理,關鍵詞出現的次數越多就越是意味著這個網頁與搜索信息高度相關,但實際操作起來,這種排法很容易崩潰,因為你將面對大量的「流氓網頁」。比如,若你某天對「皮革」的相關信息產生了興趣,到網上搜了一下,結果排在前面的很有可能是下面的內容

「江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!江南皮革廠倒閉了!……」

所以這條路也不行。

終於,有人想到了一個只依賴互聯網本身架構的辦法,用鏈接到一個網頁的網頁數量來衡量一個網頁的重要性,這個靈感藉助了科研工作中的引用評價體系,一篇文章被他引的次數越多,這篇文章的評價就應該越高。接受了這一點,你甚至可以要求排名越高的網頁在鏈接到其它網頁時佔有更高的評價權重,比方說我的回答被某個高票答案引用了,自然說明我的回答也很有價值。

這種想法看起來有些複雜,但在數學上卻很好實現,跟上面幼兒園小朋友們玩的分糖果遊戲是一樣的!

假設我們把互聯網上所有網頁的排序指標寫成一個列向量

其中,x_i^{(n)} 代表了網民朋友們第n次到互聯網上閑逛時瀏覽到第i個網頁(記為w_i )的概率,N 是互聯網上的網頁總數。很明顯,被瀏覽到的概率越大的網頁在搜索結果中的排序應該越靠前。

現在,我們做一個重要的假設:若被網頁w_i 所鏈接的網頁數有N_i 個,則網友們瀏覽到w_i 時,將以1/N_i 的平均概率點擊這些鏈接,跳轉到一個新的網頁。雖然每個人在點擊鏈接時都有自己的選擇偏好,但基於海量行為的模擬,平均概率的假設是很靠譜的。接下來,我們構造一個矩陣H,它的元素按如下的方式定義:若網頁w_j有一個鏈接指向w_i,則H_{ij}=1/N_j ;否則H_{ij}=0

接著,我們定義一個遞推關係

P_{n+1}=Hcdot P_n

也即P_{n+1}中的元素計算公式為

x_i^{(n+1)}=sum_{j=1}^N H_{ij}cdot x_j^{(n)}

這說明網頁w_jx_i^{(n+1)} 所作的貢獻正比於x_j^{(n)} 的值,完美符合我們一開始設定的原則。

如同小朋友們分糖果那樣,隨著n的增大,倘若H^n 能夠收斂到一個確定的矩陣,那就意味著互聯網上的廣大網友們手牽手、肩並肩地創造了一個和諧穩定的新局面,每個網頁被瀏覽到的概率都被固定下來了,可以拿來作為網頁排序的依據,並且它只依賴於網頁之間的關係,能夠事先計算好結果並儲存在伺服器中,終端搜索時隨搜隨用,大大節省了搜索時間。

這就是著名網頁排序演算法「PageRank」的核心思想,它真的只用到了矩陣乘法哦,而它的發明人拉里·佩奇(恰好就叫「Page」)和謝爾蓋·布林憑藉此項演算法創辦了Google,徹底顛覆了整個互聯網搜索引擎類產品的製造方法。

(註:圖片來自網路)

當然,上面的「核心思想」未必很好地模擬了現實情況,因為它假設的原則有些瑕疵。

首先,當你遇到一個沒有給出任何鏈接的網頁時,按照規則你應該立刻關上電腦,結束瀏覽,因為這種網頁就像一個「黑洞」,吸進去你就走不出來了;其次,人們未必會按照佩奇和布林的想法乖乖地點擊網頁上的某個鏈接,而是很有可能漫無目的地打開一個新的頁面,此時上面給出的演算法並不能覆蓋這種情況。更要命的是H^n本身還不一定收斂呢,倘若它不收斂,整個「PageRank」就將前功盡棄。

為了解決這些問題,佩奇和布林對他們的演算法進行了修改,當人們遇到「黑洞」網頁時,他們假設人們會繼續瀏覽,並以1/N的平均概率點開互聯網上某一個新的網頁,這相當於將H中元素全為0的列換成元素全為1/N。同時,令G為元素全為1/NN階矩陣,alpha為一個小於1的正數,他們用矩陣

(1-alpha)cdot H+alphacdot G

去代替H。這樣做的意義是當人們停留在某一個網頁時,他有alpha的概率不點擊鏈接,而是以1/N 的平均概率點開一個新的網頁。如此一來,H就變成了一個元素均為正數的隨機矩陣(每列元素之和為1), 馬爾可夫理論能夠證明此時H^n是收斂的。

現在,「PageRank」真正可行了,它的門檻看上去是很低的,只要懂矩陣乘法就可以進行計算了,但這並不意味著搜索產品人人都能去做,海量數據的存儲和處理能力,排序演算法的收斂速度等構成了搜索產品的技術壁壘。像上面出現的因子alpha就是一個決定了收斂速度的重要參數,它的選取可是一個技術活,最終要回到對人類網路行為的深入研究,某些公司決定這些參數的方式是大數據+機器學習,另一些公司則是大數據+領導拍腦門兒,呵呵,雖然這看上去很像一個笑話,但人類經驗在某些時候確實比人工智慧更加有效。

以上。


不要攔我,這個問題我要回答!

機器人裡面到處都是線性代數。我隨便舉兩個例子:

  • 運動學正解

運動學正解是機器人裡面最基本的內容了。簡單地說就是根據每個關節角度,算出機械臂末端(手爪)在世界坐標系下的坐標。

這麼多關節,每個都會動,想想都好麻煩呀。

幸好後來有大神提出了一個叫做 D-H 矩陣的東西,簡單地說就是用4×4矩陣描述相鄰連桿之間的相對位置關係。

^{i-1}_iT 表示從第 i 根連桿在 i-1 連桿坐標系下的位置。

那麼,n 串聯自由度機械臂末端的位置就變成了:

^{0}_{n}T=^{0}_1Tcdot ^{1}_2Tcdot...cdot ^{n-1}_nT

So easy!

  • 零空間

求解運動學正解那個只是簡單利用矩陣描述空間變化而已,在這裡,我將介紹線性代數的零空間在機械臂上的應用範例。

因為有一些機械臂做成了7自由度(或者更多),這類機器人叫做冗餘機械臂。簡單理解就是一個末端位姿,可以有無窮多組關節角度與之對應(多解)。

但是,如何描述這組解呢?


首先,機械臂末端速度跟關節速度存在以下關係:

dot{x}=Jdot{q}

(其中dot{x}為末端速度, J 為雅克比矩陣,dot{q}為關節速度)

其次,回憶線性代數的內容,我們有像空間、零空間的概念。

零空間的向量與該矩陣相乘,結果為零,即Jcdot q_{null}=0

所以,上式又可以寫成:

dot{x}=Jcdot (dot{q}+dot{q}_{null})

正是 q_{null} 的加入,造成了多解的存在。

放在實際機器人上的效果大概如下圖所示:

機器人 7 個關節同時都在運動,但末端保持不動。

視頻可以看這裡:兩種末端控制策略 - 騰訊視頻 (26秒後開始)


理論物理專業,線性代數非常有用。原因是因為線性代數的含義已經超出了最開始引入它的時候解決多元線性方程組的意義而是上升到 線性空間中矢量之間的變換了。
應用太多,舉量子力學的例子吧,量子力學是研究在復矢量空間中的態矢量的,所以線性代數一定是其中的基礎。雖然泛函分析是量子力學背後的數學原理,好多東西(比如連續譜引入的delta函數,波動力學和矩陣力學的等價)等只有通過這些才可以說的清楚。但是學的時候基本上天天用的也就是線性代數學的那點東西,沒人從泛函開始學習量子。
比如
1. 求解本徵值是量子力學的一個核心的問題,用到線性代數的解本徵值理論。
2.對於簡併時力學量完全集的選取(就是通過算符的對易性將簡併分離),這裡也只有用線性子空間的概念才可以理解的更徹底。
3 量子力學測量過程中,用到的就是態矢量在一組基底下面的展開形式。
其實,量子力學最重要兩個東西,線性算符就是複數域的矩陣,態矢量就是複數域的矢量,矩陣作用於態矢量把一個變成另一個,就是量子力學所要表達的動力學過程。所以人們比較熟悉的波函數反而是派生地位的,更何況波函數組成的也是一個線性空間(see 傅立葉級數和泰勒級數,就是函數在基底的展開)

最後提一句,跡和行列式是兩個在相似變換下的不變數,相似變換的概念線性代數中有強調吧。所以有諸多的用處。比如高級一些的wilson loop。同時線性代數在熱力學(二次型與平衡條件,昂薩格關係等),理論力學(求解慣量橢球的主軸)等處應用不多提了。有矢量,張量的地方,就有線性代數的影子。


我做圖形的。打交道最多的向量、矩陣、張量、四元數、線性變換、特徵值,全是線性代數的事情。


數學專業

現在還在搞generalized linear algebra。

這句算自黑么……

碩士期間搞明白了一個東西,叫做topology of grassmannian of complex vector spaces. 另一個名字叫Bott periodicity。

搞和代數有關的任何問題,如果不是有限群的話,都脫離不了某種意義的線性代數吧。以下瞎說:交換代數算是環上的線性代數。

而經典的同調代數呢?在線性代數中,kernel和cokernel都一定是線性空間,但是你把線性空間換成Z(或者其他的環)之後就不對了。比如我們可以考慮

0
ightarrow Z 	o Z 	o Z/2 	o 0

第一個非零的映射是*2, 第二個是quotient map。 可以看出來最後Z/2正好是前一個映射的cokernel,而第一個Z正好是Z到Z/2的映射的kernel。

於是現在就有點複雜了,換成環之後kernel和cokernel可能不再是Z的直和了(或者叫free Z-module)。然後研究上面的各種functor啊Ext啊Tor啊之類的各種性質。不能再說了不然我就露怯了。

現在thesis大概在算某個homotopy, 本質上就是拿幾個Z[G]-module,然後算它們的各種同調代數的性質和幾何實現。所以你說這算不算搞線性代數?好像也沒什麼問題。

代數拓撲裡面,很多時候我們處理的主要對象spectral sequence都能寫成多項式的形式(如果用的homology theory足夠好的話),而且為了方便起見,都是在Z/p(p是素數)上算的,每個term都是一個Z/p,所以你說這算不算線性代數吧……如果說不算我是不服的……

對一個環,我們可以像上面一樣討論很多的和線性代數的類似內容,但是如果把環換成某一類別的東西的話,一般來說也可以做類似的討論,那麼更進一步的討論,又算不算廣義的線性代數呢?好像也沒什麼問題。

正好想起了以前看過的 @方恪身 的下面這個答案,就用來作為結尾吧。

歐美和前蘇聯在數學教學的風格、體系上有何不同?後者給我們學習數學設立了高門檻嗎? - 知乎用戶的回答 - 知乎

如果說數學以外的應用,我能說我這學期旁聽了Machine learning, data mining, bayesian data analysis發現毫無壓力因為裡面幾乎全是線性代數么……


------注意 後面有多圖---------
線性代數可是這個世界的統治者之一。只有學習並抓住了他的big Picture之後你就會發現,線性代數無處不在。
例如你計算一個平行六面體的體積,知道3個基向量,一個行列式就搞定。同理平行四邊形的面積。
最小二乘法,一個投影矩陣也可以搞定。
Direct Coordinate和Cartisan坐標的相互轉化,知道3個基向量,解個Ax=b一步就出來了。
我曾經寫過一個模型裡面,要對多個基元反應方程式進行配平,把反應物和產物的化學計量數分寫成一個矩陣,把中間體的化學計量數放入一個矩陣,然後求解出中間體矩陣的null space的基,然後再左乘反應物產物的矩陣,配平係數就出來了,具體方法可見我的博客
PARSER中的反應方程式配平

如果你接觸過量子力學,那就會發現,那裡的世界充斥的線性代數。所有的態都是向量,可觀測量對應一個Hermitian Matrix,Hermitian Matrix的特徵向量就是本徵態,特徵值就是可觀測量的測量時候得到的本徵值,波函數就是態投影到基向量上的係數。。。等等等等

用好線性代數,感覺人生是有捷徑的了哈哈
順便貼上Gilbert Strang在公開課上提到化學時候的截圖:


線性代數在物理學中被大量使用,其中在量子力學的矩陣力學描述、量子統計力學、密度泛函理論和分子動力學模擬中有著相當重要的作用。

1. 矩陣力學

矩陣力學是量子力學其中一種的表述形式,它是由海森堡、波恩和約爾丹(P. Jordan)於1925年完成的。矩陣力學的思想出發點是針對波爾模型中許多觀點,諸如電子的軌道、頻率等,都不是可以直接觀察的。反之,在實驗中經常接觸到的是光譜線的頻率、強度、偏極化,與及能級。海森堡計劃創造一個理論,只是用光譜線的頻率、強度、偏極化等觀念。

量子力學的三個基本要素是波函數、算符和薛定諤方程。在量子力學中,將坐標表象下的表示稱為波動力學方法,把任意力學量表象下的表示稱為矩陣力學方法。在量子力學的歷史上,上述兩種表示方法幾乎是同時發展起來的,後來,狄拉克證明了它們是等價的。 很顯然,矩陣力學的發展對求解量子力學問題提供了一套非常有效的方法。

力學量算符的矩陣表示

量子力學公式的矩陣表示

2. 量子統計力學

量子統計力學是利用量子理論對經典統計力學的一次修飾。我們知道在經典統計物理中,我們知道系統的配分函數就可以得到我們想要系統的宏觀物理量。對一個系統而言,宏觀客觀測量等於系統平均,這樣,我們就能夠將系統微觀量與宏觀量建立起聯繫。為此,在量子統計中,我們引入了密度矩陣。

關於密度矩陣的部分介紹請見統計力學6--密度矩陣1 - 知乎專欄。

這裡的密度矩陣以及出現在量子統計力學中的各種算符都與線性代數有很多關係。

3. 密度泛函理論(量子力學方法)

密度泛函理論是一種研究多電子體系電子結構的量子力學方法。密度泛函理論在物理和化學上都有廣泛的應用,特別是用來研究分子和凝聚態的性質,是凝聚態物理計算材料學和計算化學領域最常用的方法之一。

第一原理的基本思想:

將多原子構成的體系理解為由電子和原子核組成的多粒子系統,在解體系Schr?dinger方程的過程中,最大限度地進行「非經驗性」處理,即不涉及任何經驗參數,所要輸入的只是原子的核電荷數和一些模擬環境參量。

計算所求得的結果是體系Schr?dinger方程的本徵值和本徵函數(波函數),有了這兩項結果,就可研究體系的基本物理性質。

這個問題就是需要我們去計算N粒子體系的Schr?dinger Eq,可以將其從偏微分方程轉換為線性方程。當然對於這個計算,我們只能用數值解法。

看一看Hartree-Fock近似

4. 分子動力學模擬

分子動力學模擬方法是基於統計力學理論構建。假定每一個粒子服從牛頓或者哈密頓力學,這樣,我們就可以為每一個粒子建立動力學方程。構建完動力學方程後,理論上我們就可以跟蹤每一個粒子,進而確定每一個粒子的微觀狀態以及相軌跡。然後根據微觀狀態求解平均值,就可以得到系統的宏觀可觀測量。

這個過程也是在求解N維的方程組,自然在編程過程中你需要懂得數值計算,而數值計算是以線性代數為基礎的。


數學專業,目前傾向代數。

最近一年裡學的模論和表示論幾乎都是線性代數,交換代數和非交換代數里線性代數也佔了不小的比重。

這是不是抖機靈啊,哈哈。


通信專業中,數學是基礎,而線性代數更是奠基石一般的存在。甚至有時候給我一種感覺,線性代數就是為了通信學科而生的。

下面我來介紹一個典型的應用實例。

多輸入多輸出(Multi-input Multi-output)是一種利用發射端的多個天線各自獨立發送信號,同時在接收端用多個天線接收並恢復原信息的技術。該技術最早由馬可尼提出,可以用於應對信道衰落。

如上圖所示的MIMO系統,發送端信號X和接收端信號Y有如下關係:
[left[ {egin{array}{*{20}{c}}
{{y_1}}\
{{y_2}}\
{{y_3}}
end{array}} 
ight] = left[ {egin{array}{*{20}{c}}
{{h_{11}}}{{h_{21}}}{{h_{31}}}\
{{h_{12}}}{{h_{22}}}{{h_{32}}}\
{{h_{13}}}{{h_{23}}}{{h_{33}}}
end{array}} 
ight]left[ {egin{array}{*{20}{c}}
{{x_1}}\
{{x_2}}\
{{x_3}}
end{array}} 
ight]]
簡寫為:
Y=HX
每項分開來寫便是:
y_1=h_{11}x_1+h_{21}x_2+h_{31}x_3
y_2=h_{12}x_1+h_{22}x_2+h_{32}x_3
y_3=h_{13}x_1+h_{23}x_2+h_{33}x_3

我們會發現,任意接收機的信號中,都包含了3個發送端的信號,這樣顯然處理起來會很麻煩。而如果信道增益矩陣H
具有對角陣的形式,即
[H = left[ {egin{array}{*{20}{c}}
{{h_{11}}}00\
0{{h_{22}}}0\
00{{h_{33}}}
end{array}} 
ight]]

那麼接收信號便成為:
y_1=h_{11}x_1
y_2=h_{22}x_2
y_3=h_{33}x_3

此時,雖然使用同一條信道,但接收端接收到的僅有對應發送端的信號,沒有被其他信號「污染」,彷彿各自通過了一條「透明」的子信道到達接收端,兩者之間也沒有任何干擾。

然而信道增益矩陣H具有對角陣的形式是可遇而不可求的,其中的每個元素都是按照一定的統計特性,隨機分布的。

然而,通過線性代數知識,科學家將不可能變成了可能——SVD分解(SingularValue Decomposition),即矩陣奇異值分解。
[H{
m{ = }}left[ {egin{array}{*{20}{c}}
{{u_{11}}}{{u_{21}}}{{u_{31}}}\
{{u_{12}}}{{u_{22}}}{{u_{32}}}\
{{u_{13}}}{{u_{23}}}{{u_{33}}}
end{array}} 
ight]left[ {egin{array}{*{20}{c}}
{{s_1}}00\
0{{s_2}}0\
00{{s_3}}
end{array}} 
ight]left[ {egin{array}{*{20}{c}}
{{v_{11}}}{{v_{21}}}{{v_{31}}}\
{{v_{12}}}{{v_{22}}}{{v_{32}}}\
{{v_{13}}}{{v_{23}}}{{v_{33}}}
end{array}} 
ight] = USV]

可見,通過對信道增益矩陣H進行SVD分解後,我們得到三個矩陣:

  • 左酉陣U
  • 對角矩陣S(對角陣S中的元素是H矩陣的奇異值)
  • 右酉陣V

此時,我們期望的對角矩陣S已經出現了,不過隨之而來的還有左酉陣U和右酉陣V

於是,進一步利用線性代數原理,我們發現酉陣有一個特殊性質:酉陣與自己的共軛轉置相乘為單位對角矩陣I,即
[U{U^*} = {U^*}U = I][V{V^*} = {V^*}V = I]

而單位對角矩陣與任何矩陣相乘,仍然為該矩陣本身。那麼問題便迎刃而解了。


首先,接收端信號公式可以重新寫為:

[Y = HX = USVX]

在工程中,我們可以對發送端信號進行預編碼,X_0代表需要發送的信號,預編碼後為:
X=V^*X_0

然後,代入接收端信號公式,有
Y = HX = USVV^*X_0=USX_0

那麼在接收端進行解碼時,只要對接收端信號乘以U^*,即

U^*Y= U^*USX_0 = SX_0

這樣,便等同於發送的信號X_0,經過對角信道增益矩陣S,到達接收端,且不同天線之間的信號相互獨立,互不干擾。然後天線還是那些天線,信道也還是那條信道,沒有增加額外的資源開銷,卻大大簡化了解碼過程。


這便是線性代數的一個很神奇的應用實例。


這是一本有限元教材上的話。


作為計算機小菜,說幾個自己曾經用過線代的地方吧。

  • oj題目中遞推式是常數係數時,例如fibonacci,用矩陣乘來實現快速冪加速。
  • 圖像處理時,用矩陣乘法來實現旋轉、放大、平移等一系列操作。
  • 壓縮演算法中,用svd實現減少空間時同時保留大部分的信息。
  • 篩數據的時候,用PCA減少噪音的影響(跟svd類似)。

在每個階段,對於線代的理解都是不同的。越學下去,這個東西就愈發的好玩。


matlab哪都離不開。
而它的中文名是:矩陣實驗室。


陣列信號處理
多維統計
network science
矩陣以及張量分解

##################
廣告業的一個核心任務是根據用戶瀏覽記錄猜到用戶喜歡什麼產品。

讓我們想像一個推薦系統,有一百個產品,一萬個用戶,每個用戶只買過寥寥若干個產品。我們可以把產品和用戶的關係用一個一萬乘一百的零一矩陣(矩陣元素只能是零或者一)來表示,第39行第2列等於一,意思是39號用戶買了2號產品。如果i行j列為零,那就是i號用戶沒買j號產品。現在的問題是,我怎麼根據39號用戶的購買歷史,給她推薦一個她喜歡的產品?

39號用戶沒買3號產品,並不代表她不喜歡3號產品,我上一段描述的矩陣,其實用一個「買了」標註為一,「沒買」標註為unkonwn的矩陣更為合適。那我們的第二個問題是,如何根據這些已知的一,推斷這些unknown entry的value?為了簡化問題,我們規定這個value必須是非零即一。

您看到這,要是還有好奇心,那就別上知乎了,直接去搜索matrix completion;如果您還有興趣聽我吹牛逼,那我下來簡單說說解決方案。

我略去問題分析和建模這一步,直接說解法的某一種。一種解決方案是把用戶-產品矩陣理解成一個根據某個概率矩陣生成的Bernoulli隨機變數,然後估計那個概率矩陣,然後我們可以假設那個概率矩陣的rank比較小,敲黑板誒,想起來什麼是秩了么?基於此,概率矩陣可以寫成一個瘦矩陣和一個胖矩陣的乘積。於是我們可以通過估計這一胖一瘦得到有很多unknown的概率矩陣的估計值。然後我們根據這個估計值,就可以推薦產品給用戶啦。

2007年netflix懸賞一百萬美元尋找準確率最高的推薦系統。在他們的問題里,最後的百萬贏家給出的方案是基於矩陣的低秩分解。

求知乎大神輕拍,一百萬就是花街一年total compensation,就是sanpchat給fresh的股票。都這麼橫,那我也只能貝葉斯懵逼,我覺得一百萬好多好多。

下說評論唄。

我不愛寫解法,是因為解法一般沒人看,也不需要看,搞技術的人不會來知乎學技術。對商業理解透徹的人,會給你一個問題,然後問你你怎麼證明你的方案是他的問題的一個好答案?(需要你在建模前先想好驗證的方案)客戶不會管你怎麼做。作為工程師的我,總不能給客戶,給領導上黑板寫公式吧。。。

我答題扯遠了,我就想說我自己做model的時候,線性代數,概率論比散度旋度測度微分方程常見的多。

題主我跟您說,我覺得矩陣乘法,特徵值分解這兩個概念挺實用的,推薦你好好看看。


生化啊,哈哈哈。高中數學都用不上的。我用到的最複雜的數學和邏輯就是"欲配50mM Tris 200 mL,pH 8.0, Tris 分子量121.14 g/mol, 問加多少Tris?"


然而因為我連這都懶得算,所以配好1M的放在那裡,稀釋20倍就行了,其他濃度也照著稀釋。從化學角度講,溶液稀釋20倍後pH肯定會變化,但生物都是粗活,不管這個。


我學圖論的 一張圖對應一個矩陣 於是就有了代數圖論


大一在北大的時候我學了一遍線性代數

大二在港科學量子力學的時候感覺自己又學了一遍線性代數

大三自學高等量子力學的時候感覺自己又學了一遍線性代數

研究生在巴黎高師學量子場論的時候感覺自己又學了一遍線性代數(+格林函數)

大概就是這麼個情況,感覺學物理的話一輩子都逃不開線性代數了。所以我乾脆在自己辦的網路大學上講線性代數了。


控制專業,線代是基礎中的基礎,從建模到分析到求解到應用,線代都(幾乎)是必須經手的工具。

因為你想,描述世界最常用的工具是什麼?方程啊!用(初中)代數方程描述?尼瑪這也太簡單了吧,很多現象搞不定啊!所以最起碼得有微分才夠吧?但一般的微分方程又是很困難的一個門類,能不能再加點約束、我們先研究其中稍簡單些、最基本的啊?那就是線性微分方程了。你把幾個合到一起構成線性微分方程組,這就足夠描述超多現象了,但同時又有足夠的深度夠科學家挖掘。線性微分方程組用多了,寫起來超麻煩超煩啊!後來線性代數和矩陣出來了,成了人民的大救星。過去幾行十幾行的方程組,現在一句x"=Ax+Bu全搞定了,無論是寫起來還是分析起來都極大便捷。於是這事就這麼定下來了。《現代控制理論》幾百頁的教材,一言以蔽之就是在搞x"=Ax+Bu這種方程。


向量、矩陣這些玩意一看就很基本,根據常識,越基本的東西越有用

一般不會有人問「數字有什麼用」、「變數有什麼用」吧?這兩個東西太基本了。向量和矩陣也只比它們複雜一點點,只是把一行變數或者一坨變數放在一起罷了。

一張圖片,其實就是像素點構成的一個矩陣。圖像處理,那當然要用到線性代數了。
一坨數據,也可以表示成一個矩陣。維數太多處理起來太麻煩,怎麼辦?主成分分析降維啊!這裡就要用到線性代數里的特徵值。

想知道具體的例子,可以看看下面這個回答:
奇異值的物理意義是什麼? - 知乎用戶的回答


以前也是認為線性代數除考研外,沒大用。直到偶然遇到個電路分析問題竟然用到矩陣對角化才改觀。


推薦閱讀:

有哪些表述很短但你覺得很難懂的數學公式?
如何直觀地理解群論?
既然數學知識是全球共有的知識,為什麼中國還要搞數學研究?
如何評價「中國奧數和競賽培養不出數學家」的觀點?
函數連續和一致連續有什麼區別?開區間上的連續函數不一定是一致連續的,為什麼?

TAG:數學 | 微積分 | 線性代數 | 高等數學 | 高等數學大學課程 |