【数学史】矩阵和线性代数原来是这么来的
1大事记
公元前 200 年: 中国汉代,《九章算术》求解三元一次方程组 1545 年意大利数学家卡尔达诺(Girolamo Cardano)提出 矩阵的克莱姆法则 1683 年日本数学家关孝和(Seki)和 1693 年德国数学家莱布尼茨(Leibnitz)独立发现行列式 1750 年克莱姆(Cramer)提出使用行列式求解线性方程组的克莱姆法则 1772 年法国数学家拉普拉斯(Pierre-Simon Laplace)发现行列式的拉普拉斯展开 1812 年法国数学家柯西(Augustin Louis Cauchy)和法国数学家比内(Jacques Philippe Marie Binet)分别发现了柯西–比内公式: 1844 年德国数学家格拉斯曼(Grassman),提出 n 维欧几里得空间以及 n 维几何 1850 年英国数学家西尔维斯特(Sylvester)首次使用 Matrix
一词1858 年英国数学家阿瑟·凯莱(Arthur Cayley)提出矩阵代数 1888 年意大利数学家皮亚诺(Giuseppe Peano)提出抽象向量空间的公理
以上摘自此篇[1]。
2线性方程组
逻辑上,矩阵的概念先于行列式,但在实际历史上却恰好相反。矩阵的概念以及线性代数的引入和发展是随着行列式的发展而来的,而行列式的产生源于对线性方程组系数的研究。
中国汉代九章算术
中记录的三元一次联立方程组的求解方法是真实存在的,并不是后人杜撰的。很多老外写的书籍和教材里也都有提及,有些甚至认为高斯就是因为大量使用推广该方法而得名。比如,美国 NCSU 数学教授 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.
该方法的具体细节可以参考这篇[2],至于它在之后一千多年时间里是如何影响世界各地数学的发展就有待考证了。但至少有一点可以肯定,我们自己并没有很好地传承和发扬光大,算法的提出者连名字都没有留下,更不及诸子百家那般妇孺皆知的待遇,各种缘由值得深思。
不过,这类问题的计算与实际的社会需求往往有着必然联系,超越时代需求的理论没有得到重视应该也不是偶然。这里我们提到它除了它应有的历史地位外,也是表达一种遗憾。
而现在一般认为,高斯(Gauss)在 1800 年左右发展了高斯消元法,并用它解决了天体计算中的最小二乘问题,后来又应用于大地测量学(应用数学的分支,涉及测量或确定地球的形状或在地球上精确定位等)。虽然高斯的名字与这种从线性方程组中逐次消去变量的方法绑在一起了,但发现在几个世纪前的中国手稿(即《九章算术》)中就有了用类似这种高斯消元法求解一个三元一次方程组的方法。而高斯所处的正是地理、天文数据大量涌现的时代,急需相应的计算技术。
多年来,高斯消元法一直被认为是由大地测量学发展出来的技术。高斯-若尔当消元法的首次出现是在威廉·若尔当(Wilhelm Jordan)撰写的关于大地测量学的手册中。很多人误认为高斯-若尔当
消元法中的若尔当是著名数学家卡米尔·若尔当(Camille Jordan)。
这个阶段,矩阵虽然若隐若现了,但是不把它单独提取出来也没关系。即便像大数学家高斯也没有一眼就发现矩阵这个概念,因为它对消元法并不是必需的。
3行列式
研究线性方程组求解的另一路人马,引出了行列式。
接下来出场了是日本数学家关孝和,他于 1683 年与微积分的发现者之一莱布尼茨于 1693 年近乎同时独立地建立了行列式理论。其后行列式作为解线性方程组的工具逐步发展。1750 年,加布里尔·克莱姆(Gabriel Cramer)发现了克莱姆法则。我们来看一个
形式简洁漂亮,就是复杂度高,未知量个数一大就耗计算。因此实际计算中不如消元法。
4矩阵呼之欲出
矩阵的首次隐式使用发生在 1700 年代后期拉格朗日(Lagrange)研究双线性形式的时候。Lagrange 希望表征多元函数的最大值和最小值。他的方法现在被称为拉格朗日乘数法。为此,他首先要求一阶偏导数为 0,另外还要求关于二阶偏导数矩阵的一个条件成立。今天,这种情况称为正定性或负定性,但是,拉格朗日并没有明确使用矩阵
这个概念。
进入十九世纪后,行列式的研究进一步发展,矩阵的概念也应运而生。
法国数学家柯西(Augustin Louis Cauchy)是最早将行列式排成方阵并将其元素用双重下标表示的数学家。他还在 1829 年就在行列式的框架中证明了用现在的话说是实对称矩阵的特征根为实数
这个结论。
这个阶段,矩阵更加呼之欲出了,但是不把它单独提取出来仍然是没关系。
5矩阵的正式出场
为了使矩阵代数有效地发展,既需要正确的符号又需要正确的矩阵乘法定义。几乎同时在同一地点满足了这两个需求。1848 年在英格兰西尔维斯特(Sylvester)首先引入了矩阵
(Matrix)一词,指代一组数字,这词源自拉丁语子宫
。
在他希望引用数的矩形阵列而又不能用行列式来形容的时候,就用 Matrix
一词来形容。西尔维斯特使用 Matrix
一词是因为他希望讨论行列式的子式,即将矩阵的某几行和某几列的共同元素取出来排成的矩阵的行列式,所以实际上 Matrix
被他看做是生成各种子式的母体
。这应该就是经典电影《黑客帝国》的英文名《The Matrix》的来历,有直接翻译成《母体》。
阿瑟·凯莱(Arthur Cayley)被公认为矩阵论的奠基人。他开始将矩阵作为独立的数学对象研究时,许多与矩阵有关的性质已经在行列式的研究中被发现了。但是对矩阵进行系统性研究,即矩阵代数是在 1855 年由凯莱的研究工作发展而成。凯莱研究了线性变换的复合,并定义了矩阵乘法,以便复合变换的系数矩阵
我们来重温一下矩阵的诞生过程,顺便复古一把,看看凯莱当时对矩阵和线性变换的写法。首先,一个
一个数字阵列,它由一个线性方程组的系数组成,
凯莱说: 矩阵的概念就是为了简写一个线性方程组自然而然
引出的。上面的线性方程组用矩阵改写就变为,
其实这个自然而然也许并不是显然的,因为历史上很多大数学家也没这么做。这么做也没提出新理论或者证明什么定理,但是好像又很重要,冥冥之中开启了一个新生命。因为原来是分散开的数字,个个都显得微不足道,但是提出来放在一起,就变成一个团队,可以作用别的数字,而且这种作用可以复合。似乎会有一些名堂可以研究,因此有必要把它单独提取出来并给它取个名字。
凯莱说: 可以看出,将矩阵视为单个量,可以相加、相乘或复合,当然仅限相同阶数的矩阵(比如都是 3×3 矩阵)。相加、相乘我们不提了,来看看矩阵的复合是咋回事。
他将如下 3 个线性函数,
改用矩阵语言来写,
上面 3 个函数其实对应 3 个数,分别用大写的
凯莱认为,这个公式引出了矩阵理论中的大多数基本概念。
接着我们来看线性函数的复合,
这两个线性方程组分别从
复合线性函数对应的矩阵就是,
那么这些数字具体是怎么计算得来的呢?我们将线性方程组的计算代入,易得,
以上就是两个矩阵复合的规则,也是我们现在线性代数书上定义的矩阵乘法的来历。要注意的是,该运算是不可交换的,说明线性函数的复合是跟次序有关系的。
凯莱就这样研究了关于矩阵复合的代数,包括矩阵求逆。著名的 Cayley-Hamilton 定理断言方阵是其特征多项式的根,这是 Cayley 在其 1858 年的《矩阵论回忆录》中给出的。使用单个字母
6矩阵诞生以后
此后更多的数学家开始对矩阵进行研究。法国数学家埃尔米特(Charles Hermite)证明了如果矩阵等于其复共轭转置,则特征根为实数。这种矩阵后来被称为埃尔米特矩阵。
德国数学家弗罗贝尼乌斯(Ferdinand Georg Frobenius)对矩阵的特征方程、特征根、矩阵的秩、正交矩阵、矩阵方程等方面做了大量工作。1878 年,在引进了不变因子、初等因子等概念的同时,弗罗贝尼乌斯提出了正交矩阵、相似矩阵和合同矩阵的概念,以及矩阵的最小多项式问题。1894 年的论文中,他讨论了矩阵理论和四元数理论的关系。1896 年,他给出了凯莱-哈密尔顿定理的完整证明。
7向量代数与向量空间
矩阵理论在 19 世纪沿着两个方向发展,分别是作为抽象代数结构和作为代数工具描述几何空间的线性变换。
另外,数学家也在尝试发展向量代数,但是并没有找到在任意维度上保持两个向量乘积的定义方式。德国数学家格拉斯曼(Hermann Grassmann)在 1844 年提出了第一个涉及非交换向量积(即
19 世纪末,美国数学物理学家吉布斯(Willard Gibbs)发表了他著名的向量分析专著。在该论文中,吉布斯将秩 1 矩阵称为 dyad
,将一般矩阵称为 dyadic
,表示为秩 1 矩阵之和。后来,物理学家保罗·狄拉克(P.A.M Dirac)引入了术语 bra-ket
,即行向量 bra
乘以列向量 ket
,现在我们称之为数量积或点积。而术语 ket-bra
是列向量 ket
乘以行向量 bra
的乘积,结果就是我们现在所说的秩 1 矩阵。因此,定义列矩阵和向量的惯例是在 20 世纪由物理学家引入的。
8近代发展与应用
矩阵理论以及应用的另一个重要工具是矩阵的奇异值分解(Singular Value Decomposition
,SVD
)。奇异值分解最初是由微分几何学家提出的,他们希望确定一个双线性形式是否可以通过作用于其上的两个空间的独立正交变换使其等于另一个线性形式。贝尔特拉米(Eugenio Beltrami)和若尔当(Camille Jordan)分别在 1873 年和 1874 年独立发现,以矩阵表示的双线性形式的奇异值在正交变换下形成了双线性形式的完整不变量集。詹姆斯·约瑟夫·西尔维斯特(James Joseph Sylvester)也于 1889 年对实数方阵进行了奇异值分解,也是独立于贝尔特拉米和若尔当。第四个独立发现奇异值分解的数学家是奥托恩(Autonne),他于 1915 年通过极分解(Polar Decomposition
)导出它。艾哈德·史密特(Erhard Schmidt)于 1907 年提出了积分算子的类似概念。另外,矩形和复数矩阵奇异值分解的首次证明应该是卡尔·埃克特(Carl Eckart)和盖尔·J·杨(Gale J. Young)在 1936 年提出的。
第二次世界大战后随着现代电子计算机的发展,人们对矩阵重新产生了兴趣,特别是针对矩阵的数值分析。约翰·冯·诺伊曼(John von Neumann)和赫尔曼·戈德斯汀(Herman Goldstine)于 1947 年在分析舍入误差时引入了条件数。矩阵 A 的条件数表示了矩阵计算对于误差的敏感性。
艾伦·图灵和冯·诺伊曼是 20 世纪存储程序计算机发展中的先驱。Turing 在 1948 年引入矩阵的 LU 分解。L 是对角线为 1 的下三角矩阵,U 上三角矩阵。通常在一系列线性方程组的解中使用 LU 分解,每个线性方程组具有相同的系数矩阵。QR 分解的好处在十年后就实现了。Q 是正交矩阵,R 是一个对角线为正的上三角可逆矩阵。QR 分解在计算机算法中用于各种计算,例如求解方程组和查找特征值。
⟳参考资料⟲
When was Matrix Multiplication invented?: http://people.math.harvard.edu/~knill/history/matrix/index.html
[2]《九章算术》的方程术: 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
↓扫描二维码添加好友↓ 推荐阅读
(点击标题可跳转阅读)