魏晋风流:从刘徽到祖冲之
当时独绝,莫能对者。——《南史》
一、赵爽的“勾股圆方图”
公元 391 年,在北非地中海滨的亚历山大城(今属埃及),由于基督教会的内部矛盾,以及该城教会与罗马教廷之间的冲突,一群基督徒疯狂地烧毁了埃及女王克娄巴特拉先前下令从罗马统帅尤利西斯·恺撒攻城时被毁的大图书馆里抢救出来的宝藏,托勒密王朝膜拜的另一处藏有大量希腊手稿的西拉比斯神庙也未逃厄运。
那会儿,中国正处于动荡不安的魏晋南北朝时代,准确地说,彼时是在东晋后期,中国历史上第一次衣冠南渡已经结束,首都也早已从洛阳经长安南迁到了建康(南京)。与此同时,为后世津津乐道的“竹林七贤”、出身琅琊世族的“书圣”王羲之和“东山再起”的名将、“淝水之战”东晋总指挥谢安等均已不在人世,但名闻遐迩的“魏晋风度”仍在。

所谓“魏晋风度”,乃魏晋之际名士风度之谓也,亦称魏晋风流。在长期独尊儒学之后,思辩之风再起,名士们崇尚自然、超然物外,率真任性而风流自赏。他们言词高妙,不务世事,喜好饮酒,以隐逸为乐。尊《周易》《老子》和《庄子》为“三玄”,以至于清谈或玄谈成为一种社会风气。作为士大夫意识形态的一种人格表现,“魏晋风度”成为风靡一时的审美理想。
在魏晋时代,一方面,东汉末年的“建安七子”影响犹在,另一方面,善于清谈的高手层出不穷,依次涌现了正始名士、竹林七贤、王谢世家、桃源陶令。前两组属于魏-西晋,后两个属于东晋。那一年,我国山水诗先驱谢灵运年方六岁,而田园诗鼻祖陶渊明二十六岁,正过着种田读书的生活,尚未出仕。十四年以后,陶渊明辞官还乡,归隐田园,并写出一首首传世之作,成为历代中国文人墨客乃至西方文化名人膜拜效仿的榜样。(图 1)
在这样的社会和人文环境下,中国的数学研究也兴起了论证的热潮,多部学术著作以注释《周髀算经》或《九章算术》的形式出现,实质上是要给出这两部著作中一些重要结论的证明。这让我想起位于小亚细亚的古希腊城邦米利都,那儿诞生了第一位留名的数学家、哲学家泰勒斯,在城邦社会特有的唯理主义氛围中,经验的算术和几何法则上升至具有逻辑结构的数学论证体系。
从现有的资料来看,东吴的赵爽是魏晋时代最早的数学家之一。在他的传本《周髀算经注》卷首,有题“赵君卿注”。书中注者多次自称“爽”,后世学者由此断定注者名“爽”无疑,而“君卿”可能是赵爽的别号。而由于这本书中两次提到孙吴颁行的乾象历法,学者因此认定他是三国时期的东吴人。
说到乾象历法,在孙权建立吴国的翌年即公元 223 年颁发使用,直至 280 年吴国灭亡,它是由东汉数学家、天文学家刘洪撰写的,是我国第一部引进月球运动不均匀性的历法。刘洪不仅确认了月亮的运动时快时慢,还根据多年的观测记录和数据分析,精确地计算出月亮两个“最快点”之间所需时间为 27.55476 日(近点月),这一数值与现代测值 27.55455 日相差甚微。
刘洪(129-210)是山东蒙阴人,东汉鲁王刘兴后裔,幼时即聪颖好学,博览群书,后被太史令征召赴京城洛阳任郎中,他被尊为“算圣”和“珠算之父”,尤精于天文、历法。刘洪曾任会稽东部都尉,他发明了“正负数珠算”,他的弟子徐岳(?-约 220)制造出世界上第一具算盘,刘洪把乾象历法传于徐岳,徐岳又传于吴国中书令阚泽(?-243),正是后者将其呈现给孙权。
在赵爽《周髀算经注》第一章附注中,有五百多字的“勾股圆方图”说,配了六幅插图,其中一幅就是著名的弦图。利用此图和面积的出入相补,赵爽证明了勾股定理。他这样写道,“勾股各自乘,并之为弦实,开方除之即弦。”此处“弦实”是指以弦为边长的正方形的面积。
考虑以直角三角形两条直角边 a 和 b 为边的正方形的合并图,其面积为 a2+b2。如果将该合并图形所含的两个三角形适当移补,可得以三角形斜边 c 为边长的正方形,其面积为 c2,由此即得勾股定理。严格的证明如下:在“弦图”内以正方形边长为弦,作 4 个全等的勾股形(直角三角形),其勾、股、弦分别为 a,b,c。赵爽称每个勾股形的面积为“朱实”,每个朱实为 ab/2,4 个朱实即为 2ab;称中间的小正方形面积为“黄实”,黄实为 (b−a)2。故而 c2=2ab+(b−a)2=a2+b2
在“勾股圆方图”中,赵爽还证明了勾股定理的许多推论,并给出了“日高图说”,他用出入相补法证明了《周髀算经》中的日高公式。遗憾的是,赵爽的“日高图”已遗失,1975 年,数学家吴文俊依据后人绘制的日高残图和赵爽抽象的文字叙述,成功复原了日高公式的证明,从而开启了他对中国古代数学的研究。2002 年,吴文俊出任北京国际数学家大会组委会主席,弦图被用在大会的会徽和招贴画上。(图 2)

