【數(shù)學(xué)史】矩陣和線性代數(shù)原來是這么來的
1大事記
公元前 200 年: 中國漢代,《九章算術(shù)》求解三元一次方程組 1545 年意大利數(shù)學(xué)家卡爾達(dá)諾(Girolamo Cardano)提出 矩陣的克萊姆法則 1683 年日本數(shù)學(xué)家關(guān)孝和(Seki)和 1693 年德國數(shù)學(xué)家萊布尼茨(Leibnitz)獨(dú)立發(fā)現(xiàn)行列式 1750 年克萊姆(Cramer)提出使用行列式求解線性方程組的克萊姆法則 1772 年法國數(shù)學(xué)家拉普拉斯(Pierre-Simon Laplace)發(fā)現(xiàn)行列式的拉普拉斯展開 1812 年法國數(shù)學(xué)家柯西(Augustin Louis Cauchy)和法國數(shù)學(xué)家比內(nèi)(Jacques Philippe Marie Binet)分別發(fā)現(xiàn)了柯西–比內(nèi)公式: 1844 年德國數(shù)學(xué)家格拉斯曼(Grassman),提出 n 維歐幾里得空間以及 n 維幾何 1850 年英國數(shù)學(xué)家西爾維斯特(Sylvester)首次使用 Matrix一詞1858 年英國數(shù)學(xué)家阿瑟·凱萊(Arthur Cayley)提出矩陣代數(shù) 1888 年意大利數(shù)學(xué)家皮亞諾(Giuseppe Peano)提出抽象向量空間的公理
以上摘自此篇[1]。
2線性方程組
邏輯上,矩陣的概念先于行列式,但在實(shí)際歷史上卻恰好相反。矩陣的概念以及線性代數(shù)的引入和發(fā)展是隨著行列式的發(fā)展而來的,而行列式的產(chǎn)生源于對線性方程組系數(shù)的研究。
中國漢代九章算術(shù)中記錄的三元一次聯(lián)立方程組的求解方法是真實(shí)存在的,并不是后人杜撰的。很多老外寫的書籍和教材里也都有提及,有些甚至認(rèn)為高斯就是因?yàn)榇罅渴褂猛茝V該方法而得名。比如,美國 NCSU 數(shù)學(xué)教授 Carl D. Meyer 寫的書里開篇就是它,
The earliest recorded analysis of simultaneous equations is found in the ancient Chinese book Chiu-chang Suan-shu (Nine Chapters on Arithmetic), estimated to have been written some time around 200 B.C. ... Their counting board techniques and rules of thumb found their way to Japan and eventually appeared in Europe with the colored rods having been replaced by numerals and the counting board replaced by pen and paper. In Europe, the technique became known as Gaussian elimination in honor of the German mathematician Carl Gauss, whose extensive use of it popularized the method.
該方法的具體細(xì)節(jié)可以參考這篇[2],至于它在之后一千多年時(shí)間里是如何影響世界各地?cái)?shù)學(xué)的發(fā)展就有待考證了。但至少有一點(diǎn)可以肯定,我們自己并沒有很好地傳承和發(fā)揚(yáng)光大,算法的提出者連名字都沒有留下,更不及諸子百家那般婦孺皆知的待遇,各種緣由值得深思。
不過,這類問題的計(jì)算與實(shí)際的社會(huì)需求往往有著必然聯(lián)系,超越時(shí)代需求的理論沒有得到重視應(yīng)該也不是偶然。這里我們提到它除了它應(yīng)有的歷史地位外,也是表達(dá)一種遺憾。
而現(xiàn)在一般認(rèn)為,高斯(Gauss)在 1800 年左右發(fā)展了高斯消元法,并用它解決了天體計(jì)算中的最小二乘問題,后來又應(yīng)用于大地測量學(xué)(應(yīng)用數(shù)學(xué)的分支,涉及測量或確定地球的形狀或在地球上精確定位等)。雖然高斯的名字與這種從線性方程組中逐次消去變量的方法綁在一起了,但發(fā)現(xiàn)在幾個(gè)世紀(jì)前的中國手稿(即《九章算術(shù)》)中就有了用類似這種高斯消元法求解一個(gè)三元一次方程組的方法。而高斯所處的正是地理、天文數(shù)據(jù)大量涌現(xiàn)的時(shí)代,急需相應(yīng)的計(jì)算技術(shù)。
多年來,高斯消元法一直被認(rèn)為是由大地測量學(xué)發(fā)展出來的技術(shù)。高斯-若爾當(dāng)消元法的首次出現(xiàn)是在威廉·若爾當(dāng)(Wilhelm Jordan)撰寫的關(guān)于大地測量學(xué)的手冊中。很多人誤認(rèn)為高斯-若爾當(dāng)消元法中的若爾當(dāng)是著名數(shù)學(xué)家卡米爾·若爾當(dāng)(Camille Jordan)。
這個(gè)階段,矩陣雖然若隱若現(xiàn)了,但是不把它單獨(dú)提取出來也沒關(guān)系。即便像大數(shù)學(xué)家高斯也沒有一眼就發(fā)現(xiàn)矩陣這個(gè)概念,因?yàn)樗鼘οú⒉皇潜匦璧摹?/p>
3行列式
研究線性方程組求解的另一路人馬,引出了行列式。
接下來出場了是日本數(shù)學(xué)家關(guān)孝和,他于 1683 年與微積分的發(fā)現(xiàn)者之一萊布尼茨于 1693 年近乎同時(shí)獨(dú)立地建立了行列式理論。其后行列式作為解線性方程組的工具逐步發(fā)展。1750 年,加布里爾·克萊姆(Gabriel Cramer)發(fā)現(xiàn)了克萊姆法則。我們來看一個(gè)

