·2 第1章古代数学 似和差异,我们将不把这些文明分开来论述,而是围绕着下面一些关键性的论题来组织我们的讨 论:计数,算术计算,线性方程,初等几何,天文和历法计算,平方根,“毕达哥拉斯”定理和二次方 程.为了明了整个故事的背景,我们先来谈谈这些文明本身,谈谈我们从中获知它们的数学的材料 来源. 1.1 古代文明 世界上最古老的文明可能就是美索不达米亚文明,它大约在3500B.C. 出现于底格里斯和幼发拉底的两河流域.在随后的3000年中,这个区域先后 出现过许多王国,其中有一个建于巴比伦城,它的国王罕谟拉比 (Hammurapi)在大约1700B.C.左右征服了这整个地区(图1.1).这个时期 的文明已经有了忠于国家的政治观念和众神的思想,这里包括恩里尔 (Enlil)神,它是美索不达米亚传统宗数首府尼普尔(Nippur)的市神,还有马 尔杜克(Marduk),它是巴比伦城的市神.出现了官僚集团和职业军队,而且 图1.1一张伊拉克 在农民大众和王室官员之间一个由商人和工匠组成的中间阶级崛起了.此 邮票上的罕谟拉比 外,作为会计工具,书写被发明出来了,它随后又被用于协助政府维持对广 (Hammurapi). 大地区的集中统治.书写是用一支尖笔在泥板上进行的.在过去的150年中 共挖出了成千上万件这样的泥板(图1.2).第一个能够将这种楔形文字翻 译出来的是罗林森(Henry Rawlinson,1810一1895),他在19世纪50年代中 80+50 期,通过比较分别用波斯文和巴比伦文来描述国王大流士一世一次军事胜 利事迹的碑文做到了这一点,碑文刻写在贝希斯敦(Behistun,今伊朗境内) 的一块岩壁上 有大量这种泥板上刻有数学问题及其解,或专刻有数学表.有几百片已 被传抄、翻译并得到阐释.它们的形状通常为长方形,但有时也有圆的.它们 1AfT5i游 拿起来很合手,厚度约为一英寸左右,尽管它们有的小得像张邮票,有的又 大得像本百科全书.这种泥板不易毁,这真是-一件幸事,因为它是我们了解 图1.2 一张奥地利 美索不达米亚数学惟一的来源.这些文字记载的传统在希腊人的统治下于 邮票上的巴比伦泥板. 公元前的几个世纪就失传了.这种状况一直持续到了19世纪.绝大部分挖掘到的泥板都是来自罕 谟拉比时期的.当然也有一小部分来自美索不达米亚文明的最早期,还有来自1000B.C.左右几个 世纪和在300B.C.左右的塞琉古时期的.本章中的讨论多半是有关“古巴比伦”时期(罕谟拉比时 期)的,不过,我们使用“巴比伦的”这个形容词指的是美索不达米亚文明和文化.尽管巴比伦只在 一段有限的时间内是这个地区的重要城市,这在数学史中已成为一个惯例了 大约000年以前在埃及的尼罗河流域就出现农业.但是同时统治着上埃及(河谷地区)和下埃 及(尼罗河三角洲地区)的第一个王朝出现于3100B.C.左右,第一 代法老们遗留下来的是一群由官员和祭司组成的精英,一座富有的 宫廷,还有,为这些国王们自身留下了一个介于人与神之间的地位. 这种地位促进了埃及不朽的巨型建筑的发展,包括作为王室寝陵而 建造的金字塔以及在卢克索和卡纳克建造的大寺庙(图1.3).那些 书记员们逐步创造出象形文字,它们点缀着陵墓和寺庙.商博良 图1.3 吉瑟地方的金字塔
1.1古代文明 3· (Jeam Champollion,1790一1832)在19世纪初作为主要贡献者首次翻译了这 种文字.他是借助于多语种的碑文一一罗赛塔石碑一一来完成这项工作 的,这些碑文用的是象形文、希腊文,以及稍后出现的通俗文字,一种类似于 纸草书上僧侣用的那种简化象形文字(图1.4) 不过我们关于古埃及数学的知识大多数不是来自那些寺庙里的象形文 字,而是来自两本纸草书,其中收集有数学问题及其解答:一本是《兰德数学 图1.4丁·商博良与 纸草书》,它是苏格兰人兰德(A.H.Rhind,l833一1863)于1858年在卢克索罗赛塔石碑. 购得的,故以他命名;另一本是《莫斯科数学纸草书》,它是戈罗尼雪夫 (V.S.Golenishchev,殁于1947)于1893年购得,随后赠给了莫斯科艺术精品 博物馆.前者是由僧人阿默士(A'h-mose)在1650B.C.左右从距当时200余 年前的一部原著上抄录的,它长约18英尺,高约13英寸.后-一纸草书差不多 V:1 也属同一时期,长15英尺多,高只有3英寸多一点.和美索不达美亚泥板的 情况一样,多亏了埃及气候干燥,使得这两本纸草书和其他几百件纸草书得 以幸存下来,因为恰恰又是希腊人在公元开始前后的几个世纪里对埃及的 统治导致了埃及本土简化象形文字的消亡(图1.5). 虽然有传说把中国的文明推溯到五千多年以前,但是这个文明最早的 可靠证据是由黄河附近的安阳出土文物所提供的,其年代定在1600B.C.左 右.“甲骨文”就属于以该处为中心的商代社会,这是一些奇异的骨片,上面 刻有远古时代的文字,它们是那个时期的祭司们用来祭神的.这些甲骨是我 图1.5阿门霍特普, 们关于中国计数制知识的来源.大约在公元前第一个千禧年开始,商朝被周 一个埃及高官和书记 朝取代,它随后又分裂成为许多互相对立的封建国家.在公元前6世纪,出 员(公元前15世纪). 现了一个百家争鸣的时期,其中最有名的哲学家就是孔子.在好些国家里都建立了学者们的学术团 体,在由于铁器的使用而引导的技术成长时期,个别学者还被别的封建诸候聘用来当他们的 谋士, 随着一些弱小的诸候国逐渐被强国所吞并,这个封建战国时代就结束了,最后到221B.C.秦始 皇统一了全中国.在他的领导下,中国转变成了一个高度集中的官僚体制的国家.他强化了严厉的 法制,公平税赋,统一货币和度量衡,特别是统一了文字.传说认定,秦始皇曾下令焚烧先前传下来 的所有的书籍以压制异议,但是我们有一定的理由怀疑这个法令是不是真的实施了.秦始皇死于 210B.C.,他的王朝很快就被推翻,并为汉朝所取代,这个汉朝维持了近400年.汉朝建立了由训练 有素的公务人员组成的机构,为此需要有相应的教育体系.在用于培训的教科书中有两本数学著 作,可能是在汉朝的早期编就的,一本叫《周髀算经》,一本叫《九章算术》.要想准确地确定这两本书 所包含的数学内容的发现日期是不可能的,但是有一些零星的更古老的资料记载了类似于九章的 内容,一般认为至少有些内容周代伊始在中国就已经存在了.自然,必须牢记,即使按这个判断年 代,我们所讨论的中国数学的发展至少比在美索不达米亚和在埃及的发展晚好几百年,这些文明是 否有些东西传到过中国谁也不知道 公元前3000年在印度河两岸有一个叫做哈拉帕的文明兴起了,但没有看到有关于其数学的直 接证据.有这种证据的最早的印度文明是由迟至公元前2000年从亚洲草原地带迁徙过来的雅利安 部落在恒河两岸形成的.在大约公元前8世纪,君主政体的国家在这个地区建立起来了,而且他们 还得管理复杂的系统,例如城堡建设,集中化的行政管理以及大型灌溉工程.这些国家有等级森严 的社会制度,由国王和僧侣(婆罗门)来统治.婆罗门的文学多少代以来都是口述,以一种叫做“吠
第1章古代数学 陀”的长诗的形式来表达.尽管这些诗歌可能在公元前600年就已经取得 了眼下的形式,但在纪元以前还没有书写的记载(图1.6) 一些吠陀时代的材料描绘了祭司们繁褥的献祭仪式.就是在这些叫 《纯法经》(Sulvasutras)的著作中,我们发现了数学的概念.奇怪的是,尽管 这里数学是讨论用砖来造祭坛的理论的,但早期的吠陀文明并没有制砖工 艺的传统,而哈拉帕文化却有.因此《纯法经》中的数学有可能是在哈拉帕 时期创造的,虽然至今还不清楚它们是怎样传承到这后一时期的.不管怎 图1.6 一份《吠陀》 么讲,我们有关印度数学知识的来源就是《纯法经》 原稿. 尽管在公元前一千年以前世界上其它地方也有文明,但迄今所发现的资料对它们的数学并未 提供什么线索.因此只有等到有了新的考古发现后才能来作进一步的讨论 1.2 计 数 最简单的数学概念—一这可能在有文明以前就已存在一就是计数,用话语来计数.或以更 永久的方式用书写的符号来计数.虽然研究各种不同语言中的数目字也是很有意思的(见1.1),我 们在此仅限于讨论数的符号.这些符号的书写有几种不同的组织方法.一种方法叫编组法.最简单 的编组形式就是用一道斜杠/来代表数1;作特定的重复就可以表示较大的数.这种数的表示法最 早出现在扎伊尔的伊尚果(Ishango)地方发现的一块骨化石上,用碳测定年代法定出其年代大约在 公元前20000年左右.不清楚这些骨头上的划痕或缺口具体表示什么东西的数目,但是一位仔细研 究过这种骨化石的学者认为,它们是对月亮的某些周期进行计数.3早期人用这种初步的数量表示 方式来记载天文现象这一点能进一步证实—一如我们在晚得多的时期所看到的那样一数学的 发展是与天文学的发展携手并进的.在欧洲的中部也发现了类似于伊尚果骨的人工制品,年代可能 在8000B.C.,上面有规则分组的刻槽,可能也是表示天文观察结果的. 用编组法表示数的一个更为复杂的例子是埃及人在大约5000年前发明的.在这个象形体系 中,十的头几次幂由不同的符号表示.开始用我们熟悉的一竖表示1.然后用门来表示10,用9表示 100,用表示1000,用)表示10000.通过适当地重复这些符号就可表示任意的整数.例如,为了表 示12643这个数,埃及人就会把它写成AA32》.(注意通常习惯是把小的数位放在前面.) 象形数系是用来写在寺庙墙壁上或刻在柱子上的.但是当书记员要在纸草本上书写时,他们就 需要一种手写书法,为此他们创造出了一种简化的象形数系,成为符号记数系统的一个例子.在这 种数系中从1到9的每一个数字都有一个特定的符号,同样从10到90的每一个10的倍数以及从 100到900每个100的倍数也都有各自的特定符号,由此类推,一个给定的数,例如37,就是在7的 符号之后写上30的符号.由于7的符号是1,而30的符号是7,37就写成1.又如,由于3是写成山, 40写成·,以及200写成”,于是243的符号就是曲·”.虽然在符号数系中不一定要有表示零的符 号,埃及人还真有这样一个符号.不过它并不是出现在数学纸草书中,而是出现在关于建筑的纸草 书中,在那里它是用来标记金字塔结构中底部水平线的,这样的符号还出现在记载会计帐目的纸草 书中,用来在平衡表中表示支出和收入相等.4在希伯来文和希腊文中使用了类似的符号数系,在这 两种语言中所有特定的符号都是直接用字母表中的字母来表示
1.2计 数 。5 不同语言中的数目字: 18 英文 eighteen 8.l0(eight兰8,teen ten=:l0) 威尔士文 deu naw 2x9(deu来自dou=2,naw÷9) 希伯来文 shrnona-eser 8.10(shmona=8,eser =10) 约鲁巴文 eeji din logun 202(ogun 20,eeji=2) 中文 shih-pa 10.8(shih=10,pa=8) 梵文 asta-dasa 8.10(asta¥8,dasa10) 玛雅文 -3er uaxac-lahun 8.10(naxac.=.8,lahun=10) 拉可文 duodeviginti 20去2du0-2,viginti20) 补资 希腊文 okto kai deka 8和10(okto=8,deka=10) 1 40 英文 forty 4x10(这里10(e)变为y) 成尔王文 de-ugeint 2x20(dc来自dau=2,ugeint=20) 希伯来文 arba-im 4s(arba=4,m是复数字尾) 药鲁巴文 ogoji 20×2(ogin=20,eeji=2) 中文 szu-shih 4x10(s2zu=4,shih兰10) 梵文 catvarim-sat 4×10(eatvarah4,sat来自dasa=10) 玛雅文 ca-ikal 2×20(ca=2,ka是20的字尾) 拉丁文 quadraginta 4x10(quad与4,gnta来自decem=0) 希腊文 tettarrakonio 4x10(tettara4,kmta来自dela10) 本表列出了在九种古代和现代语言中表示10和40的词,并对其字源作了语义分析 自有史料记载的时期以来中国人就使用了一种累积式的记数方法,也是以10的幂为基础的, 就是说,他们创造了一套记数符号来分别表示从1到9的各个数和10的各次幂.于是,例如,数659 的写法就是:将6的符号(个)附加到代表100的符号()之上,然后与5()和10的符号(/)放到 一起,最后是写代表9的符号:♂这ǒ.这种记数系统的发展可能与早先使用的算板有关,在这种 算板上算筹排成竖列,代表10的各个幂次(见补遗1.2).于是,很自然地把659看成在代表100的列 中有6,在代表10的列中有5,而在代表1的列中有9,在书写形式中就各用一个特殊的符号来代表 每-列 这类记数系统的任一个,除了第一个以外,都是围绕着基数10来组织的.就是说,对10的整数 幂都各有不同的符号,其他数的符号就是由这些符号来构成的.巴比伦人则用两种不同的基数为基 础来构成他们的记数符号.首先他们采用以十为基础的编组系统来表示小于和等于59的数.于是 在泥板上垂直的一笔划7代表1,而一个扭歪的笔划<《就代表10.在编组记数法中37就表示成 <背接者在公元前第三个千年同的某个时期,巴比伦人对大于9的数创凌了第一个定位 式或者说位值记数系统.在这个记数系统中,基数一在此为60一 的幂不是由符号而是由“位 置”来表示,而在每个位置上的数字表示这个位上幂的个数.这样,巴比伦人把13329(等于3×60
6 第1章 古代数学 +42×60+9)表示成YYY KYY YYY 〔今后我们将把它写成3,42,05,而不用巴比伦人的 YYY 笔划来表示).古代巴比伦人没有0的符号,但如果某个给定数中没有某一幂时,就在那里留个空 位.在一个数的末位之后就没有空位了,因此就很难区分3×60+42(3,42)与3×60+42×60 (3,42,00),不过有时候他们会在这个数的后面加一个适当的数量词来指明它的绝对大小.例如 “342六十”就表示3,42,而“342三千六百”就表示3,42,00.但是,巴比伦人从未用过一个符号来 代表“无”这个意义上的零,有如我们写42-42=0. 国算板 中国算板就是在上面摆了些算筹(长约0cm的小竹笺)的台板,通觉摆弄这些算筹 来作各种计算,用于表示小于10的整数的算筹有两种可能的排列: 123466789 用m前亚产m 补遗 为.了表示大于0的数,中国人在算板上使用了一种进位系统.把算筹排成一列一列,最右面 2 的列表示个位,接下去的列为十位,再接下去的列为百位,以此类推在排的列中,空列表 示零,为了使操作人员易于读数,上述算筹的两种排列方式交替使用,竖排式用于个位、百位 和方位,而横排式用于其余的位,因此,56由三千来表示,而6083由1告来表示 算术运算的做法是,把要运算的数在算板上排成不同的行,然后作适当的操作例如,将 6和9,即丁和m相加,两根水平筹加起来得十,而竖式的筹摆在一起得五,多位数加与减的 运算殷由左向右进行。对子乘法,作运算的人要记住一些基础的相乘结果,然后计算过程 也是从左到右进行,在每次相乘后再相加,除法也是类似地来做 叠负数在算板上的表示孙法是,用某种特征来区别负”筹与“正筹,种办法是用红等 代表正数,用黑等代表负数,用筹来计算的办法本章稍后还要讲在算板上的运算终于发展 成为这样一些方法,我们可以用它们来解线性方程组和求多项式方程的数值解。 巴比伦人把他们的60进位记数系统用于作计算.但在日常用语中他们经常使用的是一个可能 更老一些的记数系统,编组的方式略有不同,而且1,10,60,100,600,1000,3600等等都各有不同的 符号.这个记数系统可能是从粘土票券上的记号发展过来的,这种土制票券在公元前三千纪时曾经 在美索不达米亚地区使用过5,是用来记载从一处运送到另一处去的货物的数量的.起初在这些票 券上画有表示货物种类的象形文字,例如油罐,这样五个椭圆就表示五罐油但是这个办法逐渐演 变成只用一个符号代表货物,而用好几个符号来表示各种大小的数目.如果该货物要用几种不同的 单位来度量才比较方便(譬如谷物就是这种情况),那么对每种单位就用不同的符号, 有些度量单位,当然不是所有的单位,它们之间有这样的关系,即一个“大的”单位等于60个 “小的”单位.那么到了一定的阶段这个记录数目的系统就会发展成这样的形式,同一个数字1也能 代表60.我们不知道为什么巴比伦人要用一个大单位表示60个小单位,并采用这个办法来构成他 们的记数系统.一种猜想是,60可以被很多较小的整数除尽.因此这个“大”单位的分数值可以很容