值得一提的是,在清代学者、浙江学政(后任巡抚)阮元主编的我国第一部科学家传记《畴人传》里,赵爽被收录在后汉(东汉)卷的最后一位,前有王充、张衡、刘洪、蔡邕、郑玄、徐岳等人。究其原因,可能是由于赵爽的著作里扼要地总结了东汉时期的算术成就。同样的原因,也可佐证赵爽所处的时代是续接东汉的魏晋时期。
二、割圆之术与牟合方盖
与赵爽相比,刘徽的成就可能更大一些。与赵爽一样,刘徽的生卒年正史没有记载,但学界依据著作年代和历史背景推算他大约生于公元 225 年,并于 263 年(那年蜀国被魏国灭亡,吴国尚续存十七年)撰写了《九章算术注》。从赵爽和刘徽分别注《周髀算经》和《九章算术》,而通常认为《周髀算经》比《九章算术》较早问世(虽未有确凿证据),也似乎说明,刘徽生活的年代可能略晚于赵爽。
之所以可以确定刘徽注《九章算术》的年份,首先是因为他的著作中多次提到“晋武库中有汉时王莽所作铜斛”,这里斛是古代量器,主要用来粮食称量,有圆柱形,也有方锥形,口小底大,汉时容量为十斗,宋改为五斗。西晋元康五年(295 年),武库发生了一场火灾,所藏古物多被损坏或遗失,因此刘徽注书当在此之前,很可能是西晋初年。
其次,《隋书·律历志》中曾引用《九章算术》商功一章(第五章)的注解,特别提到“魏陈留王景元四年刘徽注”。说到景元,它是曹操孙子、魏元帝曹奂的年号,景元四年是 263 年。陈留王是古代王爵名,263 年的陈留王是曹操另一个孙子曹澳。两年后,曹奂被迫禅位给司马炎,曹魏灭亡,西晋建立。曹奂被封陈留王,而曹澳降为陈留县公。说到陈留,它的范围大致在今河南开封、商丘西部和新乡南部一带。
《周髀算经》给出了两个重要的数学结果,即勾股定理和日高公式,日高公式在早期的天文学和历法编制中有着广泛的应用。《九章算术》也有两个亮点,分别是“盈不足”术和“方程”里的联立方程组解法,前者相当于线性插值法,在中世纪阿拉伯数学家的著作和意大利数学家斐波那契的《算经》中被称为“契丹(中国)算法”;后者在西方出现较晚,现被称为高斯消元法。(图 3)

刘徽(图 4)的《九章算术注》除了注“九章”每章一卷,还有他自己写的第十章《重差》和附图合卷,共十一卷。初唐以后,第十一卷失传,《重差》分出,与《九章算术注》独立成书,流传至今。刘徽的自序长约千字,讲述了数学和《九章算术》的起源,以及他本人研习数学的经历。“徽幼习九章,长再详览。观阴阳之割裂,总算术之根源,探赜之暇,遂悟其意。……采其所见,为之作注。”