形式簡潔漂亮,就是復(fù)雜度高,未知量個(gè)數(shù)一大就耗計(jì)算。因此實(shí)際計(jì)算中不如消元法。
4矩陣呼之欲出
矩陣的首次隱式使用發(fā)生在 1700 年代后期拉格朗日(Lagrange)研究雙線性形式的時(shí)候。Lagrange 希望表征多元函數(shù)的最大值和最小值。他的方法現(xiàn)在被稱為拉格朗日乘數(shù)法。為此,他首先要求一階偏導(dǎo)數(shù)為 0,另外還要求關(guān)于二階偏導(dǎo)數(shù)矩陣的一個(gè)條件成立。今天,這種情況稱為正定性或負(fù)定性,但是,拉格朗日并沒有明確使用矩陣這個(gè)概念。
進(jìn)入十九世紀(jì)后,行列式的研究進(jìn)一步發(fā)展,矩陣的概念也應(yīng)運(yùn)而生。
法國數(shù)學(xué)家柯西(Augustin Louis Cauchy)是最早將行列式排成方陣并將其元素用雙重下標(biāo)表示的數(shù)學(xué)家。他還在 1829 年就在行列式的框架中證明了用現(xiàn)在的話說是實(shí)對稱矩陣的特征根為實(shí)數(shù)這個(gè)結(jié)論。
這個(gè)階段,矩陣更加呼之欲出了,但是不把它單獨(dú)提取出來仍然是沒關(guān)系。
5矩陣的正式出場
為了使矩陣代數(shù)有效地發(fā)展,既需要正確的符號(hào)又需要正確的矩陣乘法定義。幾乎同時(shí)在同一地點(diǎn)滿足了這兩個(gè)需求。1848 年在英格蘭西爾維斯特(Sylvester)首先引入了矩陣(Matrix)一詞,指代一組數(shù)字,這詞源自拉丁語子宮。
在他希望引用數(shù)的矩形陣列而又不能用行列式來形容的時(shí)候,就用 Matrix 一詞來形容。西爾維斯特使用 Matrix 一詞是因?yàn)樗M懻撔辛惺降淖邮?,即將矩陣的某幾行和某幾列的共同元素取出來排成的矩陣的行列式,所以?shí)際上 Matrix 被他看做是生成各種子式的母體。這應(yīng)該就是經(jīng)典電影《黑客帝國》的英文名《The Matrix》的來歷,有直接翻譯成《母體》。
阿瑟·凱萊(Arthur Cayley)被公認(rèn)為矩陣論的奠基人。他開始將矩陣作為獨(dú)立的數(shù)學(xué)對象研究時(shí),許多與矩陣有關(guān)的性質(zhì)已經(jīng)在行列式的研究中被發(fā)現(xiàn)了。但是對矩陣進(jìn)行系統(tǒng)性研究,即矩陣代數(shù)是在 1855 年由凱萊的研究工作發(fā)展而成。凱萊研究了線性變換的復(fù)合,并定義了矩陣乘法,以便復(fù)合變換的系數(shù)矩陣
我們來重溫一下矩陣的誕生過程,順便復(fù)古一把,看看凱萊當(dāng)時(shí)對矩陣和線性變換的寫法。首先,一個(gè)

