我的文章的主题是数学考古学,我的目的是追述一下两位学者的一部分研究工作。他们是奥托 · 诺基堡尔和他的同事、长期合作者阿伯拉罕 · 萨克斯。前者曾在1979年接受过美国数学学会的功勋奖,对我来说,写作本文也是一个偿还他俩债务的机会。1947年我作为一个新的助教授去布郎大学时,受到了作为数学史和天文学史研究班正式访问者式的欢迎。尽管我始终没有自认是数学史家,然而这段经历却给我提出一个写作本文任务。
让我先列出一张表。图1是一张楔形文字刻片的抄本,大约3×5(吋)大小。记号刻在嵌线湿陶的底部,要确定它的年代不很容易。猜想它可能是公元前1700年,约距今3700年在尼波的阿卡特制造的。
面对象征古代文化的人造物品,人们提出了几个问题:(ⅰ)这张刻片是什么?它的含义是什么?(ⅱ)它的最初的意图是什么?(ⅲ)它将告诉我们哪些有关文化和生产的信息?在科学史上,人们期待的既不是定理也不是严格的证明,而主题是一些充实的假设,甚至是些怀疑;在证明的地方,人们常常找到的只是一些证实:“我相信P蕴涵Q,并且因为我也相信Q,所以我也相信P”。
在图1中,我们画一条竖线,将它分割成第一、二列。在第一列,我们看到的似乎是由1到9的计数符号。与之相对,在第二列我们看到的是9,1和8,2和7,3和6,这启发我们去设想拿到的是一张以9为因子的乘法表。再核查下去,我们看到5和4却在第6行,证实了猜想。但是在下一行,我们看到7旁边的像是一个1和一个3。
我们修正一下我们的猜想;我们正在处理的不是十进位制,而是一种混合进位制。这里有一个十进位的子系统,它用一种符号代表单位,另一符号代表10,但是此系统的较大的进位是以60为基数的,1和3实际上代表60+3=63。因此我们马上猜到:同样的旗形符号被用来表示十进位制数字10,60,(60)2,(60)3等。
因此我们从一张简单的刻片上,已猜测得出了一个完整的六十进位制数系。然后,我们通过核对其它刻片,寻求证实,希望在那里能看到同样的数制。确实在下一世纪制成的数千巴比伦刻片中,看到了一些如同图1中给出的同样类型的乘法表,有许多完全一样的复制品。
我们看到书写巴比伦数字是繁琐的。本文中60个基数将用通常的十进阿拉伯数字(0到59)书写,用符号“/”分割不同的位置。“单位位置”通常写在右边,这样
7/13/28就表示28+13(60)+7(60)2=26008相加是容易的
如果我们把带有乘法表的刻片,按次列出,可以见到某些奇怪的现象。许多9的,12的乘法表发现了。但也有些不大像乘法表,尽管我们不希望它们出现。图2中我们列出那些常见的表。
我们遇到了三个难题:(ⅰ)为什么找不到(例如关于7、11、13、14的)某些表?(ⅱ)为什么有些表带有因子:3/45,7/12,7/30,和44/26/40?(ⅲ)为什么精确相同的乘法表的刻片如此之多?已找到了一些线索。例如:存在含有两种不同类型的同一乘法表的刻片,一种简洁,一种不简洁,甚至也许还带有一、二个错误。我相信你脑中马上会呈现出一幅熟悉的图景。一批学生抄录了教师给出的表。在尼波可能有一所很大的培养官员和僧侣的学校。
为了有助于回答第一、二问题,让我们再来核查一下其它刻片。为了方便起见,我已将它写成阿拉伯记号(见图3)这里再次填上两列已见过的数,我们来寻求一个解释。我们立刻会注意到,在前几行相邻列出的数的乘积总是60,当然,似乎也有些例外,9和6/40这对数的乘积是
如果我们用巴比伦形式写出这些乘积,回答就会明显了;因为60是1/0,3600是1/0/0,216000是1/0/0/0,为了证实,再看看表中最后一行。
(1/21)×(44/26/40)=(81)×(160000)
=12960000=1/0/0/0/0
如果我们现在也沿用巴比伦的消去末尾零的做法,就能看到图3只是一张写成“六十进位制”的倒数表。如果A是一个第一列中的整数,那么选定为第二列中的整数是AR,使得它们的乘积可以写成“1”,意指是任一个适当的60的幂。在表中出现的这个整数将总可以分解成2,3和5的幂,因为这些数在六十进位制中,总具有倒数。
现在图3可以理解了,我们能回答上页中留下的两个难题。我们看到如在图2中,常被用来生成乘法表的整数,大部分取自标准倒数表(也有些刻片,含有非标准倒数,如7、11等数的倒数)。在浮点法中,B÷A=B×AR,因此,一组乘法表和一张倒数表结合在一起,能容易地进行浮点除法,倒数表提供形如2α3β5γ的“好数”之一。例如,让我们在六十进位制中用24去除417,即6/57÷24=17/22/30。
如果人们记住30=2R,在计算中的最后一步就更容易,因为用30去乘是和用2去除是一样的(当然抄写员必须精确地保持实际长度的空白处和位置)。
根据一个相当重要的发现,用这种方式作出的普通的计算变得更为巧妙了。这是一个经雕刻过的圆柱,在它表面布满了一张标准倒数表和一张标准乘法表的抄本(在图4中我们展示了这个存储信息,每一乘法表都由它的因子表明)借助这个圆筒,也许要爬上支架,一个抄写员能够容易地求得税款和工资数;也许这里就是巴比伦算尺和台式计算器!
在对巴比伦算术作了一个大致的介绍后,我们转到另一张刻片上,它的数学含义直到涅基巴尔和沙切斯之前,未能研究出什么结果。它保存在哥伦比亚大学乔治 · 阿 · 泊里姆屯收藏的罗尔书籍和手稿图书馆中。通常称它为泊里姆屯322。这张刻片的左边有些腐蚀;在左棱上有用现代胶水胶合的痕迹,使人想到最初贴合在这里的刻片角已经遗失或被偷。由于它是从市场上买来的,对它的真实来源和日期只能作些估测,尽管按文学的风格,我们猜想它在前1600年。由于和大部分刻片相比,它已经有了假设性的一般说明并且已被编入目录报告。我们试图说明,人们为什么可以由它引出另外一些设想。
首先让我们把它译抄成阿拉伯记号,如图6所示。我们已经重写了三个主要的列,现在标以A,B和C。我们注意到在A列,由于腐蚀有些空隙。但是它还是显示出了这些数在平稳地减少,我们注意到有些数长,有些数短,它们是任意的。与此相比,在B列和C列中出现的数都是比较短的,我们没有看到它们有单调性。
由于对我们来说,使用阿拉伯数字工作较为方便,让我们把B、C列转抄成阿拉伯数字,并且来寻找它们的模式(见图6)。我们立即见到B列的数比C列小,只有两个例外。经考察还发现B列只含一个素数541,而C列却含有8个素数。
在前20000个整数中,大约有2300个素数,约占10%;因此从一整数区间中,任意选出15个整数,我们可以期望其中有一个或二个素数,而确实不会有八个素数1这立即告诉了我们,这张刻片的含义是数学,而不只是算术(你可以设想,这正是在按前几个零星单纯群的次序列在刻片上的)。
人们渴求寻找较为明显的模式。例如,通过各种方式把B列和C列组合起来,最简单的试验一下马上成功了。在图7中,我们写明了C+B和C-B的计算结果。如果你有意识地去算一算,就会注意到,在几乎所有的情况下,每个数都是一个完全平方数的二倍。
如果C+B=2a2和C-B=2b2,那么B=a2-b2和C=a2+b2,因此这些列中的数,可由整数对(a、b)生成的。
在图8中,我们已重抄了B列和C列,并且将估算出的可能的数对(a、b)放在一起,作一个进一步的证实。我们把它放在右边,发现在每个数对中,数a、b都是“好数”,即可以因子分解成2,3和5。有5行,这种模式遭到破坏,没有数对出现。如果我们能说明这些差异是由于抄写员作出的错误,那么上面的设想就能进一步得到证实。我们作一简单假设,并且假定B和C中每一个都可由数对(a、b)独立地计算出,还假设这几个错误只涉及一个数。因此对每一空白处,我们假设B和C,其中之一是正确的,另一是错误的,并且试着去复原这个正确的数由于我们尚不知正确的数对,也必须去寻求它;考虑到表中其余数所显示出的性质,我们坚持:一个可以被接受的数对,必须由六十进位制中的“好数”组成。
首先我们来看第9行;这里B=541,是B列中仅有的素数,因此我们假设B是错误的,C是正确的,因此写出C=769=a2+b2,它只有一个解,为数对(25,12),(我们也要注意它们是六十进制中的好数)。如果这是正确的,那么B应是(25)2-(12)2=481,用它代替541。对这个错误有一明显的解释吗?有的,因为在阿拉伯记号中的541=9/1,481=8/1。这个在第9行中的异常,看来只是一个抄写错误。
现在看第13行;这里B大于C,和模式相反。假设C是正确的B是错误的,试试看C=289=a2+b2,有“好数”的唯一解(15,8),用此我们可以得B的正确值是(15)2-(8)2=161,我们马上会再问,为什么会达到已给出的不正确值25921,有没有一个明显的说明。一个回答立刻来了:(161)2=25921;由于某种原因,抄写人员把B误写成了它的平方。
继续看第15行,由于B=56和C=53,成了B>C,不符合一般模式。但是,是B太大还是C太小这是不清楚的。先试一下假定C是正确的,解53=a2+b2,得唯一解为(7,2),由于7不是一个六十进制好数,我们不能采用它。再假设B是正确的,写成56=a2-b2=(a+b)(a-b),有两个解(15,13)和(9,5)。我们拒用第一个而用第二个,得到92+52=106,把它作为C的正确值。再寻寻解释看,注意,由抄写员写出的53恰好是这个正确值的一半。
现在转到图8的第2行,我们有B=3367和C=11521,其中或这个或那个是正确的。假设C正确的,C=a2+b2,有两个解(100、39)和(89、60),其中100,60是好数,但是39和89却不是。所以不能用这些数对,再假设B是正确的,写出3367=(a-b)(a+b),用所有方法分解,可得四个解:(1684、1683),(244、237),(136、123),(64、27),其中我们能接受的只有最后一个数对。这样就有(64)2+(27)2=4825是正确的C,与刻片中出现的数11521相比较,我们不能立即得出对这个错误的朴素解释。例如由于4825=1/20/25和11521=3/12/1,这不能看成是抄写上的错误。在第2行合数的重新构造中,没有一个能使我们多少有点相信的解释。
在表中最后—个错误在第11行、这里有B=45和C=75,这也是不平常的,因为这里B和C有一公因子。这里不适用平方的和差模式,因为B+C=120和C-B=30,都不是平方数的两倍。但是,我们转回到六十进制记号,并且记住我们使用的浮点,事情就变得清楚了;因为120=2/0,是1/0的两倍,后者可以写成1,显然是一个完全平方数;同样30是15的两倍,可写4R是2R的平方,这样模式被保住了,不正确地给出了结合数:用a=1=1/0和b=1/2=2R=30=0/30。我们有a2=1/0,b2=0/15,且
C=a2+b2=1/0+0/15=1/15=75
B=a2-b2=1/0-0/15=1/45=45
(第11行结合数另外的含义在以后再说)
做了这些以后,我们已经完成了对这些原始刻片的编纂工作。在图10中,我们给出了B列和C列的正确的表,和测算出的数对放在一起。
现在提出第二个问题:这个表所隐含的目的是什么?在这个方向上的猜测不够严格,因为路子并不同上那样明显。我们可以从探究形如a2-b2和a2+b2的数,是否具有特殊的性质着手。在如此做的时候,我们宁可用二十世纪的眼光来审视一下古巴比伦的工作,而不用原始的观点。此外,一种既涉及代数又涉及几何的联想是极为主观的。对于任意数(整数)a和b
没有什么独特的信息表明,当时在巴比伦已经知道了这些事实。我们猜想这些刻片在较后才被抄出,尽管他们的代数学已能处理二次方程的求解。如果这些刻片确实和这种看法有联系,那么未知的A列上的数应该以某种方式和同一个三角形有联系。因此下一步应如前着手去试验B,C和D的多种不同的组合,希望其中之一将能接近A列中的数。斜度和斜率显然是一个出发点,所以人们去计算C÷B,C÷D,B÷D等。不顾几次失败,人们达到了组合(B÷D)2。在图11中我们给出了这个式子的值,它是从B的正确值和使用(a、b)为假设值算得的乃计算得到的。
如果我们现在回到图6,并且将在A列中给出的数与那些在图11中出现的数作一比较,我们就看到它们几乎完全一致。例如,在第10行,我们有一精确的八位的六十进制数的复本。在这种可能是独特的基础上,这是一个毋庸置疑的证实。当然在刻片的顶部由于腐蚀有些空隙,图6和图12也不尽相同。但是明显地图11中算出的数据可以填入空隙。两种表中有两个小的差异。在第13行,刻片未曾表明在图12中出现的一个内含的“0”,这可能是抄写人员在做此类工作时的一个习惯。第8行应是连贯的两数“45/14”处,抄写员写了一个数“59”,由于59=45+14,不难发现几个地方出现过类似的错误。
应该看到诺基堡尔和萨克斯,并不使用(B÷D)2代表A列,而是用(C÷D)2。由于B和C之间的关系以及公式(*),可见(C÷D)2=(B÷D)2+1,因此仅有的影响是在图12中出现的一切六十进制数之前加上了一个“1/”。这样选取的理由是他们相信,对Plimpton(泊里姆屯)刻片中的A列,这样取值是正确的。当然另外一些也核看过刻片的人并不同意这种看法。
现在,参照图11我们知道A,B和C列的关系。C是斜边,B是垂直边,A是三角形斜率的平方,用现在的记号:A=tg2θ。观察第11行的差异是有趣的,B=45,C=75,表明是为大家熟知的3,4,5三角形。在巴比伦,它应看作是3/4,1,5/4三角形,由于45=3×4R和75=1/15=5×4R,当然这三角形,D边和参数(a,b)都是我们构造的,并不在原始刻片中直接出现,我们无需论争而能断定的一切只是A=B2÷(C2-B2)。
这些复原,如是正确的,必将有助于理解巴比伦数学家思考的深度,为呆滞的算术注入新的生命力。
[The American Mathematical Monthly,1980年]