Matrix
一詞以上摘自此篇[1]。
邏輯上,矩陣的概念先于行列式,但在實際歷史上卻恰好相反。矩陣的概念以及線性代數(shù)的引入和發(fā)展是隨著行列式的發(fā)展而來的,而行列式的產(chǎn)生源于對線性方程組系數(shù)的研究。
中國漢代九章算術(shù)
中記錄的三元一次聯(lián)立方程組的求解方法是真實存在的,并不是后人杜撰的。很多老外寫的書籍和教材里也都有提及,有些甚至認為高斯就是因為大量使用推廣該方法而得名。比如,美國 NCSU 數(shù)學教授 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.
該方法的具體細節(jié)可以參考這篇[2],至于它在之后一千多年時間里是如何影響世界各地數(shù)學的發(fā)展就有待考證了。但至少有一點可以肯定,我們自己并沒有很好地傳承和發(fā)揚光大,算法的提出者連名字都沒有留下,更不及諸子百家那般婦孺皆知的待遇,各種緣由值得深思。
不過,這類問題的計算與實際的社會需求往往有著必然聯(lián)系,超越時代需求的理論沒有得到重視應該也不是偶然。這里我們提到它除了它應有的歷史地位外,也是表達一種遺憾。
而現(xiàn)在一般認為,高斯(Gauss)在 1800 年左右發(fā)展了高斯消元法,并用它解決了天體計算中的最小二乘問題,后來又應用于大地測量學(應用數(shù)學的分支,涉及測量或確定地球的形狀或在地球上精確定位等)。雖然高斯的名字與這種從線性方程組中逐次消去變量的方法綁在一起了,但發(fā)現(xiàn)在幾個世紀前的中國手稿(即《九章算術(shù)》)中就有了用類似這種高斯消元法求解一個三元一次方程組的方法。而高斯所處的正是地理、天文數(shù)據(jù)大量涌現(xiàn)的時代,急需相應的計算技術(shù)。
多年來,高斯消元法一直被認為是由大地測量學發(fā)展出來的技術(shù)。高斯-若爾當消元法的首次出現(xiàn)是在威廉·若爾當(Wilhelm Jordan)撰寫的關(guān)于大地測量學的手冊中。很多人誤認為高斯-若爾當
消元法中的若爾當是著名數(shù)學家卡米爾·若爾當(Camille Jordan)。
這個階段,矩陣雖然若隱若現(xiàn)了,但是不把它單獨提取出來也沒關(guān)系。即便像大數(shù)學家高斯也沒有一眼就發(fā)現(xiàn)矩陣這個概念,因為它對消元法并不是必需的。
研究線性方程組求解的另一路人馬,引出了行列式。
接下來出場了是日本數(shù)學家關(guān)孝和,他于 1683 年與微積分的發(fā)現(xiàn)者之一萊布尼茨于 1693 年近乎同時獨立地建立了行列式理論。其后行列式作為解線性方程組的工具逐步發(fā)展。1750 年,加布里爾·克萊姆(Gabriel Cramer)發(fā)現(xiàn)了克萊姆法則。我們來看一個
形式簡潔漂亮,就是復雜度高,未知量個數(shù)一大就耗計算。因此實際計算中不如消元法。
矩陣的首次隱式使用發(fā)生在 1700 年代后期拉格朗日(Lagrange)研究雙線性形式的時候。Lagrange 希望表征多元函數(shù)的最大值和最小值。他的方法現(xiàn)在被稱為拉格朗日乘數(shù)法。為此,他首先要求一階偏導數(shù)為 0,另外還要求關(guān)于二階偏導數(shù)矩陣的一個條件成立。今天,這種情況稱為正定性或負定性,但是,拉格朗日并沒有明確使用矩陣
這個概念。
進入十九世紀后,行列式的研究進一步發(fā)展,矩陣的概念也應運而生。
法國數(shù)學家柯西(Augustin Louis Cauchy)是最早將行列式排成方陣并將其元素用雙重下標表示的數(shù)學家。他還在 1829 年就在行列式的框架中證明了用現(xiàn)在的話說是實對稱矩陣的特征根為實數(shù)
這個結(jié)論。
這個階段,矩陣更加呼之欲出了,但是不把它單獨提取出來仍然是沒關(guān)系。
為了使矩陣代數(shù)有效地發(fā)展,既需要正確的符號又需要正確的矩陣乘法定義。幾乎同時在同一地點滿足了這兩個需求。1848 年在英格蘭西爾維斯特(Sylvester)首先引入了矩陣
(Matrix)一詞,指代一組數(shù)字,這詞源自拉丁語子宮
。
在他希望引用數(shù)的矩形陣列而又不能用行列式來形容的時候,就用 Matrix
一詞來形容。西爾維斯特使用 Matrix
一詞是因為他希望討論行列式的子式,即將矩陣的某幾行和某幾列的共同元素取出來排成的矩陣的行列式,所以實際上 Matrix
被他看做是生成各種子式的母體
。這應該就是經(jīng)典電影《黑客帝國》的英文名《The Matrix》的來歷,有直接翻譯成《母體》。
阿瑟·凱萊(Arthur Cayley)被公認為矩陣論的奠基人。他開始將矩陣作為獨立的數(shù)學對象研究時,許多與矩陣有關(guān)的性質(zhì)已經(jīng)在行列式的研究中被發(fā)現(xiàn)了。但是對矩陣進行系統(tǒng)性研究,即矩陣代數(shù)是在 1855 年由凱萊的研究工作發(fā)展而成。凱萊研究了線性變換的復合,并定義了矩陣乘法,以便復合變換的系數(shù)矩陣
我們來重溫一下矩陣的誕生過程,順便復古一把,看看凱萊當時對矩陣和線性變換的寫法。首先,一個
一個數(shù)字陣列,它由一個線性方程組的系數(shù)組成,
凱萊說: 矩陣的概念就是為了簡寫一個線性方程組自然而然
引出的。上面的線性方程組用矩陣改寫就變?yōu)椋?/p>
其實這個自然而然也許并不是顯然的,因為歷史上很多大數(shù)學家也沒這么做。這么做也沒提出新理論或者證明什么定理,但是好像又很重要,冥冥之中開啟了一個新生命。因為原來是分散開的數(shù)字,個個都顯得微不足道,但是提出來放在一起,就變成一個團隊,可以作用別的數(shù)字,而且這種作用可以復合。似乎會有一些名堂可以研究,因此有必要把它單獨提取出來并給它取個名字。
凱萊說: 可以看出,將矩陣視為單個量,可以相加、相乘或復合,當然僅限相同階數(shù)的矩陣(比如都是 3×3 矩陣)。相加、相乘我們不提了,來看看矩陣的復合是咋回事。
他將如下 3 個線性函數(shù),
改用矩陣語言來寫,
上面 3 個函數(shù)其實對應 3 個數(shù),分別用大寫的
凱萊認為,這個公式引出了矩陣理論中的大多數(shù)基本概念。
接著我們來看線性函數(shù)的復合,
這兩個線性方程組分別從
復合線性函數(shù)對應的矩陣就是,
那么這些數(shù)字具體是怎么計算得來的呢?我們將線性方程組的計算代入,易得,
以上就是兩個矩陣復合的規(guī)則,也是我們現(xiàn)在線性代數(shù)書上定義的矩陣乘法的來歷。要注意的是,該運算是不可交換的,說明線性函數(shù)的復合是跟次序有關(guān)系的。
凱萊就這樣研究了關(guān)于矩陣復合的代數(shù),包括矩陣求逆。著名的 Cayley-Hamilton 定理斷言方陣是其特征多項式的根,這是 Cayley 在其 1858 年的《矩陣論回憶錄》中給出的。使用單個字母
此后更多的數(shù)學家開始對矩陣進行研究。法國數(shù)學家埃爾米特(Charles Hermite)證明了如果矩陣等于其復共軛轉(zhuǎn)置,則特征根為實數(shù)。這種矩陣后來被稱為埃爾米特矩陣。
德國數(shù)學家弗羅貝尼烏斯(Ferdinand Georg Frobenius)對矩陣的特征方程、特征根、矩陣的秩、正交矩陣、矩陣方程等方面做了大量工作。1878 年,在引進了不變因子、初等因子等概念的同時,弗羅貝尼烏斯提出了正交矩陣、相似矩陣和合同矩陣的概念,以及矩陣的最小多項式問題。1894 年的論文中,他討論了矩陣理論和四元數(shù)理論的關(guān)系。1896 年,他給出了凱萊-哈密爾頓定理的完整證明。
矩陣理論在 19 世紀沿著兩個方向發(fā)展,分別是作為抽象代數(shù)結(jié)構(gòu)和作為代數(shù)工具描述幾何空間的線性變換。
另外,數(shù)學家也在嘗試發(fā)展向量代數(shù),但是并沒有找到在任意維度上保持兩個向量乘積的定義方式。德國數(shù)學家格拉斯曼(Hermann Grassmann)在 1844 年提出了第一個涉及非交換向量積(即
19 世紀末,美國數(shù)學物理學家吉布斯(Willard Gibbs)發(fā)表了他著名的向量分析專著。在該論文中,吉布斯將秩 1 矩陣稱為 dyad
,將一般矩陣稱為 dyadic
,表示為秩 1 矩陣之和。后來,物理學家保羅·狄拉克(P.A.M Dirac)引入了術(shù)語 bra-ket
,即行向量 bra
乘以列向量 ket
,現(xiàn)在我們稱之為數(shù)量積或點積。而術(shù)語 ket-bra
是列向量 ket
乘以行向量 bra
的乘積,結(jié)果就是我們現(xiàn)在所說的秩 1 矩陣。因此,定義列矩陣和向量的慣例是在 20 世紀由物理學家引入的。
矩陣理論以及應用的另一個重要工具是矩陣的奇異值分解(Singular Value Decomposition
,SVD
)。奇異值分解最初是由微分幾何學家提出的,他們希望確定一個雙線性形式是否可以通過作用于其上的兩個空間的獨立正交變換使其等于另一個線性形式。貝爾特拉米(Eugenio Beltrami)和若爾當(Camille Jordan)分別在 1873 年和 1874 年獨立發(fā)現(xiàn),以矩陣表示的雙線性形式的奇異值在正交變換下形成了雙線性形式的完整不變量集。詹姆斯·約瑟夫·西爾維斯特(James Joseph Sylvester)也于 1889 年對實數(shù)方陣進行了奇異值分解,也是獨立于貝爾特拉米和若爾當。第四個獨立發(fā)現(xiàn)奇異值分解的數(shù)學家是奧托恩(Autonne),他于 1915 年通過極分解(Polar Decomposition
)導出它。艾哈德·史密特(Erhard Schmidt)于 1907 年提出了積分算子的類似概念。另外,矩形和復數(shù)矩陣奇異值分解的首次證明應該是卡爾·??颂?span>(Carl Eckart)和蓋爾·J·楊(Gale J. Young)在 1936 年提出的。
第二次世界大戰(zhàn)后隨著現(xiàn)代電子計算機的發(fā)展,人們對矩陣重新產(chǎn)生了興趣,特別是針對矩陣的數(shù)值分析。約翰·馮·諾伊曼(John von Neumann)和赫爾曼·戈德斯汀(Herman Goldstine)于 1947 年在分析舍入誤差時引入了條件數(shù)。矩陣 A 的條件數(shù)表示了矩陣計算對于誤差的敏感性。
艾倫·圖靈和馮·諾伊曼是 20 世紀存儲程序計算機發(fā)展中的先驅(qū)。Turing 在 1948 年引入矩陣的 LU 分解。L 是對角線為 1 的下三角矩陣,U 上三角矩陣。通常在一系列線性方程組的解中使用 LU 分解,每個線性方程組具有相同的系數(shù)矩陣。QR 分解的好處在十年后就實現(xiàn)了。Q 是正交矩陣,R 是一個對角線為正的上三角可逆矩陣。QR 分解在計算機算法中用于各種計算,例如求解方程組和查找特征值。
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
聯(lián)系客服