一個(gè)數(shù)字陣列,它由一個(gè)線性方程組的系數(shù)組成,

凱萊說: 矩陣的概念就是為了簡寫一個(gè)線性方程組自然而然引出的。上面的線性方程組用矩陣改寫就變?yōu)椋?/p>
其實(shí)這個(gè)自然而然也許并不是顯然的,因?yàn)闅v史上很多大數(shù)學(xué)家也沒這么做。這么做也沒提出新理論或者證明什么定理,但是好像又很重要,冥冥之中開啟了一個(gè)新生命。因?yàn)樵瓉硎欠稚㈤_的數(shù)字,個(gè)個(gè)都顯得微不足道,但是提出來放在一起,就變成一個(gè)團(tuán)隊(duì),可以作用別的數(shù)字,而且這種作用可以復(fù)合。似乎會(huì)有一些名堂可以研究,因此有必要把它單獨(dú)提取出來并給它取個(gè)名字。
凱萊說: 可以看出,將矩陣視為單個(gè)量,可以相加、相乘或復(fù)合,當(dāng)然僅限相同階數(shù)的矩陣(比如都是 3×3 矩陣)。相加、相乘我們不提了,來看看矩陣的復(fù)合是咋回事。
他將如下 3 個(gè)線性函數(shù),

改用矩陣語言來寫,

上面 3 個(gè)函數(shù)其實(shí)對應(yīng) 3 個(gè)數(shù),分別用大寫的

凱萊認(rèn)為,這個(gè)公式引出了矩陣?yán)碚撝械拇蠖鄶?shù)基本概念。
接著我們來看線性函數(shù)的復(fù)合,

這兩個(gè)線性方程組分別從

復(fù)合線性函數(shù)對應(yīng)的矩陣就是,

那么這些數(shù)字具體是怎么計(jì)算得來的呢?我們將線性方程組的計(jì)算代入,易得,

以上就是兩個(gè)矩陣復(fù)合的規(guī)則,也是我們現(xiàn)在線性代數(shù)書上定義的矩陣乘法的來歷。要注意的是,該運(yùn)算是不可交換的,說明線性函數(shù)的復(fù)合是跟次序有關(guān)系的。
凱萊就這樣研究了關(guān)于矩陣復(fù)合的代數(shù),包括矩陣求逆。著名的 Cayley-Hamilton 定理斷言方陣是其特征多項(xiàng)式的根,這是 Cayley 在其 1858 年的《矩陣論回憶錄》中給出的。使用單個(gè)字母
6矩陣誕生以后
此后更多的數(shù)學(xué)家開始對矩陣進(jìn)行研究。法國數(shù)學(xué)家埃爾米特(Charles Hermite)證明了如果矩陣等于其復(fù)共軛轉(zhuǎn)置,則特征根為實(shí)數(shù)。這種矩陣后來被稱為埃爾米特矩陣。
德國數(shù)學(xué)家弗羅貝尼烏斯(Ferdinand Georg Frobenius)對矩陣的特征方程、特征根、矩陣的秩、正交矩陣、矩陣方程等方面做了大量工作。1878 年,在引進(jìn)了不變因子、初等因子等概念的同時(shí),弗羅貝尼烏斯提出了正交矩陣、相似矩陣和合同矩陣的概念,以及矩陣的最小多項(xiàng)式問題。1894 年的論文中,他討論了矩陣?yán)碚摵退脑獢?shù)理論的關(guān)系。1896 年,他給出了凱萊-哈密爾頓定理的完整證明。
7向量代數(shù)與向量空間
矩陣?yán)碚撛?19 世紀(jì)沿著兩個(gè)方向發(fā)展,分別是作為抽象代數(shù)結(jié)構(gòu)和作為代數(shù)工具描述幾何空間的線性變換。
另外,數(shù)學(xué)家也在嘗試發(fā)展向量代數(shù),但是并沒有找到在任意維度上保持兩個(gè)向量乘積的定義方式。德國數(shù)學(xué)家格拉斯曼(Hermann Grassmann)在 1844 年提出了第一個(gè)涉及非交換向量積(即
19 世紀(jì)末,美國數(shù)學(xué)物理學(xué)家吉布斯(Willard Gibbs)發(fā)表了他著名的向量分析專著。在該論文中,吉布斯將秩 1 矩陣稱為 dyad,將一般矩陣稱為 dyadic,表示為秩 1 矩陣之和。后來,物理學(xué)家保羅·狄拉克(P.A.M Dirac)引入了術(shù)語 bra-ket,即行向量 bra乘以列向量 ket,現(xiàn)在我們稱之為數(shù)量積或點(diǎn)積。而術(shù)語 ket-bra 是列向量 ket 乘以行向量 bra 的乘積,結(jié)果就是我們現(xiàn)在所說的秩 1 矩陣。因此,定義列矩陣和向量的慣例是在 20 世紀(jì)由物理學(xué)家引入的。
8近代發(fā)展與應(yīng)用
矩陣?yán)碚撘约皯?yīng)用的另一個(gè)重要工具是矩陣的奇異值分解(Singular Value Decomposition,SVD)。奇異值分解最初是由微分幾何學(xué)家提出的,他們希望確定一個(gè)雙線性形式是否可以通過作用于其上的兩個(gè)空間的獨(dú)立正交變換使其等于另一個(gè)線性形式。貝爾特拉米(Eugenio Beltrami)和若爾當(dāng)(Camille Jordan)分別在 1873 年和 1874 年獨(dú)立發(fā)現(xiàn),以矩陣表示的雙線性形式的奇異值在正交變換下形成了雙線性形式的完整不變量集。詹姆斯·約瑟夫·西爾維斯特(James Joseph Sylvester)也于 1889 年對實(shí)數(shù)方陣進(jìn)行了奇異值分解,也是獨(dú)立于貝爾特拉米和若爾當(dāng)。第四個(gè)獨(dú)立發(fā)現(xiàn)奇異值分解的數(shù)學(xué)家是奧托恩(Autonne),他于 1915 年通過極分解(Polar Decomposition)導(dǎo)出它。艾哈德·史密特(Erhard Schmidt)于 1907 年提出了積分算子的類似概念。另外,矩形和復(fù)數(shù)矩陣奇異值分解的首次證明應(yīng)該是卡爾·埃克特(Carl Eckart)和蓋爾·J·楊(Gale J. Young)在 1936 年提出的。

