中国是世界上最早进入农耕社会的国家之一。由于农业生产与天文气候关系最为密切,所以我国古代的天文学发展较快。由于天文工作者必须兼通数学,所以天文学的进步,同时也促进着数学的发展。魏晋南北朝时期的天文学和数学较之前代有了巨大的进步,涌现出许多“搜练古今,博采沈奥”的数学天才和天文学大师,并出现了如祖冲之这样兼通数学和天文学的古代科学巨匠。由于统治者的重视,政府还设立了天文观测和研究机构。这一时期数学的发展,不但能够注意做到理论结合实际,而且具有中外文化交流的特点。
一、数学天才和天文学大师祖冲之
祖冲之(429—500年),字文远,祖籍范阳遒县(今河北省涞源县),后来举族南迁,他本人生长在南朝建康城。其祖父祖昌曾任刘宋大匠卿,其父祖朔之宦至奉朝请,冲之历仕宋、齐两朝,官至长水校尉。他是南北朝时期一位杰出的科学家,在天文历法、数学、机械制造等方面都有重大成就。甚至在音乐领域内,他也是一时之秀,史载“冲之解钟律博塞,当时独绝,莫能对者”[1],真不愧为一位博学多能、多才多艺的古代科学巨匠。
祖冲之在数学方面最主要的成就,首推圆周率的计算。他应用刘徽的割圆术,在刘徽的基础上继续推算,求出了精确到第七位有效数字的圆周率。史载“祖冲之更开密法,以圆径一亿为一丈,圆周盈数三丈一尺四寸一分五厘九毫二秒七忽,朒数三丈一尺四寸一分五厘九毫二秒六忽,正数在盈朒二限之间”[2]。这相当于算得了圆周率在3.1415926和3.1415927之间。在公元5世纪时就取得如此成就,是很了不起的。用这个数值计算直径为一千米的大圆周长时产生的误差不超过1厘米。在国外,直到1427年,阿拉伯数学家阿尔·卡西才求出更精确的数值,把圆周率推算到第17位有效数字,但这已经是祖冲之逝世之后近1000年的事了。
为了计算的方便,祖冲之还求出用分数表示的两个圆周率数值,一个是355/113,称密率,一个是22/7,称约率。其中密率是表示圆周率的最佳渐近分数。在欧洲直到1573年,德国数学家鄂图才得到了这一数值。约率虽仅精确到第3位有效数字,但因数目简约,实际生产生活中使用起来很方便。
关于球体的体积计算,是祖冲之在数学领域做出的另一杰出贡献。古代的数学著作如《九章算术》,是按外切圆柱体与球体体积之比,等于正方形与其内切圆面积之比进行计算的。刘徽首先指出这种计算方法是错误的,他正确地提出“牟合方盖”(垂直相交二圆柱体的共同部分)与球体体积之比,才等于正方形与其内切圆面积之比。但是,刘徽没能求出“牟合方盖”的体积公式。此问题被祖冲之天才地解决了。祖氏巧妙地应用“等高处横截面面积常相等的两个立体,它们的体积必定相等”这一原理,根据实际模型,算出“牟合方盖”的体积等于2/3D3(D为球体直径),从而求出球体体积公式为V=π/6D3。这一公式被当作是其子祖暅的成果而记载于李淳风《九章算术》注中,我们可以把这一成就看成是祖氏父子共同的贡献,习惯上称之为“祖暅公理”。在西欧直到17世纪才由意大利数学家卡瓦列利推导出来。
祖冲之在数学方面的研究成果,记载在他的数学著作《缀术》里。《缀术》是唐代算学学生必读书籍之一,由于其内容较深奥,需要学习4年。可惜此书在宋代即已失传,直到现在,对《缀术》内容的探讨仍然是国内外许多学者很感兴趣的一个问题。
《大明历》编成后,由于权臣戴法兴的反对,终祖冲之一生并未颁行,直到他死后10年才在其子祖暅的请求下,于梁天监九年(510年)正式使用,到隋开皇九年(589年)陈亡止,前后共施行了80年。
祖冲之不仅在学术上取得了卓越的成就,而且在为人处事中也表现出不畏权贵、实事求是的科学精神。在对《大明历》进行讨论的时候,新的历法遭到宋孝武帝宠信的权臣戴法兴的反对。朝中官员,或保守因循,反对变革天文历法,或惧怕戴的权势,多所附会。祖冲之勇敢地进行辩论,写了一篇非常有名的《驳议》。他写道:“愿闻显据,以窃理实”,“浮词虚贬,窃非所惧”[3],充分显示了他那不畏权势,敢于坚持真理的斗争精神。
二、刘徽和《九章算术注》
《九章算术》是中国最古老的数学经典著作,大致成书于公元1世纪。它的出现标志着中国古代数学开始形成自己的体系,后世学者十分重视这本书,不少人为之作注。他们在注文往往记录了自己独到之见和新的发现,从而利用这种方式来推动中国古代数学的进步。而首先对《九章算术》注释具有独创性见解的数学家正是魏晋时期的一代数学宗师——刘徽。
关于刘徽的籍贯、生平事迹和生卒年代,由于缺乏史料而知之甚少。据有关资料可以推断刘徽当是魏晋时人。他在《九章算术注·自序》中说:“徽幼习《九章》,长更详览,观阴阳之割裂,总算术之根源,探赜之暇,遂悟其意。是以敢竭顽鲁,采其所见为之作注。”又说,“辄造重差,并为注解,以究古人之意,缀于勾股之下”,表明了其写作目的。《隋书·经籍志三》载:刘徽撰《九章算术》10卷、《九章重差图》1卷。唐以后,《九章重差图》失传,《九章算术注·重差》1卷改名为《海岛算经》,与其他9卷分为二书并行于世,流传至今。
《九章算术注》对于中国历代数学家而言,其重要意义绝不亚于《九章算术》本身,是我国最可宝贵的数学遗产。刘徽在《九章算术注》中反映出来的学术成就主要表现在两个方面。首先,他系统地整理了各项解题方法,从而提高了《九章算术》的学术水平。更为重要的是,刘徽创立了许多新方法,开辟了数学发展的新道路。
《九章算术》原书过于简略,仅引出问题以及算法的法则,对于为何要采取如此的计算和算法正确与否缺少必要的说明。刘徽在其注文的自序中说:“事类相推各有攸归。故枝条虽分而同本干者,知发其一端而已,”这是数学研究中的至理名言。在实际操作中,他坚持“析理以词,解体用图”的思想,总结整理了齐同术、今有术、图验法、棋验法等解题方法。其中,齐同术解决了不同分母的分数相加减的计算问题;今有术解决了比例类型的计算问题;图验法主要是指用图注解,达到“解体用图,庶亦约而能周,通而不黩,览之者思过半矣”[4]的目的;棋验法则是指用特制的立体模型来计算各种物体体积和开立方、开立圆等问题的数学方法。
刘徽治学严谨踏实,当他计算球体体积取得了阶段性成果但又无力再推进一步时,便采取了存疑审慎的态度,他说:“欲陋形措意,惧失正理,敢不阙疑,以俟能言者?”[5]正是具备这种科学精神,刘徽才能够纠正前人的错误,并且创立了许多新方法,成为一代数学巨匠。
三、多产的数学家甄鸾
中国古代数学在秦汉时代初步形成体系,经过魏晋南北朝数百年的发展已经很完备了,并形成以十部古典数学著作为中心内容的完整的体系。这十部著作合称“算经十书”,是隋唐时国子监算学科学生的指定教材。在十部算经中,有四部是北周时大数学家甄鸾编撰和注解、整理的,包括《周髀算经》、《五曹算经》、《五经算术》和《数学记遗》。
甄鸾,字叔遵,北周中山无极(今河北省无极县)人,官至司隶校尉,汉中郡守。精于数学,兼通天文历法,曾经编撰过《天和历》,并于周武帝天和元年(566年)起被采用颁行。
甄鸾是位勤奋多产的数学家,所著几部数学著作重点各异,学术价值也高低不等,其中最重要的当数《五曹算经》。这是一本为地方行政人员所写的应用算术书,全书共5卷,用田曹、兵曹、集曹、仓曹、金曹5类官名作标题,所有的算术问题都很切合实际,解题方法也很浅显易懂。其中,田曹卷是关于各种田亩面积计算的问题;兵曹卷是关于部队配给、军需等军事数学问题;集曹卷是关于交换贸易的问题;仓曹卷的主题是粮食的征收、运输和储藏等问题;金曹卷则解决纺织品交易和钱财收支等问题,还包括了简单的比例问题。《五曹算经》提到的算法大都不超过《九章算术》的范围,但值得一提的是,此书对于十进位小数的概念有了新的发展。如兵曹第9题以“八斗七升”作为斛以下的十进位小数,金曹最后一题以“奇足钱四分四厘”表示不足一文钱的余数。这在中国数学史上具有相当大的意义,应予重视。
《五经算术》全书共2卷,对《尚书》、《诗经》、《周易》、《礼记》、《论语》等古代经籍有需要运用数学知识或计算技能的地方,都作了详细的注解和讨论,其数学意义不是很大。《数学记遗》1卷,卷首题“汉徐岳撰,北周汉中郡守、前司隶臣甄鸾注”。经学者考证,此书不是徐岳的原著,而是甄鸾伪托其名撰写并自注的书。书中统一了万以上的进位制度及名称,“言万万曰亿,亿亿曰兆,万万兆曰京也”。此后直到宋元时代,数学家多用此进位方法。《数学记遗》还有筹算和心算的内容,并介绍了其他12种计数方法。其一曰“珠算”,即在一块木板上刻3排沟槽,上槽置一珠,每珠以一当五,下槽置四珠,每珠以一当一,中槽为定位之用。这很像是后世算盘的雏形。另外一法曰“九宫算”,即把从1至9的9个数填入9个方格之中,并使每行、每列之和与对角线上3个数之和都等于15,这是最早的“幻方”,也称“纵横图”,它在后世得到了较大的发展。其他计数法还有太一算、两仪算、八卦算、运筹算和龟算等。甄鸾提出这些方法主要是想简化计数法,由于不是从实践中产生出来的,它们对实际计算工作没有起到什么作用。不过,从这些计数法中我们可以看出甄鸾有着卓越的数学才能,而且其中的珠算、心算、九宫算等内容对后世数学有着巨大的影响。
甄鸾还为其他几部数学经典著作做了注释。《旧唐书·经籍志》载:“《三等数》一卷,董泉撰,甄鸾注。”《三等数》是唐朝国子监算学馆学生必读之书,惜今已无传本,其内容难以考证了。甄鸾还重撰过《周髀算经》,它本来是一部古代的数学书,汉代以前的“盖天说”就出于该书,今天的传刻本共两卷,题“(汉)赵君卿注,甄鸾重述,(唐)李淳风等注释”[6]。如果没有甄鸾所做的重述工作,这本古书很可能就要散佚了。此外,《隋书·经籍志》载:“《九章算术》二卷,徐岳注,甄鸾重述”,“《九章算术》二十九卷,徐岳、甄鸾等撰”。又《旧唐书·经籍志》载:“《夏侯伯算经》三卷,甄鸾注。”现传本算经十书之一《张邱建算经》在各卷的第一页上都有“汉中郡守、前司隶臣甄鸾注经”一行文字。不过,书中并不见甄鸾的注解,可能是在传刻的过程中散佚了。
甄鸾穷其一生的时间,整理、撰注了近十部数学著作,对保存我国古代数学研究成果做出了很大的贡献,对推动数学的普及工作也起了不小的作用,真不愧为一代多产的数学大师。
四、观天察法,群星闪耀
提高星图的绘制技术和质量一直为天文学家所重视,魏晋时对于实测星象很有成就,多为后世所引用。孙吴、西晋时太史令陈卓是其中的佼佼者。陈卓星图是圆形盖天式星图,这种星图在汉代已初具规模。随着对天空星象的长期观察,人们对全天星象的认识得到不断的发展,星图所记录的星辰数目亦逐渐增多,至陈卓星图发展到一个高峰。陈卓的工作成果一直为后人所沿用。刘宋元嘉年间,太史令钱乐之铸浑天铜仪,“以朱黑白三色,用殊三家(甘、石、巫咸三家),而合陈卓之数”[7],采用的就是陈卓星图。
虞喜(281—356年),字仲宁,东晋会稽余姚(今浙江省余姚县)人。其家族成员对天文多有研究,族祖河间相虞耸曾撰《穹天论》,有一定的知名度。虞喜“博闻强识,钻坚研微,有弗及之勤”[8]。约在东晋成帝咸康年间(335—342年)发现了岁差现象,所谓“岁差”是指每年冬至太阳所在位置不是恒定不变的。虞喜通过同一时节星辰出没时刻与古代记录的比较,发现恒星的出没比古代提前了,这说明二分(春分、秋分)点与二至(冬至、夏至)点已向西移动。由此他推断出:太阳每年视运动一周天,并非就是冬至一周岁。由于冬至点西移,太阳从一年冬至到第二年冬至,并没有回到原来在恒星间的位置。他根据历史记录推算出太阳冬至点位置每50年里向西移动1度。这个数字只是概略值,比现代天文学所知道的精密值约短了20多年。查岁差是黄赤交点在黄道上逆行的现象,和太阳运动没有直接关系,由于我国古代天文学用赤道坐标表示太阳的位置,因而冬至点也用二十八宿的相对位置来决定。这样,只要检查过去的记录,就能看出冬至点位置有系统的移动,即岁差现象。所以虞喜不是从理论上推断岁差的出现,更不可能真正了解和解释岁差的成因,但是作为我国天文学史上第一次对岁差规律的探索,虞喜的发现是很可贵的,其意义重大,并对以后修正历法、提高推算精度有重要的作用。此外,虞喜还发扬了古代的宣夜说,撰《安天论》,其中不乏卓越之见。
何承天(370—447年),东海郯(今山东省郯城县)人。刘宋时历官尚书左丞、衡阳内史、著作佐郎、太子率更令,领国子博士等职。他博通经史,尤精天文律历,在天文学上最大的贡献是制定了定朔法。我国古历法都用平朔法,或称经朔法,即大月、小月轮流交换,有时接连两个大月,使每个平均朔望月为29.5306日。由于日月运动不均匀,所以用平朔法就会发生历法与月相盈亏不一致的现象。何承天通过精确计算日月的实际位置,从它们的关系来定朔日及月的大小,此所谓定朔法。由于遭到当时保守大臣的反对,此法未能施行,但它得到进步天文学家的支持,对后世有较大影响。何承天还编撰了《元嘉历》,于刘宋元嘉二十一年(445年)正月颁行。过去的历法都以上元时候作为推算五行星的起点,而《元嘉历》则五行星各有其起点而且都不一样,这是它进步的地方。
何承天在计算技术方面亦作出了一些改革,颇有功绩。我国古代计数,1以下的小数都用分数表示,而用分数表示实测数值时,未必能够正确表示出来,往往误差很大,何承天想出了一种全新的算法叫做调日法,用此法演算可以得出与实测值完全一致的分数,对后世历家影响很大。
北齐时,民间天文学家张子信发现了日行盈缩现象,即太阳、五行星运动不均匀现象。张子信,清河(今河北省清河县)人,“学艺博通,尤精历数”[9]。为避葛荣之乱,隐居在一个海岛上,经过30余年的观测,发现了日行盈缩现象。在他之前,天文学家都采用太阳每天运行一度的平均值,有时这和太阳的实际位置相差颇大。张子信指出:“日月交道,有表里迟速,五星见伏,有感召向背。”“日行在春分后则迟,秋分后则速。”[10]虽然他对日行迟速的具体测定不十分正确,对这种天文现象的描述和解释还很幼稚,但却是我国古代关于太阳和五星视运动不均匀性的最早描述。他的这一发现,与东汉末月行中心差现象的发现,在我国天文学史上都具有划时代的意义,并对后世历法的改进产生了深远的影响。史载“后张胄玄、刘孝孙、刘焯等,依此差度,为定入交食分及五星定见定行,与天密会,皆古人所未得也”[11]。