如果我们以1519年为分界线,回望在它之前和之后的500年间数学的进展,你会发现在1519年之前是几乎风平浪静的500年,鲜有新的数学出现。在那段时间,数学似乎在全世界都陷入了一种停滞状态,只有印度在代数和三角学领域获得了些许重大进步。
相比之下,1519年之后的这个500年里,数学呈现出了爆炸式的增长,而且这种速度在21世纪似乎在显著加快。可以说,过去的500年是现代数学的500年。那么在这500年的数学历史中,都发生了什么?这是我们今天的主题。我们将沿着四个关键的数学思想去回顾这500年。
1. 三次方程
如果说有哪个事件能够划分经典数学与现代数学,那就是对三次方程的求解了。这一事件意味着,数学家们的探索领域终于超越了古希腊人所做的一切。从那时起,代数为数学掀开了新的篇章,并在20世纪90年代到达了顶峰。
二次方程从遥远的古代开始,人们就知道二次方程的存在。二次方程的解对面积计算等问题非常重要。巴比伦人最先找到了它的解,而解的最终形式是由印度人发现的。三次方程对体积的计算非常重要。同样,聪慧而乐于思考的巴比伦人也试图想要得出它的解。但是,求解三次方程是一项艰难得多的挑战。
直到1520年代,事情开始慢慢发生改变。那时,一位名为希皮奥内·德尔·费罗的意大利数学家找到了一般解法,首次解开了缺少二次项的三次方程。希皮奥内·德尔·费罗解开的三次方程之后,费罗把解法传授给了他的学生Fior。而几乎就在同一时间,另一位意大利数学家塔塔里亚也用一种一般解法找到了缺乏一次项的三次方程的解。
有趣的是,这则三次方程的求解故事开始朝着一个非常戏剧化的方向展开:一开始,塔塔里亚将他的公式藏在了一篇诗歌当中,他还与Fior进行了一次问题求解竞赛,并且获得了最终的胜利。接着,在一个名叫卡达诺的学者的劝诱下,塔塔里亚将结果告诉了他。卡达诺向塔塔里亚发誓,一定会保守秘密,不将结果泄露出去。
然而事实却是,卡达诺先是从Fior那习得了他的结果,然后揭露了塔塔里亚的解法,在代数著作《大衍术》中,发表了这一结果。这让塔塔里亚恼怒不已,至死都没有原谅卡达诺。
虽然求解的故事颇具戏剧性,但最终我们还是成功地得到了这一伟大的结果。时至今日,三次方程的解仍然很重要。例子包括在计算机图形学中,许多曲线和形状都需要用三次方程来近似。是这些解让我们可以计算出曲线何时会相交。
三次方程的解带来了许多重要的数学进展。例如更高阶的多项式方程是否可解就是其中的一个显著问题。很快,人们就解出了四次方程,但又再次卡在了五次方程的问题上。直到19世纪,挪威数学家阿贝尔最先找到了解五次方程的方法。
伽罗瓦证明了有些五次多项式是不能用阿贝尔的方法求解的。伽罗瓦的证明中包含了对满足不同根的对称性的寻找,他将这一思想发展到研究一组运算所需满足的一般对称性。现在,这门学科被称为群论,对我们理解许多科学领域中的对称性至关重要。
求解三次方程还带来了另一个重要结果,那就是它让人们意识到了理解复数的重要性。我们可以通过研究求解不同的数学问题来追溯数字的历史。求解类似x+2=3这样的方程,我们只需要自然数1,2,3……求解3x=2这样的方程,我们就需要包含分数在内的有理数了。古希腊的数学家在研究二次方程时就意识到,求解这类方程需要“开平方”,因此还需要发明新的数字。
这时,数学的历史开始发生有趣的转变。那时,人们知道√2的存在是有其几何合理性的,比如它是单位正方形对角线的长度,但是他们很难将这些数字放入有理数系统中的“间隙”中。直到19世纪,数列的“极限”概念有了坚实的基础,才让数学家们完全乐于使用实数。不过,实数并无法满足所有的三次方程求解,比如当遇到x² = -3这样的情况时,就还需要新的数字,让i² = -1。这便是我们熟悉的虚数概念。
还记得上文说到的卡达诺吗?其实早在16世纪后期,他就与工程师邦贝利一起用塔塔里亚的方法求解了三次方程和二次方程的复数解。到了19世纪,高斯在《代数基本定理》中指出,所有多项式方程都可解,它们的解都可以表示为复数。这意味着,人们可以不必为了求解多项式方程而寻找新的数字了。
然而,这并不意味着数学家应该停止发明新的数字系统。例如,汉密尔顿在19世纪发展的四元数就是复数的一种扩展,现在主要用于计算机图形学。与复数有关的最重要早期发现或许是由欧拉作出的,他证明了复数与三角函数密切相关。这种关联让数学变得格外神秘和迷人,它似乎预示着数学蕴含着无限的能量。
研究三次方程的意义还不仅于此。研究三次方程和其他多项式方程的解的曲面,直接导致了代数几何这一数学领域的诞生。
对数学感兴趣的人应该都知道,代数几何不仅是一门重要的学科,而且它在计算机绘图、图像处理和图像识别等领域都发挥着重要的作用,所有的这些技术都与计算机辅助设计、机器学习和人工智能有关。除了这些应用价值之外,代数几何还有一个不得不提的重大意义:在求解费马大定理的过程中,代数几何扮演者至关重要的角色。这个著名的问题是在1637年由费马提出的。费马大定理说的是,当n>2时,这个方程没有正整数解。
费马自己证明了n=4的情况,并希望能获得一个一般情况的证明。后来,欧拉证明了n=3的情况。数百年来,在求解费马大定理的前进道路上诞生了许多伟大的数学。
1995年,数学家安德鲁·怀尔斯提出了最终的解决方案,为这个研究了400多年的数学问题画上了完美的句号。
2. 微积分
在这500年不仅见证了代数的革命,也见证了我们对这个世界的运作机制的理解革命。为了解决那些物理问题,直接导致了微积分的发明。而微积分带来的不仅是令人难以置信的数学进展,还有数不胜数的广泛应用。可以说,没有微积分,或许就没有现代世界的一切科学与技术。
这场革命始于两个事件。第一个事件是在物理学家研究物体的运动时掀起的运动学革命。1543年,哥白尼发表著作《天体运行论》,在这本书中,他颠覆性地提出当时已知的6颗行星是绕着太阳公转的。当然,作为一个早期的日心说理论,它并不完美。
哥白尼的模型在1610年左右得到了“拯救”,那时,开普勒发表了著名的三大运动定律。
开普勒不仅是一位天文学家,还是一位杰出的数学家,根据他的运动定律,我们得知了:1. 所有行星都在以椭圆轨道绕着太阳运动,太阳在椭圆的其中一个焦点上;2. 在相同的时间内,行星所扫过的面积相等;3. 行星的运动周期的平方正比于椭圆长半轴的立方。开普勒定律与观测结果完全吻合,其预测也与伽利略用望远镜所观测到的一致,可以说,是开普勒定律让日心说得到了广泛的接受。
第二个事件是力学定律的发现。伽利略是力学的先驱,他是第一个意识到物体在地球引力作用下会按照抛物线的路径移动,而且他还意识到所有惯性系都是等价的。1643年,在伽利略去的一年后,牛顿出生了。在牛顿的巨著《原理》中,他阐明了力学三大定律,将力的作用与物体的运动联系了起来。在书中,牛顿还提出了万有引力定律,即在两个相距为r,质量分别为M和m的物体之间,其引力作用为。
牛顿的力学原理让他可以成功推导出开普勒的运动定律,为开普勒定律奠定了坚实的理论基础。按照希腊留下的传统,牛顿用几何学语言在《原理》中提出并证明了这些结果。然而最开始,他是用微积分的方法推导出来的。
微积分是一门研究事物如何变化的学科,它有两个重要的概念,一个是导数,一个是积分。求导可以让你知道一条曲线的斜率,而积分能让你求得曲线下的面积。
不过,微积分并不是牛顿一个人创造的,它的许多基本概念都是基于像沃利斯、笛卡尔、费马、开普勒等数学家的想法。此外,几乎在与牛顿相同的时候,莱布尼茨也提出微积分的关键思想。莱布尼茨用代数形式表述了这一想法,并引入了用于计算的现代符号,与牛顿的几何符号相比,莱布尼茨让微积分的使用变得容易了很多,导致微积分在欧洲大陆的迅速发展,当然也导致了英国数学家和欧洲数学家之间的分裂。
在接下来微积分的发展中,欧拉成为了一个主要的领军人物。他不仅创造了微积分理论中的许多基本结果,而且还为它们找到了重要的应用。牛顿和莱布尼茨是通过观察当单个变量在变化时函数发生的变化而推导出了微积分。而欧拉将其扩展到观察一个函数在所有变量函数发生变化时,函数会如何变化,这一概念叫做变分法。
1788年,法国数学家拉格朗日将欧拉的想法进一步拓展,并最终成为了现代物理学和工程学的核心。利用变分法,拉格朗日得到了微分方程系统,这类系统的解描述了系统的运动。最初,拉格朗日想用它们来研究力学问题,但同样的方法也在描述基本粒子(包括希格斯玻色子)的标准模型中运用。
另一个因这种方法受益的领域是流体力学,这也是由欧拉提出的。在现代日常生活中,我们每天都要用到欧拉方程来预测未来的天气和气候。
尽管牛顿、莱布尼茨和欧拉都很喜欢使用微积分,而且它几乎有无穷的应用,但人们对它的基本定义仍有一些担忧。直到19世纪,在柯西对极限与无穷大等问题打下坚实的基础之后,这些问题才真正得到解决。这远不止解决了微积分的一些技术性上的难题,还导致了数学中的分析领域的发展。复分析就是其中一个重要的例子,它是对复变量函数性质的系统研究。
这门学科在数论、流体力学、傅里叶分析、信号处理、数值分析、图形学以及数学、物理和工程的任何需要用到积分的领域中都有重要应用。
牛顿在17世纪发明了微分方程,到了18世纪,拉普拉斯进一步推动了它的发展,之后,人们便认为微分方程是描述现实世界运行方式的最佳方式了。以二阶微分方程为例,这是些看起来简单,却难以精确求解的微分方程。尽管无法做到精确求解,但我们可以通过两种方法来得到解析表达式。
首先就是用几何方法求解,这种技术是在19世纪末由法国数学家庞加莱首创的,它非常强大,导致了求解微分方程的动力系统理论的产生,其中的一个重要结果就是现代混沌理论。微分方程的几何理论,直接导致了混沌理论的出现。第二种方法是要依靠强大的计算机算法来求出近似解,这种方法能让你控制想到达到的精度水平,具有很强的洞察力和预测能力。
3. 线性代数
如果有人问这500年来哪个数学领域是最有用的,那么答案或许是线性代数,它是许多工程学、物理学、甚至商业等领域的数学基石。没有线性代数,我们就无法飞行,也无法预测经济、天气,甚至无法经营工厂、在线购物等。线性代数计算是全世界各地的计算机每天都要进行的大部分计算,它是互联网背后的动力。只可惜,它在数学领域的魅力并不那么为公众所知。
早在16世纪,线性代数就涉及到求解具有多个变量的方程问题。前文提到的三次方程和二次方程都只涉及到一个变量x,如果我们有两个变量x和y那又会怎么样?举个例子,爸爸比儿子大32岁,现在他们总共86岁,求他们现在各自多少岁。这是一个我们可以轻易揭开的小学应用题,最直接的方法是设两个未知数:爸爸x岁,儿子y岁,从方程组x - y = 32和x + y = 86中算得答案。
虽然上面的方法可以轻松地解决这个问题,但它很难将其推广应用于解决包含更多未知数的问题。要做到这一点,我们就需要矩阵和线性代数了。这些问题背后的数学原理是于19世纪由凯利发展的,当时他在考虑如何让一组数字线性映射到另一组数字。我们再以上面的年龄问题为例,假如我们设x - y=a, x + y = b,那么这就等于完成了从 (x,y)到 (a,b)的映射。凯利用矩阵方程的形式来表示这种映射。
这里的A是一个2x2的矩阵,这种形式的矩阵方程在几何中表示平面的变换。3x3的矩阵则可以代表了在空间中的变换,这正是计算机图形学中用来执行动画的矩阵方程。4x4的矩阵则可以表示时空的变换,这便是狭义相对论的数学基础。通过矩阵求逆,我们可以得到问题的解:A¹是矩阵A的逆矩阵。同样的方法甚至可以用于解决含有数十亿个未知数的问题。这一过程也成为了现代科学与技术得以出现和发展的一个重大前提。
时至今日,科学家与数学家仍在努力发展用于求解矩阵求逆的算法,以更高效地解决我们社会所面临的诸多日常问题。
4. 算法
数学在计算机算法中的应用或许能让我们在现实世界中最直接地感受到数学的强大。算法描述的是一个为给定问题给出解决方案的过程。事实上,最早的算法是用来求解我们在一开始提到的多项式方程的。比如我们想求解二次方程x² = 2的解,但不知道√2的值,所以就需要开发一个算法来找到它。
这种算法是由巴比伦人发明的,他们认为比x更能更好地近似√2的表达式是,比如你可以以x=1开始,将数字代入之后所得到的数字再次代入这个式子中,不断迭代,这样就能得到一系列值:可以明显看出,这些值在越来越接近√2的值:1.41421356237309488...
牛顿推广了这一概念,因此当我们需要找到方程f(x) = 0时,可以尝试近似:当不断重复这个过程,x_n的值就会越来越接近真正的解。
大量在数学上的研究产生了许多强大的可用于解决其他问题的算法。但是如果没有巴贝奇、拉夫莱斯、图灵、冯·诺依曼这些数学家大力推动了计算机的发展,或许我们不会感受到这些算法的价值。例如用计算机来求解微分方程就是算法在发挥作用的一个例子。
事实上,整个现代电子工业,尤其与信号、音乐和视频相关的部分,都严重依赖于快速傅里叶变换(FFT)算法。FFT允许一个信号能分解成构成了它的谐波,它具有无穷多的应用。可以说,这是一个由数学导致了整个行业的产生的经典例子。
算法的另一个重要领域是要让对未来的预测与当前和过去的观测一致。我们的手机、GPS导航设备、飞机和火车控制系统等许多系统都严重依赖于这种算法。在这些应用中,使用了大量贝叶斯定理的卡尔曼滤波器是其中的关键,当有新的数据传入时,它能系统地根据新的数据更新对系统状态的估计。如果没有卡尔曼滤波,我们就不可能到达月球,也无法操控任何现代控制系统。
我们正在见证数学领域变得越来越活跃,它似乎蕴含了巨大的能量,这股能量导致一些重大难题得到了解决,比如费马大定理和庞加莱猜想,同时也提出的许多新的和具有挑战性的问题。另外,数学和计算机的融合让数学家可以处理更加复杂的问题,并且在研究极度困难的问题时也能具有实验性和创造性。除此之外,数学的应用几乎在呈指数级增长。曾经,人们还是倾向于认为数学领域只是非常纯粹和理论的,现在我们却发现了它无穷的应用潜力。
在未来的几年里,这张应用列表中的内容会以更快的速度增长,我们似乎已经可以预见一个令人激动的数学未来。
所以我们现在正处在数学的黄金时代吗?我想是的。