由此可见,刘徽认为他的学术观基于阴阳之道,他还描绘了心中数学的起源:“昔在包牺氏始画八卦,以通神明之德,以类万物之情,作九九之术以合六爻之变。”这里包牺即伏羲,相传伏羲依据“河图”和“洛书”,在山西洪洞卦地村创设八卦,后由周文王演变成《易经》。刘徽把《九章算术》视为周公礼制的“九数之流”,而其远源则上推至八卦。这种数学源于《易经》的史观,对后世影响甚大。
在注方田(第一章)时,刘徽引进了割圆术(图 5),用以计算圆的周长,由此可导出圆周率和圆面积的近似计算。虽说《九章算术》给出正确的圆面积公式 A=πr2,但由于中国古率与古巴比伦人一样,“圆径一而周三”,即取圆周率为 3,计算结果比较粗糙。割圆术的要旨是用圆内接正多边形去逼近圆,刘徽从正六边形出发,将边数逐次翻倍,依次计算出正多边形的周长,他写道:“割之弥细,所失弥少,割之又割,以至于不可割,则与圆合体而无所失矣”。

这句话反映出,刘徽已有极限思想。虽说公元前五世纪的希腊数学家安提丰便已发现这一定理,但他并没有用来计算圆周率。刘徽注意到,利用勾股定理,正 2n 边形的边长可由正 n 边形的边长导出。这样一来,到第五次时,就得到正 192 边形的边长,由此他得到了圆周率(徽率)为
π≈157/50=3.14
这与阿基米德公元前 240 年所得结果和方法基本一致,只不过后者确定了分数的上下界,且利用了圆的外切和内接正多边形,因此只需算到 96=6×24 边。在后世版本的注文中(尚不知是否刘徽所为),则得出了(应算到第九次,即正 3072 边形的边长):
π≈3927/1250=3.1416
相比之下,西汉刘歆(?-23)为王莽制造圆柱形铜斛,其中铭文记载,他取用的圆周率约为 3.1547;东汉张衡(78-139)在著作《灵宪》中,取用的圆周率为 3.1623;三国东吴王蕃(228-266)在浑仪论中,取 3.1556。让人痛心的是,刘歆因为王莽杀其子,企图弑君,事败自杀;而王蕃则因为酒醉失礼,被东吴末代皇帝孙皓当庭斩杀。
在注商功(第五章)时,刘徽提出了“牟合方盖”的概念(图 6),用以计算球体积。在《九章算术》中,球体积的计算公式 V=(3/2)πr2,结论无疑是错误的(大了一倍)。究其原因在于,古人认为球体积是其外切正方形体积的十六分之九。若考虑到圆周率的古率将错就错,误差略微缩小,但仍较大。

刘徽将几何图形分割后,利用出入相补等方法验证了《九章算术》中各种图形面积计算公式的正确性,这与赵爽证明勾股定理一样,开创了中国古代数学史上对命题进行逻辑证明的范例。但刘徽也发现了这种方法在计算球体积时的缺陷,即与平面的情形不同,并非任意两个体积相等的立体图形都可以剖分拼补。
为了绕过这个难点,中外数学家不约而同地借助于无限小的方法,如同阿基米德所做的那样。刘徽采用了极限和不可分量两种无限小技巧,指出《九章算术》中的球体积计算公式有误。刘徽在一个立方体内作两个垂直的内切圆柱,所交的部分刚好把立方体的内切球包含在里面,且与之相切,这便是他所指的“牟合方盖”。
刘徽发现,球体积与牟合方盖体积之比应该为 π/4,到这里,他实际上接近了积分学中以意大利数学家命名的“卡瓦列利原理”,可惜他没有总结出一般的形式,以至于无法计算出“牟合方盖”体积,也就没能获得球体积公式。不过,他所用的方法为两个世纪以后祖冲之父子最终的成功铺平了道路。
三、“愿闻显据,以核理实”
《九章算术注》第十章是刘徽的《重差》论文,九道例题中的第一道是有关测量海岛山峰的高度,故而后来单独刊行时改称《海岛算经》。西汉时期,天文学家发现了一种测量太阳高、远的方法,数学家把它称为“重差术”。刘徽创立了重差术的三种新方法,即重表法、连索法和累矩法,此书成为了测量学的典籍。
祖冲之(429-500)(图 7),字文远,祖籍河北涞水(古代属范阳郡,今属保定市),与北京市的门头沟区和房山区相接。他生长于南朝的政治、经济中心建康(今南京)。自从 317 年晋室(东晋)南迁以来,江南地区的经济迅速发展,水利和农业技术得到改良,牛耕得以普及,出现了一批较为繁荣的城市,建康是其中突出的代表。