第二次世界大戰(zhàn)后隨著現(xiàn)代電子計(jì)算機(jī)的發(fā)展,人們對矩陣重新產(chǎn)生了興趣,特別是針對矩陣的數(shù)值分析。約翰·馮·諾伊曼(John von Neumann)和赫爾曼·戈德斯汀(Herman Goldstine)于 1947 年在分析舍入誤差時(shí)引入了條件數(shù)。矩陣 A 的條件數(shù)表示了矩陣計(jì)算對于誤差的敏感性。
艾倫·圖靈和馮·諾伊曼是 20 世紀(jì)存儲(chǔ)程序計(jì)算機(jī)發(fā)展中的先驅(qū)。Turing 在 1948 年引入矩陣的 LU 分解。L 是對角線為 1 的下三角矩陣,U 上三角矩陣。通常在一系列線性方程組的解中使用 LU 分解,每個(gè)線性方程組具有相同的系數(shù)矩陣。QR 分解的好處在十年后就實(shí)現(xiàn)了。Q 是正交矩陣,R 是一個(gè)對角線為正的上三角可逆矩陣。QR 分解在計(jì)算機(jī)算法中用于各種計(jì)算,例如求解方程組和查找特征值。

?參考資料?
When was Matrix Multiplication invented?: http://people.math.harvard.edu/~knill/history/matrix/index.html
[2]《九章算術(shù)》的方程術(shù): http://suo.im/6osyBd
[3]A Brief History of Linear Algebra and Matrix Theory: http://macs.citadel.edu/chenm/240.dir/12fal.dir/history2.pdf
[4]Gauss-Jordan reduction: A brief history: http://www.ms.uky.edu/~dmu228/MA322_fall16/Gauss_Jordan_reduction.pdf
[5]Matrix: https://en.wikipedia.org/wiki/Matrix_mathematics
[6]Dyadics: https://en.wikipedia.org/wiki/Dyadics
[7]SVD: https://en.wikipedia.org/wiki/Singular_value_decomposition
[8]Arthur Cayley, A Memoir on the Theory of Matrices: https://www.jstor.org/stable/pdf/108649.pdf
↓掃描二維碼添加好友↓ 推薦閱讀
(點(diǎn)擊標(biāo)題可跳轉(zhuǎn)閱讀)
