1. 引言
数学实验即是利用与数学相关的工具和方法,对数学问题进行探索,寻求结果,然后在此基础上进行总结和归纳得出最终结论的活动和方法[1]-[3]。比如对于函数
,随意代入一些具体的数值,求其函数值,发现当代入的数值都是正数时,得到的函数值都大于零,当代入的数值都是负数时,得到的函数值都小于零,由此,得到结论:函数的零点为
。这一探寻函数
零点的方法即是数学实验的方法。再比如,在平面上随意绘制多个直角三角形,然后手工测量每个三角形的三条边,并求出其两条直角边的平方和与其斜边的平方,进行对比。此时发现,几乎每个直角三角形的两直角边的平方和都等于这个直角三角形的斜边平方。由此得出结论:直角三角形两直角边的平方和等于其斜边的平方。这一探寻勾股定理的方法也是数学实验的方法。
数学研究不仅需要数学推理和计算,更需要数学实验[4]-[6]。在数学产生和发展的初期,人们大量地利用了数学实验的方法来研究数学[2] [3] [7]。初等数学的很多结论都是通过数学实验得到的,比如“两点之间直线距离最短”、“等量加(减)等量和(差)相等”、“所有的直角都相等”、“质数与合数一样多”、“多面体的欧拉公式:
”等。到了近代,很多现代数学的结论也是通过数学实验得到的,比如著名的哥德巴赫猜想、四色定理、黎曼猜想和角谷猜想等。因此,数学实验是数学研究的重要手段,历史上很多数学家都特别注重数学实验,比如毕达哥拉斯(Pythagoras, BC580~BC500)、阿基米德(Archimedes, BC287~BC212)和欧拉(Leonhard Euler, 1707~1783)等[8] [9]。
牛顿(Isaac Newton, 1643~1727)作为十七世纪颇具开拓性和创造性的数学家也非常重视数学实验,其在代数学研究中广泛使用了这种方法,从而使其代数学研究充满了数学实验的思想。不仅如此,牛顿在其代数学研究中的数学实验思想方法还具有紧密结合自然数的特点,颇具特色。本文拟就这个问题进行讨论。
2. 牛顿在代数学研究中广泛应用了数学实验思想方法
牛顿1661年进入剑桥大学,1667年被推选为三一学院会员,1669年接替巴罗(Isaac Barrow, 1630~1677)成为卢卡斯数学教授,之后便开始在剑桥大学任教,直到于1684年其在哈雷(Edmond Halley, 1656~1742)的盛情邀请下专门写作《自然哲学的数学原理》(Philosophiæ Naturalis Principia Mathematica) [9]-[12]。牛顿在剑桥大学工作的这十余年,当然进行了很多天文学和物理学等方面的研究——否则,其是写不出《自然哲学的数学原理》这本书的,但是,这期间其做得最多的还是数学方面的研究,准确地讲是代数学方面的研究——因为作为卢卡斯数学教授,其必须每周都要做一个数学方面的学术报告[13]。这些报告,牛顿于1684年离开剑桥大学的时候都转移给了他的卢卡斯数学教授继任者惠斯顿(William Whiston, 1667~1752)。后者于1707年将其手稿的主要内容进行了整理,并以《普遍算术》(Universal Arithmetick)的名字进行了出版[14]。纵观这本书的内容,全部都是初等代数学的内容。
仔细分析《普遍算术》(Universal Arithmetick)一书内容,可以发现该书主要探讨了代数符号、多项式的性质、方程的表示、方程的化简、生活问题和几何问题如何转化为代数方程、方程的求解、方程根的性质和方程的变形等问题。这其中有许多内容是牛顿的重要发现,比如求多项式因子的方法、探寻方程根的多少方法、确定方程虚根的方法等[15]-[18]。就是在这些发现中,牛顿广泛应用了数学实验的方法。
比如在求多项式因子的方法中。牛顿的求多项式因子方法是在《普遍算术》中的第十部分给出的。在这里,牛顿不仅给出了求一元多项式一次式因子的方法,而且还给出了求二次、三次和四次因子的方法,还给出了求含有多个字母的多元多项式因子的方法。但是,无论哪种方法,牛顿都是通过代入有特点的自然数的方法得出的[19]。比如求一元多项式的一次式因子的方法,牛顿给出的方法是这样的:
求多项式
的一次二项式因子。
用1、0、−1替换其中的x。这样得到三个数值,即−4、6、+14。将这些数分别写出来,如图1所示。并在其右侧写出1、0、−1,在其左侧分别写出这三个数的所有因子。
Figure 1. The first column of Newton’s method for finding polynomial first-order factors
图1. 牛顿求多项式一次因子方法列式1
因为原多项式最高次项x3的系数仅能被单位1和−1整除,因此,在众多因子中找间隔为1和−1的数列。
每一行中选出一个数字,可以找到4,3,2和−4,−3,−2两个因子序列。
在这两个序列中,找到与前面替换数1、0、−1中0对应的数,得到3和−3。
用得到3和−3分别除以其所在因子列公差的相反数,均得到3。这就得到一个一次二项式
。
以
为因子去除原多项式,得到的商是
,所以
是原多项式的一个一次二项式因子[19]。
由此很明显地可以看出,牛顿在这里是通过代入3个自然数−4、6、+14,寻求到了一个一次二项式
,然后又通过尝试,也就是用这个二次项去除原多项式,从而得到的最终结论。因此,牛顿在这里应用了数学实验的方法。
再比如求多项式
的一次二项式因子。
用2、1、0、−1、−2替换其中的字母y,得到30、7、20、31、34五个数字。
将这5个数的因子都列出来,像图1那样,则得到如图2所示的列式:
Figure 2. The second column of Newton’s method for finding polynomial first-order factors
图2. 牛顿求多项式一次因子方法列式2
在图2中的因子中找等差的因子列,且其公差必须是6的因子。可以发现,10,7,4,1,−2和−10,−7,−4,−1,2这两个数列满足条件。
在两个数列中找出与前面替换数2、1、0、−1、−2中0对应的数,得到4和−4。
用这两个数,分别除以自己所在等差数列公差的相反数,都得到
,这样就得到一个一次二项式
,或
。
用
,或
去除原多项式,得结果为
。所以,
,或
是原多项式的一个一次二项式因子。
同样,在这里也可以很明显地看出,牛顿的最终结论是通过代入若个自然数2、1、0、−1、−2,寻求到了两个一次二项式
,或
,然后又通过尝试——也就是用这两个二次项去除原多项式——而得到的。因此,牛顿在这里也应用了数学实验的方法。
再比如求多项式
的一次二项式因子。
利用上述步骤得到的列式如图3所示(为了简洁,省略了相应的负数因子)。
Figure 3. The third column of Newton’s method for finding polynomial first-order factors
图3. 牛顿求多项式一次因子方法列式3
由此看出,与替换数0对应的有三个数分别是−1、−5、−5。
让它们分别除以各自因子数列公差的相反数即2、4、6,得到三个一次二项式
、
、
。
用上述三个一次式去除原多项式,发现
,即
可以整除原多项式,得到的商为
。其余两个一次式不能,所以
或
是原多项式的一个一次二项式因子[19]。
还是同前面的一样,牛顿在这里的最终结论:
或
是原多项式的一个一次二项式因子——也是通过代入若个自然数2、1、0、−1、−2,寻求到了三个一次二项式
、
、
,然后又通过尝试——也就是用这三个二次项去除原多项式——而得到的。因此,牛顿在这里也应用了数学实验的方法。
由此可以看出,在牛顿求方程的因子的过程中,有明显地代入一些数进行探究,然后再进行尝试,最终看是否整除来确定真正因子的做法。
再比如在判断方程的虚根个数方法中。牛顿给出的判断一个方程有多少虚根的方法是在《普遍算术》的第二十五部分给出的。在这里其给出的方法如下所示:
做一系列分数,它们的分母为数字1、2、3、4、5等,直到等于方程的维数;并且它们的分子为相同的数字,但是与之顺序相反。后面的数字除以前面的数字。将这些分数放在方程的中间项的上方。如果中间某项的平方乘以上方的分数大于其两边项的乘积,那么就在它下面放一个+;但是如果是小于,那么放一个−。但是,在第一个和最后一项的下面放+。那么方程不可求的根的个数和下面标记的符号从+变成−的个数与从−变成+的个数的变化次数相同。
对于上面得到的方程
,有数列
,
,
。用第二个分数除以前面的分数,即
除以第一个
,并且第三个
除以第二个
,然后把得到的分数,即
和
,放在了方程的中间项的上方,得到如下所示的式子:
因为第二项
的平方与其上方的分数
的乘积,即
小于第一项x3和第三项
的乘积
,所以,在项
的下面放了符号−。但是,因为
(第三项
的平方)与其上方
的乘积大于0,于是比第二项
与第四项−q的负的乘积要大很多,在第三项的下面放了符号+。然后,在第一项x3和最后一项−q的下面放置了符号+。下面的符号有两次变化;即在这个序列
中,一个是由+变为了−,另一个是由−变为了+,这说明有两个不可求的根(即虚根)。
因此,方程
有两个不可求的根,因为按照上述方法可以得到。并且方程
也有两个不可求的根,因为可以得到。对于此分数序列
,
,
,
,第二项除以第一项,第三项除以第二项,第四项除以第三项,得到序列
、
、
,把它们放到方程中间项的上方,然后第二项的平方,在这里为0,乘以上方的分数,即乘以
得到0,这大于由两边的x4和
相乘得到的负的乘积
。因此,在这一项的下面写+。接下来用与前面例子中相同的方法;那么写在下面的序列是
,其中有两次符号变化,这说明有两个不可求的根。并且使用相同的方法,可以得到方程
有两个不可求的根,因为利用刚才的方法可以得到如下所示的式子:
其中,有两项或更多项有所缺失,所以在第一个缺失项下面你必须写符号−,在第二个下面写符号+,在第三个下面写−,如此下去,一直变化符号,除去当缺失项的两边的项的符号相反时,在最后的缺失项下面你必须写+。
例如在方程
和中,第一个方程有四个不可求的根,后面的方程有两个不可求的根。并且,方程
有六个不可求的根。
因此,也可以知道不可求的根是正的还是负的。由各项的符号和其下面的符号变化,可以得到不可求的正根的个数等于它们的变化次数,负根的个数等于它们连续不变的个数,在方程
中,因为根据下面变化的符号,即
,说明有两个不可求的根,它们上面的项为
,符号为
,两次符号变化说明有两个正根;于是,在正根中有两个是不可求的根。因为方程的所有项的符号
有三次变化,这说明有三个正根,另外两个根为负根,并且在正根中有两个是不可求的;这说明了这个方程有一个实的正根,两个负根,和两个不可求的根。然而,如果方程为
,那么变化符号
上方的项为
,它们的符号为−和−,并没有发生变化,这说明负根中的一个根为不可求的;并且下面的变化符号
上面的项为
,它们的符号为−和−,并没有发生变化,说明了另外还有一个负根是不可求的。因此,由于方程的符号
有一次变化,所以方程有一个正根,其余的四个为负根;由此可得,方程有一个正根,两个负根,和两个不可求的根。对于这个例子,用这种方法发现的不可求的根并不一定用之前的方法发现的更多。因为也许会发现更多不可求的根,尽管这很少发生[19]。
由上可以看出,在这里牛顿明显应用了代入自然数列进行探寻,由此得到结论的方法——明显是实验得到的,而不是推理。这就是为什么后人要补充这部分证明的原因。
再比如在求方程根的范围的方法中。探寻一个方程根的范围是牛顿在《普遍算术》的第二十七部分中给出的。所谓方程根的范围,即是方程的根所在的区间。对于这个区间,牛顿是这样说的:
方程的每一项乘以它的维数,然后除以方程的根,然后,再一次每一项乘以一个比之前的数小1的数,之后,再令这个结果除以方程的根。如此下去,一直乘以比之前小1的数值,然后这个结果除以方程根,直到最后所有的项被消去,它的符号不同于第一项或最高次数项的符号。那么,那个数值将大于任意一个正根。
例如,方程
。首先将每一项与其维数相乘,于是得到
。然后,除以x,再一次相乘,于是得到
,然后,除以x,再一次相乘,得到
;之后,除以最大公除数4来化简它,那么将得到
。然后再一次,它们依次乘以3、2、1、0,然后除以x,变成
,然后再次除以3,得到
。然后它们依次乘以2、1、0,然后除以2x,得到
。现在,由于方程的最高次项x是正的,尝试将x代入到这些结果中,使得它们都是正数。然后,尝试代入1,得到
,是正数;但代入
,就会得到负数−4。因此,根的范围大于1。于是尝试更大的数值,例如2。那么将2代入每个x,它们就变成了:
由于得到的数值8、7、1、79、46都是正数,那么数值2将大于最大的正根。
以相同的方式,如果也想得到负根的范围,那么尝试代入负数。或者相同的是,改变其每一项的符号,然后尝试代入正数。但是改变其每一项的符号之后,将要被代入数值的量,将会变为:
从中,尝试选择一些量代入到上式中,使得负项最可能出现;假设对于
,将数字1和2代入到x中,得到负数−14和−33。因此,根的范围将小于−2。但是,代入数字3之后,那么就得到了正数234。用相同的方法,将数字3代入到其他量的x中,那么也得到了正数,这仅仅通过观察就可以得到。因此,数值−3小于所有的负根。那么就有了界限2和−3,所有根都在它们中间[19]。
在这里,牛顿也有明显的探寻、得到结果、观察结果、分析结果,然后总结得到结论的过程。
由此可以看出,在牛顿的重要的代数方法研究中,其明显使用了进行探寻——而不是推理,然后对得到的结果进行观察和思考,最终通过归纳得到结论的方法,也就是数学实验的方法。
3. 牛顿代数数学实验的特点
牛顿在其代数学研究中不仅使用了数学实验的思想方法,而且,其数学实验还有明显的特征,就是:在牛顿的数学实验中,其经常是以“代入一些有特点的整数或整数列”为“探针”进行探寻的,而不是使用其它的手段或措施。
比如在其求一元多项式二次式的因子的方法中,牛顿使用的探寻方法很明显的是采用了这种措施。
求多项式
的二次三项式因子。
将3、2、1、0、−1、−2分别替换x,求得到39、6、1、−6、−21、−26六个数。
将这六个数与其因子(为了简洁起见,其负数因子不列出)对应排列出来,如图4所示。
将刚才的六个数平方之后乘以x4的系数1的因子1,得到9、4、1、0、1、4,并将其列出来。
之后,用这6个平方数分别减前面对应行中的因子。将得到的差列在每个平方数的右侧。
Figure 4. The first column of Newton’s method for finding polynomial second-order factors
图4. 牛顿求多项式二次因子方法列式1
观察得到的差值,从每一行选出一个数字来,找出所有的等差数列。可以找到两个等差数列,分别是−4,−2,0,2,4,6和6,3,0,−3,−6,−9。
因为第一个等差数列的公差为2,其中与替代数0对应的数是2,原多项式的首项系数为1,这样可以得到一个二次三项式
。
因为第二个等差数列的公差为−3,其中与替代数0对应的数是−3,原多项式的首项系数为1,这样可以得到一个二次三项式
。
下面分别用上述两个二次三项式去除以原多项式,发现都恰好整除,因此它们都是原多项式的因子[19]。
再比如求多项式
的二次三项式因子。
用3、2、1、0、−1、−2分别替换多项式中的字母,得到170、38、10、14、10、190这样六个数。将其列出来,并求出其因子。列成图5样式(为了简洁,未列出170和190的因子,以及所有的负数因子)。
将替代数3、2、1、0、−1、−2分别平方,并乘以原多项式首项系数3的因子3,得到27、12、3、0、3、12六个乘积。
然后用这个六个成绩分别减去刚才得到的因子,将所有差值列出来。如图5所示。
观察所有的差值,从每行中取出一个数值,组成等差数列。找出所有的这样的等差数列。共得到两个,分别是:−7,−7……−7和17,11……−7,−13。
因为第一个等差数列的公差为0,与替代数0对应的数值是−7,原多项式的首项系数为3,所以可以得到二次三项式
。
因为第二个等差数列的公差为−6,与替代数0对应的数值是−1,原多项式的首项系数为3,所以可以得到二次三项式
。
分别用上述两个二次三项式去除以原多项式,发现第一个二次三项式
可以整除原多项式,结果是
。第二个二次三项式
不能,故
是原多项式的因子[19]。
Figure 5. The second column of Newton’s method for finding polynomial second-order factors
图5. 牛顿求多项式二次因子方法列式2
由上可以看出,在求二次式的过程中,牛顿明显地应用了代入一个等差整数列进行探究的方法。
4. 数学实验方法与古代数学家们的做法是一致的
在世界数学发展的早期,很早就产生了方程和其解的问题。对于方程的求解,西方和东方不约而同地都使用了一种特殊的方法——假位法(Method of False Position),即是通过代入不同的数值去探寻相应的结果,然后再对结果进行分析,从而得到准确答案的方法[20]。牛顿的数学实验思想方法与古代的假位法一脉相承。
在由苏格兰人兰德(Alexander Henry Rhind, 1833~1863)于1858年发现的著名的古埃及纸草书——兰德(Rhind)纸草书中有这样一个题:“一个量加上它的7分之1等于19,求这个量。”——这显然是个方程问题。对于这个问题,作者给出的解法是:首先假设一个数7是这个值,然后代入原题计算,得8。然后用7乘以8分之19,得到16又8分之5,即得8。显然,作者在这里代入了一个自然数7,然后用这个自然数探寻了最终的答案。
此外,在开罗西南部卡呼恩(Kahun)地区发现的一份纸草书上的一个问题是[21]-[23]:“将一个面积为100的大正方形分成两个小正方形,一个的边长是另一个的4分之3,试问该如何分?”——这显然也是一个方程问题。这个问题用现代符号表示相当于求解一个的方程组:
和
。对于这个题,纸草书中作者给出的解法是:令
,则易得
,
。而大正方形面积实际是100,这样,将x和y分别扩大8倍,则有
。显然,作者在这里代入了一个自然数1,然后用这个自然数1探寻了最终的答案。
这样的方法不仅在西方有应用,在我国古代也有广泛应用。比如在我国秦汉时期出现的《九章算术》中有一章是“盈不足”,其中很多问题都是利用上述方法求解的——只是在我国此方法被称为盈不足术[24]。比如其中的第十二题:“今有垣厚五尺,两鼠对穿。大鼠日一尺,小鼠亦日一尺。大鼠日自倍,小鼠日自半。问几何日相逢?各穿几何?”——这显然是个方程问题。对于这个问题,作者给出的答案和解法是——术曰:假令二日,不足五寸。令之三日,有余三尺七寸半。很明显,在这里,作者代入了2和3这两个连续的自然数,利用这两个自然数进行了数学实验。
再比如第二十题:“今有良马与驽马发长安至齐。齐去长安三千里。良马初日行一百九十三里,日增十三里。驽马初日行九十七里,日减半里。良马先至齐,复还迎驽马。问几何日相逢及各行几何?”——这显然也是个方程问题。对于这个问题,作者给出的答案和解法是——术曰:假令十五日,不足三百三十七里半。令之十六日,多一百四十里。以盈、不足维乘假令之数,并而为实。并盈不足为法。实如法而一,得日数。不尽者,以等数除之而命分。显然在这里,作者代入了15和16两个连续的自然数,利用这两个自然数进行了数学实验。
由此可以看出,牛顿在其代数学研究过程中使用的数学实验思想方法与数学发展早期的数学家们应用的方法在思想上是一样的,都是通过代入一些整数,然后去探寻结果,然后分析结果,总结规律或利用相关的计算得到最终的结论。
5. 结束语
牛顿在《普遍算术》中给出了众多自己关于代数学研究的结论,比如求多项式因子的方法、求方程虚根个数的方法和确定方程根范围的方法等。仔细分析这些方法,可以发现,牛顿明显使用了数学实验的思想和方法,即通过探寻,得到结果,然后进行观察、归纳得到最后结论的思想方法。这种思想方法是数学公理化之前人们经常使用的一种手段,也是历史上众多重大发现过程中必定包含和采纳的一种方法[4]。牛顿的代数学研究完全符合数学研究的历史规律。不仅如此,牛顿的数学实验方法还有其独特的地方,就是其经常是以“代入一些有特点的整数或整数列”为“探针”进行探索代数规律,从而得到结论。牛顿的这种数学实验与数学历史发展早期人们用来解决代数问题的方法在思想上是完全相同的,特别是与我国古代数学家的做法几乎是一致的。也许正因如此,牛顿才比当时的许多数学家在研究代数学时特别是其中的方程理论时走得更远了一些,比如法国数学家韦达(François Viète, 1540~1603)和笛卡尔(René Descartes, 1596~1650)——他们在自己的方程理论研究中主要应用的是推理和符号运算的方法[16] [25]-[28],而不是盈不足术或假位法——而这两种方法是目前数学家和数学史家公认的一种研究方程问题最为普遍的方法[29]-[32]。那么,牛顿的这种思想和方法是从哪里来的呢?1202年,数学家斐波那契(Fibonacci, 1170~1250)在其《算盘书》(Liber Abaci)中曾用过这种方法,后来1494年,意大利数学家帕乔里(Luca Bartolomeo de Pacioli, 1447~1517)在其《数学摘要》(Summa de Arithmetica)中也用过此方法,1556年,塔塔利亚(Tartaglia, 1499~1557)在翻译帕乔里的书时也用过这种方法[32] [33]。而与牛顿差不多同时代的数学家如韦达、帕斯卡(Blaise Pascal, 1623~1662)、笛卡尔、巴罗、沃利斯(John Wallis, 1616~1703)等人都没有用过这种方法。牛顿的思想和方法是不是受到了早期数学家们的启发呢?这是一个值得进一步探讨的问题。