图 7. 祖冲之纪念邮票,原画由蒋兆和作,创作原型是竺可桢
祖家是一个官宦人家,祖冲之的曾祖父祖台之在东晋时官至侍中、光禄大夫,相当于宰相和国策顾问。祖父和父亲都在南朝做官,祖父是掌管宫室、宗庙、陵寝等土木营建的大匠卿,父亲曾任闲散的官职——奉朝请,古时称春季的朝见为朝,秋季的朝见为请。这个家族的历代成员,大多对天文历法颇有研究,所谓畴人是也。
相比其前辈,祖冲之担任过的官职虽然较低,却在数学和天文学领域,乃至机械制造方面取得了杰出的成就。在刘宋时期,他曾担任南徐州(今镇江)的从事史,即州刺史的随员,负责督促文书、察举非法。他也曾外放娄县(今苏州昆山东北)县令(他的孙子祖皓则曾任江都令),后来回到建康,任掌朝廷礼仪与传达使命的谒者仆射。到萧齐朝,他曾官至长水校尉,享受四品俸禄,这也是祖冲之一生担任的最高官职。
祖冲之曾在著作中自述,幼起“专功数术,搜炼古今”。他把上古时起至他生活年代的各种文献资料搜罗来研究,同时亲自进行精密测量和细心推算。可以说,祖冲之批判地接受前人的学术遗产,敢于怀疑古人的结论,勇于提出自己的见解,这是古往今来一切杰出科学家共有的优良品质。
在数学领域,祖冲之师承的正是比他早两个世纪的刘徽,尤其是计算圆周率的“割圆术”和计算球体积的牟合方盖方法。祖冲之在学习和钻研了刘徽的《九章算术注》以后,颇有心得,写成了数十篇专题文章,附缀于刘徽注的后面,叫它“缀述”,也可谓是他的九章注。他的儿子祖暅也写了五六篇,数学史家钱宝琮在《中国数学史》中推测,《缀术》是祖氏父子合著。唐代李淳风将其编入“算书十经”,据说算学生要研习四年。
但是,可能由于《缀术》比较难读,到了北宋它便失传了,1084 年所刻算经中就没有《缀术》。北宋博物学家沈括《梦溪笔谈》称,“北齐祖亘有缀术二卷”,他必定没见过《缀术》,因《缀术》不止两卷,且祖暅是南梁人。南宋数学家秦九韶《数书九章》序言中,也说“天象历度谓之缀术”。显然,沈括和秦九韶的所谓“缀术”并非祖冲之祖暅的《缀术》。
幸运的是,《隋书·律历志》有记载,“古之九数,圆周率三,圆径率一,其术疏舛。自刘歆、张衡、刘徽、王蕃、皮延宗之徒,各设新率,未臻折衷。宋末,南徐州从事史祖冲之更开密法,以圆径一亿为一丈,圆周盈数三丈一尺四寸一分五厘九毫二秒七忽,朒数三丈一尺四寸一分五厘九毫二秒六忽。”也就是说,祖冲之的圆周率精确到小数点后 7 位,即 3.1415926<π<3.1415927。
除此以外,《隋书》还提及,祖冲之得到了约率 22/7、密率 355/113 这两个分数形式的圆周率,前一个由刘宋数学家、天文学家何承天(370-447)率先获得,密率虽只精确到小数点后 6 位,却同样令人惊叹。约率和密率分别是 π 按连分数展开的第二项和第四项,而第一项是古率。
1913 年,日本数学史家三上义夫曾提议称 355/113 为“祖率”。
14 世纪印度数学家马德哈瓦(约 1340-约 1425)发现了圆周率的无穷级数表示,并准确计算到小数点后 11 位(也有说 13 位)。1424 年,即马德哈瓦去世前一年,波斯数学家卡西利用余弦函数的半角公式简化了割圆术的计算方法,将圆周率精确到小数点后 17 位。而德裔荷兰人奥托(约 1550-1605)求得密率,则比祖冲之晚了 1000 多年。由于当时只有刘徽割圆术这一种方法,因此人们猜测祖冲之用的是同样的方法。那样的话,他需要算到第 12 次,即圆内接正 24576 边形的边长。至于密率的求得,恐怕是借助了何承天发明的“调日法”。我们推测,祖冲之用“调日法”于约率与古率(或徽率)之间。待求得密率后,再用割圆术加以验证,正如阿基米德同时运用了平衡法和穷竭法。
祖冲之的另一项重要成就是球体积公式,这也是在刘徽工作基础上完成的。此项结果在他本人撰写的政论文章《驳议》(收入《宋书》)里提及,并极有可能写进失传的《缀术》。有趣的是,李淳风在为《九章算术》所写的一篇注文中却称其为“祖暅之开立方术”。因此,现代数学史家一般把球体积公式归功于祖氏父子。按照李淳风的描述,祖氏是这样计算“牟合方盖”体积的:
以圆半径 r 为边长的立方体,以某顶点为心,r 为半径分纵横两次各截立方体为圆柱体。立方体分成四部分:两个圆柱体的共同部分(内棋),其余三部分(外三棋)。算出“外三棋”体积是问题的关键,他们发现,三部分在每个高度的截面之和等于一个内切的倒方锥截面。这个倒方锥体积是 r3/3,故内棋体积是 2r3/3,从而牟合方盖体积是 2r3/3。再利用刘徽关于球体积与牟合方盖体积之比为 π/4 的结论,就得到球体积计算公式:V=(4/3)πr3
除了数学,祖冲之在天文学方面也有出色的成就。经过实际观察,他发现何承天制定的为当时刘宋王朝采用的《元嘉历》有不少误差,便动手编制了新的历法《大明法》(大明是年号),这是那个时代最准确的历法。462 年,33 岁的祖冲之上表孝武帝刘骏,请求对新的历法展开讨论,不料却遭到大臣戴法兴的反对。祖冲之勇敢地与之进行辩论,并写下《驳议》呈送刘骏,内有他的名言:“愿闻显据,以核理实”。
由于种种阻碍,直到半个世纪以后,已经过了刘宋王朝和萧齐王朝,终于在梁朝天监九年(510),在祖暅的坚持努力下,《大明历》终于颁行,其时祖冲之已去世 10 年了。新历区分了回归年和恒星年,引入了“岁差”的概念,把旧历中每 19 年闰 7 年改为每 391 年闰 144 年,使得一年的误差仅 50 秒。《大明历》一直沿用至陈朝,共 80 年。
除了数学和天文学方面的工作以外,祖冲之还制造过各种奇巧的机械,包括指南车和千里船,他还通晓音律,堪称毕达哥拉斯式的博学多才的人物。另外,祖冲之还著有《易义》《老子义》《庄子义》《释论语》等哲学著作和文学作品《述异记》,可惜与他的数学书一样均已失传。《南史》盛赞祖冲之,“解钟律、博塞,当时独绝,莫能对者。”
祖暅也十分博学多才,他的生卒年近年被推算为 456 年-536 年。祖暅曾撰《漏刻经》,讲述漏刻计时的历史演变。514 年,他任材官将军,服务治淮工程。不料两年后,因新筑成的拦水坝被洪水冲坍,被判有罪,受过徒刑。525 年,他在豫章(南昌)王萧综幕府,萧综投奔北魏,他曾被北魏拘执,后来被放还南朝。《颜氏家训》称祖暅位至南康(赣州)太守,《南史》说他位至太府卿。
鉴于刘徽和祖冲之取得的卓越成就,公元 1109 年,皇帝中的艺术家、27 岁的宋徽宗封刘徽为淄乡男。由于被封的其他人均以故乡命名,而按《汉书》和地方志记载,含淄字的地名淄川、临淄和淄乡等全在山东(淄博则是 20 世纪 20 年代初首次出现,为方便淄川、博山煤田联合开发,抗战胜利后正式成为地名)。淄乡今属邹平市,故而认定刘徽是邹平人。
与此同时,祖冲之被封为地位稍高的范阳子,这可能得益于他的成果明白畅晓,为百姓喜闻乐见。说起爵位,我国商代已有侯、伯的称谓,西周初年周公制礼,正式确立五等爵位,形成礼乐制度。《左传》明确记载公、侯、伯、子、男五级序列。2025 年是刘徽诞辰 1800 周年,2024-2025 年被联合国教科文组织定为“刘徽年”,他是第一个获此殊荣的中国人。
2026 年春天,杭州莲花街


