梅文鼎(1633—1721),字定九,号勿庵,安徽宣城人。他一生没有做过官,没有进过钦天监,也没有出过国;他是一个在自家书房里算了一辈子的人。可清代的历算之学,从他这里才真正接上了气。梁启超称他为「历算第一名家」,这话并不过分。
本册的明线有五样。第一样,勾股:他用一张「弦实」图重证勾股定理,并给出由弦与勾股差反求勾股的方法。第二样,开方:他把「开方作法本源」推到十二乘方,高次开方从此有法可循。第三样,天元:他读李冶《测圆海镜》,断定西洋的「借根方」就是中国失传的「立天元一」。第四样,弧三角:他把球面三角形的算法写成中国人能读的体例。第五样,历算:岁差、定气、交食,他都逐条讨论过,并把道理写成问答。
暗线一句:两套数术怎样合成一套。他面前摆着两堆东西:一堆是《九章》《测圆海镜》传下来的老法子,一堆是《几何原本》《崇祯历书》带来的新法子。他没有把一堆扔掉,也没有把两堆硬拼;他做的是一张对照表——让每一句老话都能找到一句新话,让每一句新话都能找到一句老话。
本册分五幕:第一幕讲他面对的两条来路(p.6—p.12);第二幕讲勾股,从一张图到一类题(p.13—p.19);第三幕讲方程与开方,讲到天元术的接回(p.20—p.26);第四幕讲三角与测量,从地上量到天上(p.27—p.33);第五幕讲历算、著作与身后(p.34—p.40)。
三层读法照旧:故事层无需预备知识;数学层只用到整数四则、平方与开方、直角三角形与简单的角(p.7—p.9、p.14—p.16、p.21—p.23、p.28—p.30、p.35—p.37),每一步都从头算起;注疏层给出原书、版本与研究文献,逐页可查。
康熙年间,安徽宣城有一间书房,桌上常年摊着三样东西:一部《九章算术》,一部《崇祯历书》,一支笔。
书房的主人叫梅文鼎。他没有功名,没有官职,也没有钱刻书。他写的东西,多数是手抄本,抄给朋友,抄给学生,抄给来求教的陌生人。一本抄完,再抄一本;有些书抄了三十年,才等到刻印的那一天。
这些抄本里有一本,没有序,没有跋,开头就是一道题。题目是《九章》里的老题:今有勾三尺,股四尺,问弦几何。答案人人知道:五尺。
可下一页不是答案,是一张图。图上画着一个正方形,被切成几块,用朱色与黄色分别标出。图下写着一行小字:「勾股各自乘,并而开方,即弦。」 这句话《周髀算经》里就有,一千多年了,没有人觉得需要再证一遍。
他证了一遍。因为他要拿这张图去和另一本书里的图对照——那本书叫《几何原本》,图是欧几里得的,证法是公理与命题。两张图讲的如果是同一件事,那么两套学问就有通的路;如果不是,那就得说清楚差在哪里。
这本抄本后来收进《历算全书》,题作《勾股举隅》。「举隅」二字出自《论语》:举一隅,不以三隅反,则不复也。他举的是一角,要人反的是三面。
十七世纪的中国读书人,面前有两座山。
一座是古法。《九章算术》里的方田、粟米、衰分、少广、商功、均输、盈不足、方程、勾股;《周髀》里的盖天与勾股;宋元人的天元、四元、增乘开方、垛积、招差。这套东西算得出历法、算得出赋税、算得出土木,用了一千五百年。
一座是新法。利玛窦与徐光启译的《几何原本》前六卷(1607),李之藻与利玛窦译的《同文算指》(1613),徐光启主持的《崇祯历书》(1634 年前后成书),以及随历书进来的平面三角、球面三角、对数、地球与经纬度。这套东西算得比古法准,尤其算天。
两座山之间有一道缝。缝不宽,可深。古法讲「术」,一步接一步,为什么这么走,书上不写;新法讲「理」,先立公理,再推命题,为什么这么走,书上写满了。读古法的人读新法,觉得啰嗦;读新法的人读古法,觉得没头没尾。
更麻烦的是名词。古法的「勾股」,新法叫「直角三角形」;古法的「弦」,新法叫「斜边」;古法的「天元」,新法叫「未知数」;古法的「廉隅」,新法叫「二项式系数」。名字不同,东西是不是同一个?没有人从头到尾对过一遍。
梅文鼎做的事,就是把这本账对清楚。他对得很笨:一条一条地读,一条一条地比,比完写下来,写成别人也能照着比的样子。这件事没有天才的闪光,只有几十年的耐心。
先认三个词。
勾股。直角三角形里,短直角边叫勾,长直角边叫股,斜边叫弦。「勾三股四弦五」是最小的一组整数解,古书里叫「勾股形」。中国算学里,几乎所有的面积、开方、测量问题,最后都能折成一个勾股形。
天元。「元」是未知量。设一个未知量为「天元」,写成「立天元一为某某」,然后按题意列式,最后「开方」求出它。这套办法在宋元之际极盛,李冶《测圆海镜》(1248)用它解了几百道题。
借根方。这是清代人对西洋代数的叫法,意思是「借一个根,再求方」。步骤是:先设所求的数为「根」,把题中的条件写成含根的等式,再逐次降幂,最后开方求根。
三个词摆在一起,事情就清楚了。「天元」与「借根方」是同一件事的两种叫法:都是设未知数、列方程、解方程。「勾股」则是两边共有的地基:中国的勾股形,就是西洋的直角三角形;中国的「弦实」,就是西洋的「斜边上的正方形」。
可这个「就是」,不是一眼能看出来的。因为两边的写法完全不同:一边用筹,一边用笔;一边写「立天元一」,一边写「设所求之数为根」;一边叫「开方」,一边叫「extractio radicis」。要对上,得先把两边的步骤一步一步摆平。
这一册要看的,就是这几步怎么摆平。摆平之后,两套数术并没有变成一套;它们变成了一张可以互查的表。
1633 年,也就是明崇祯六年,梅文鼎生在安徽宣城。他十一岁那年,明朝亡了。此后的几十年,江南的读书人大多在两件事之间摇摆:一件是应考,一件是避世。
他走的是寻常路。少年读书,二十岁前后补了诸生,此后一次次赴乡试,一次次不第。科举考的是经义与策论,不考历算;他把心思放在历算上,考场上自然不占便宜。
大约四十岁前后,他不再赴考。不是愤世,是算清了账:一术之精,未必能换一第;一年之费,不如买几部书。此后近五十年,他的日子就是读书、算题、写信、抄书、教学生。
他的书房不大,可来的人不少。有本县的子弟,有外府来的访客,也有素不相识、只凭一封信来问一道题的人。他回信极认真,往往一写就是几千字,把一道题的来龙去脉讲完。这些信后来多数散失,少数被收进文集。
1689 年,他五十七岁,第一次进北京。住在藏书家黄虞稷家里,白天读黄氏千顷堂的藏书,晚上与阎若璩、顾祖禹、万斯同这些人谈学。那一年他读到了许多在宣城见不到的书,也第一次把两边的人物、两边的书、两边的说法,在脑子里排成了一张网。
1705 年,康熙第五次南巡,在德州召见他。君臣谈了三日历算,皇帝赐他四个字:「积学参微」。那一年他七十三岁,还是一个布衣。
把两套学问摆开看,体例完全不同。
古法的体例是「术」。《九章算术》二百四十六道题,每题给「问」、给「答」,再给「术」。术是一串动作:置某数,乘某数,除某数,开方,得某数。术不解释为什么,只保证照着做就对。刘徽作注,才补上理由。
新法的体例是「理」。《几何原本》先列界说、公论、公设,再由前命题推后命题。每一条命题都要说「因为某,所以某」,一步不许跳。它不保证算得快,只保证每一步都站得住。
两种体例各有各的长处。术的长处是能算:农夫、匠人、吏员照着术做,不必懂理。理的长处是能改:懂得了为什么,遇到术里没有的情形,可以自己推。一个管用,一个管懂。
麻烦在于,两边都以为自己是全部。治古法的人说:西法所算,古法皆有,何必多此一举。治新法的人说:中法有术无理,不足与言学。梅文鼎两边都不站。
他的判断很朴素:「法有可采,何论中西」。能算得准、能说得通,就用;说不通的地方,才需要补。这不是调和,是把「用」与「懂」分开来看。
算得准不准,一半看脑子,一半看手上的工具。十七世纪的中国,同时有三种算法在用。
一是筹算。拿一把竹签,按纵式与横式相间摆出数目,个位纵、十位横、百位纵,遇零空一位。《九章》里的每一步,都是在对着一堆签子做。筹算的好处是看得见位值,坏处是一动就乱,中间结果留不住。
二是珠算。程大位《算法统宗》(1592)之后,算盘遍及商肆。珠算快,口诀顺口,做加减乘除极便。可算盘没有「过程」:拨完只剩一个结果,中间怎么来的,看不出来。
三是笔算。西洋算法用笔在纸上写竖式,一位一位地算,算完的草稿留着。笔算的好处是「过程留在纸上」——错了能查,别人能看,能接着往下推。
三者相比,差别不在快慢,在「能不能回头」。筹算与珠算都是「算完即弃」,纸上不留痕迹;笔算把推演摊在纸面上,推演因此成了可以检查的东西。这一点,正是符号代数能在欧洲长出来的土壤。
梅文鼎看得清楚。他写《筹算》,也写《笔算》,还把西洋的笔算格式改成中国人顺手的样子。他不是要废掉哪一样,而是要让三样各在其位:筹算明理,珠算便用,笔算留痕。
「会通」这个词,当时有三种用法,含义大不相同。
第一种是「西学中源」。说西洋的学问本来出自中国,只是后来传了出去,如今又传回来。这种说法在清初很盛,梅文鼎也常这样说:几何即勾股,借根方即天元,三角即重差。
第二种是「各有所长」。说两边各有一套,取长补短即可,不必追问谁先谁后。徐光启说过一句更彻底的话:「欲求超胜,必先会通;会通之前,先须翻译。」 他要的不是对照,是超过。
第三种是「以中法解西法」。不争论来源,只用中国已有的图、已有的术语,把西洋的每一条命题重讲一遍,看能不能讲通。讲得通,说明两边同理;讲不通,说明有一边错了,或者两边说的不是一件事。
梅文鼎三种都用,可重心在第三种。因为前两种是态度,第三种是工作。态度可以争一千年,工作只能一条一条做。
他给这件工作定了一个判据,很简单:两边的方法能不能互相改写,改完之后结果对不对得上。能,就是会通;不能,就还是两套。这个判据不涉及民族感情,只涉及纸上的步骤。
梅文鼎一生,抄过很多书。
那个年代的书,多数靠抄。刻本少,价钱贵,借到一部书往往只有几天。抄书的人得在几天里把一部书过一遍,抄完还要校,校完还要记住哪一卷在哪一处。
抄书是一种慢读。眼睛看一遍,手写一遍,脑子再过一遍;三遍下来,字句就长在身上了。后来的学者说他记性好,其实一半是抄出来的。
抄书也让他看见了一些别人看不见的东西。同一部书的不同抄本,字句常有出入;一处出入,可能就是一个方法的失传。他校《测圆海镜》,就是从一个抄本的「细草」里,认出了「立天元一」的用法。
抄书还有一层意思。抄本是可以送人的。他把自己的书抄给别人,别人把别人的书抄给他。一张看不见的网,就这样在几十年里结起来:宣城、南京、杭州、北京,一个个书房连成一片。
这张网没有名分,没有经费,也没有衙门。可清初的历算之学,正是靠这张网传下来的。有些学问不是被谁发明的,是被谁抄下来的。
第一幕走了三条线。
第一条是家国。他生在明末,长在清初。改朝换代对读书人的影响,不只是换一个年号,是换一整套「什么算学问」的标准。经义是正途,历算是旁门;他选了旁门,就得自己给自己找理由。
第二条是书。古法与西法,两堆书摆在面前。一堆讲术,一堆讲理;一堆用筹,一堆用笔;一堆叫勾股,一堆叫三角。两堆书都读通了,问题才出现:它们说的是不是同一件事。
第三条是人。他是一个布衣。布衣没有衙门,没有历局,没有钦天监的观测台;他能用的只有纸、笔、借来的书,和几个通信的朋友。这限制了他能做什么,也决定了他只能做「纸上的会通」。
三条线在一个地方碰头:「一个人关在书房里,也能替两套学问做校对」。校对不需要权力,只需要耐心;不需要观测台,只需要把两边的步骤一步一步对齐。
碰头之后,问题就变了。原来问的是「西法准不准」,现在问的是「西法的哪一步,能用中法说出来」。前一个问题要靠天象来答,后一个问题只要一张纸。
下一幕就从这张纸开始:一张弦实图,一道勾股题,一条从图到理的窄路。
一、梅文鼎是一个布衣。没有官职,没有观测台,只有书房、借书与通信。他的会通是纸上的会通,靠的是一条一条地对读。
二、两套学问的体例不同。古法讲「术」,保证能算;新法讲「理」,保证每步站得住。会通不是让一边投降,是让两边能互相改写。
三、会通的判据是可改写、可互验。两边的步骤能对上,结果能对上,才算通;对不上,就老实承认是两套。
下一幕看第一件工作:一张弦实图,怎样把勾股定理从「术」变成「理」,又怎样把它和《几何原本》的图接上。
1607 年,北京,一本叫《几何原本》的书刻成。译者是徐光启与利玛窦,只译了前六卷。书里第一条让人吃惊的命题,是「直角三角形斜边上的正方形,等于两直角边上两个正方形之和」。
中国读书人看到这条,第一反应往往是:这不就是勾股?「勾股各自乘,并而开方,即弦」,说的是同一件事。一句话就把人家一整页的证明打发了。
可两种说法的分量不一样。「勾股各自乘」是一句术:照做就行,为什么行,不管。《原本》那一页是理:先证两个三角形全等,再证两个正方形等积,最后把三块拼起来。术只说「怎么做」,理要说「凭什么」。
梅文鼎没有停在「这不就是勾股」上。他把《原本》前六卷里能用勾股解释的命题,一条一条挑出来,用中国的图与中国的术语重讲一遍,写成《几何通解》。「通解」二字,通的是两边的话,不是把西书改成中书。
他挑中的第一条,是《原本》第三卷第三十一题:半圆上所对的角是直角。这条命题在《原本》里用等腰三角形与三角形内角和来证,一句勾股也没提。梅文鼎用勾股重证了一遍——他要看看,两套话能不能说到同一个地方。
这一幕就沿着这条线走:先看一张弦实图,再看由弦求勾股的一类题,最后回到那个半圆。三步走完,「几何即勾股」这句话,就不再是一句口号。
先看一张图。以勾股和 a + b 为边,作一个大正方形。
在四个角上,各放一个直角三角形,两直角边为 a 与 b,斜边为 c。四个三角形摆成一圈,中间正好空出一个正方形,边就是 c。
现在算两次面积。
第一次,算大正方形:(a + b)2 = a2 + 2ab + b2。
第二次,算四块加一块:四个三角形,每个面积 ab/2,四个合起来 2ab;中间的正方形面积 c2。合计 2ab + c2。
两次算的是同一块地,所以相等:a2 + 2ab + b2 = 2ab + c2。两边同时去掉 2ab,得 a2 + b2 = c2。
拿勾三股四验一遍。(3 + 4)2 = 49;四个三角形 4 × 6 = 24;49 − 24 = 25 = 52。对上。
梅文鼎把这个证明的要害说成一句话:「勾股积」是同一个量,从大处算是 2ab,从小处算也是 2ab,所以可以两边对消。对消这一步,就是「理」;照着算出差额,就是「术」。
勾股题有一大类,给的不是两条边,是一条边加一个差。比如:弦十三,股比勾多七,问勾股各几何。
设勾为 a,股为 b,弦为 c,较(股减勾)为 d = b − a。把 b = a + d 代进勾股定理:
c2 = a2 + (a + d)2 = 2a2 + 2ad + d2。
移项:2a2 + 2ad = c2 − d2。左边配方:(2a + d)2 = 2c2 − d2。于是
a = (√(2c2 − d2) − d)/2,b = a + d。
验第一组:c = 13,d = 7。2 × 169 − 49 = 289,开方得 17,a = (17 − 7)/2 = 5,b = 12。验:25 + 144 = 169。
验第二组:c = 25,d = 17。2 × 625 − 289 = 961,开方得 31,a = 7,b = 24。验:49 + 576 = 625。
这里有一个门槛,得说明白。2c2 − d2 不一定是完全平方。是,勾股是整数;不是,勾股就带根号。梅文鼎把「是」的情形一条一条列出来,把「不是」的情形交给开方术——这正是一个布衣算家的分寸。
《原本》第三卷第三十一题:圆上以直径为一边的角,是直角。欧几里得的证法不碰勾股,只用等腰三角形与三角形内角和。
梅文鼎换一条路。设圆心为 O,直径为 AB,圆上一点 P。连 OP。因为同圆的半径相等,OA = OP = OB = r。
于是得到两个等腰三角形:△OAP 与 △OBP。等腰三角形的两底角相等,所以 ∠OAP = ∠OPA,∠OBP = ∠OPB。
再看大三角形 △APB,三个角是 ∠OAP、∠OBP、∠APB,而 ∠APB = ∠OPA + ∠OPB。三角之和为一百八十度,于是两个锐角之和等于一个直角,∠APB 也是直角。
现在用勾股验一遍。取半径 r = 5,于是 AB = 10。在圆上取一点,使 PA = 6。直角三角形里 PB2 = 100 − 36 = 64,PB = 8。验:36 + 64 = 100。
两套话说到这里就对上了:欧几里得用「等腰—内角和」推出直角,梅文鼎用「直角—勾股」反推出边的关系。一个从角到边,一个从边到角;同一张图,两条路。
这一步不大,可是方法上的意义不小。它说明「几何即勾股」不是一句大话,而是一条可以逐题兑现的兑换率。兑得了,就通;兑不了,就得承认有一边还没读懂。
中国算学重图,西洋几何也重图,可图的地位不一样。
在中国,图是「验」的工具。术给出步骤,图给出一个看得见的凭据:把块面移一移,面积对上了,这条术就靠得住。图不必逻辑严密,它只需要让人一眼信服。
在西洋,图是「证」的辅助。命题的真,靠前提与推理;图画得再准,也只是帮助眼睛跟上。图可以画歪,证明不能歪。欧几里得的图从来不标数值,就是这个道理。
两种态度各有代价。重图的,容易停在一眼看懂的地方,不再追问「为什么必然如此」;重理的,容易把图丢掉,读到后来不知自己在说什么。
梅文鼎两边都舍不得。他的书里,图一定画,而且画得极细:哪一块是勾实,哪一块是股实,哪一块是弦实,都标清楚;可图后面一定跟一段推演,把「移一移」换成「算一算」。图给眼睛,算给怀疑。
这种写法有个好处:它让两边的读者都能进来。看图的,先信了;看算的,后服了。会通之所以能成,一半靠这种「两条腿走路」的写法。
勾股定理有三张著名的图。
第一张是赵爽的弦图。以弦为边作正方形,内部放四个勾股三角形,中间夹一个小正方形,边长是股减勾。算面积:c2 = 4·(ab/2) + (b − a)2 = a2 + b2。
第二张是梅文鼎的大方图。以勾股和为边作正方形,四角放四个三角形,中间空出弦方。算面积:(a + b)2 − 4·(ab/2) = a2 + b2。
第三张是欧几里得的风车图。两直角边上各作正方形,从直角顶点向斜边作垂线,把斜边正方形分成两块,再用全等三角形证明每一块分别等于一个直角边正方形。
三张图,一条定理。赵图是「内分」,梅图是「外补」,欧图是「等积」。内分靠移位,外补靠对消,等积靠全等。三种手法,三种传统,落在同一个等式上。
梅文鼎的分量在这里:他没有说「古书早就有」,也没有说「人家更严密」;他把三张图并排放着,让读者自己看它们怎样说同一件事。并排放着,是一种很克制的做法——它不争先后,只争通不通。
下一幕换一个题目:方程。那里没有图可看,只有一整套符号;会通的难处,也从「眼睛」转到了「手」。
一、勾股定理有三张图,一条理。内分、外补、等积,三种手法落在同一个等式上。会通的第一步,是把这三张图并排看清。
二、「勾股较」这类题,是从「一条边」走到「一类边」。给弦与差,能反求勾股;公式是 a = (√(2c2 − d2) − d)/2,能不能得整数,要看开方尽不尽。
三、「几何即勾股」是可以逐题兑现的。半圆上的直角,用等腰三角形推得出,用勾股也验得出。兑得了就通,兑不了就老实说没读懂。
下一幕进方程:一部讲「方程」的书,一座「开方作法本源」的三角,以及一句把两套代数接上的判断。
1672 年前后,梅文鼎写成《方程论》六卷。这是他的第一部大书,也是清代第一部专论「方程」的著作。
书名里的「方程」,不是今天课本里的「方程」——不是含未知数的等式,而是一组一次式:几个未知量,几个条件,摆成一张方阵,一起解出来。这个意思来自《九章算术》第八章,那一章就叫「方程」。
他写这本书,先是为了正名。当时的人把「方程」与「借根方」混为一谈,甚至有人拿「方程」去指西洋的代数。名一乱,法就乱:本来是两套不同的东西,被叫成同一个名字,学的人就永远分不清。
书里先把「方程」的界限划清:一是未知量的个数与条件的个数相等;二是每个条件都是一次式;三是解法是「直除」——一行一行地减,减到只剩一个未知量。这三条,就是《九章》的老规矩。
划清之后,他才讲新东西。他讨论正负数的加减法则,讨论「无对」的情形(今天叫不相容),讨论「有无穷多解」的情形,还讨论如何用「和较交变」把复杂的条件化成标准形。这些讨论,比《九章》细得多。
这本书没有引起多大反响。因为它讲的题目,日常用不上;能用上的人,又多半不读这种书。可它把一条快要断的线接住了:中国的「方程」之学,从此有了一个清楚的、可以教人的本子。
看《九章》的第一道方程题。
上禾三秉、中禾二秉、下禾一秉,共三十九斗;上禾二秉、中禾三秉、下禾一秉,共三十四斗;上禾一秉、中禾二秉、下禾三秉,共二十六斗。问三种禾各一秉实几斗。
设上禾一秉 x 斗,中禾 y 斗,下禾 z 斗。三个条件写成三行:
3x + 2y + z = 39
2x + 3y + z = 34
x + 2y + 3z = 26
古法叫「直除」:拿一行去减另一行,把某一列消成零。先做第一行减第二行:x − y = 5,即 x = y + 5。
再做第二行减第三行:x + y − 2z = 8。代入 x = y + 5:2y − 2z = 3,即 z = y − 1.5。
代进第三行:(y + 5) + 2y + 3(y − 1.5) = 26,得 6y = 25.5,y = 4.25。于是 x = 9.25,z = 2.75。
验:3 × 9.25 + 2 × 4.25 + 2.75 = 27.75 + 8.5 + 2.75 = 39;2 × 9.25 + 3 × 4.25 + 2.75 = 18.5 + 12.75 + 2.75 = 34;9.25 + 8.5 + 8.25 = 26。三行都对。
这就是今天的高斯消元法,早了近两千年。差别只在写法:古人把系数摆在筹上,一行一行地减;今天把系数写成矩阵,一行一行地减。动作一样,只是纸面不同。
开方是古算里的重活。开平方还容易,开立方就麻烦,开四次以上,多数人一辈子碰不到,也一辈子学不会。
梅文鼎写《少广拾遗》,把这件重活理成一条路。他用的工具,是一张三角形的数表,古书里叫「开方作法本源」,今天叫贾宪三角或杨辉三角。表的第 n 行,就是 (a + b)n 展开式的系数。
看第四行:1 3 3 1,对应 (a + b)3 = a3 + 3a2b + 3ab2 + b3。古书把这四项叫「方、廉、隅」:a3 是方,3a2b 与 3ab2 是廉,b3 是隅。廉是边,隅是角,说的是一个立方体被切开后的各个块。
用这张表开立方,试 ∛1728。先定十位:1000 ≤ 1728 < 8000,所以十位是 1。设 a = 10,个位为 b,则
1728 = 1000 + 300b + 30b2 + b3,即 728 = 300b + 30b2 + b3。试 b = 2:600 + 120 + 8 = 728,正好。所以 ∛1728 = 12。
梅文鼎把这张表推到「十二乘方」,也就是十三次。第十三行的系数之和,是 212 = 4096。这个数不是他算出来的答案,是他能走到的边界。再往上,纸不够,字太长,实用上也无人问。
《少广拾遗》的分量不在难度,在秩序。它把「开几次方」变成「查第几行表」,把一门靠师傅口传的手艺,变成一套可以印在纸上、照着走到底的步骤。会通的工作,多半是这种活:不添新东西,只把旧东西摆整齐。
天元术的样子,看一道题最清楚。
勾股之和为十四,弦为十,问勾股各几何。
天元术的写法是:「立天元一为勾。」 设勾为 x,则股为 14 − x。「各自乘,并而开方,得十」:
x2 + (14 − x)2 = 100。展开:2x2 − 28x + 196 = 100,即 x2 − 14x + 48 = 0。
「开方」得 x = 6 或 x = 8。两个根都对:勾六股八,或勾八股六。古人不排斥这个「两解」,只说「勾股可互易」。
再看借根方。西洋的写法是:「设所求之数为根。」 设勾为 x,股为 14 − x,列式 x2 + (14 − x)2 = 100,化简得 x2 − 14x + 48 = 0,开方得六与八。
两步一模一样,只差名字:一个叫「天元」,一个叫「根」。「元」是首、是始;「根」是根源、是本。两个词都在说同一件事:先给未知量一个临时的名字,把它当已知的用。
梅文鼎的判断就是从这里来的。他读《测圆海镜》的细草,看见「立天元一」四个字,立刻认出这就是借根方的第一步。认出来之后,两边几百道题就可以互相对照:中法的题,用西法解一遍;西法的题,用中法解一遍;解得通,说明两边真是一回事。
天元术曾经失传过一次。
宋元之际,它是显学。李冶、秦九韶、朱世杰的书里,天元、四元、增乘开方、垛积招差,一套接一套。可到了明代,这些书多半散佚,剩下的几种,读的人也读不懂了。
失传有一个具体的样子。顾应祥得到《测圆海镜》,看见每道题后面那一段「立天元一」的细草,不明白它在做什么,索性删掉,另写一套「释术」。删的时候,他大概以为自己在整理;后世看,那是把方法从书里摘掉了。
删掉之后,书还在,题还在,答案还在。可「怎样从条件走到答案」这一段,没有了。读者只能看见结果,看不见路。这就是失传:不是书烧了,是路断了。
梅文鼎把路接了回来。他靠三样东西:一是残存的细草,二是《九章》开方术的旧法,三是西洋借根方的完整步骤。三样摆在一起,缺的那一段就能补上——因为同一道题,三种写法都通向同一个答案。
这件事给他的启发,比任何一条定理都大。他后来治学的路子,一直是「以有证无」:用手上完整的,去补那个残缺的;用两边都通的,去解释一边说不清的。
知识不是一条直线,它有断口。断口不会自己长好,得有人拿别的东西去接。
两边都做同一件事,可说出来是两句话。
中法说:「立天元一为某某。」 这句话的重心在「立」——把未知量立起来,给它一个位置。立起来之后,它就与已知的量平起平坐,可以相加、相乘、开方。
西法说:「设所求之数为根。」 这句话的重心在「设」——暂且假定它是某个数。假定之后,题中的条件就变成关于这个数的等式,解出来就是答案。
两句话的差别在语气,不在动作。「立」有几分郑重,像立一根柱子;「设」有几分权宜,像借一件东西。可柱子也好,借来的东西也好,作用是一样的:让一个还不知道的数,先在纸上有个位置。
这一步为什么重要?因为在它之前,人只能从已知往未知算:一步一步,像走路。在它之后,人可以把未知当已知,从两头往中间凑:像架桥,两边同时开工。
梅文鼎把这个动作认出来之后,会通就有了着落。不是「中法也有」,也不是「西法更高」,而是:这个动作两边都有,只是叫法不同;叫法不同,不妨碍对照。认出一个共同的动作,比争论谁先做,有用得多。
下一幕离开纸面,去看他怎样把三角用到地上与天上。那里有一个更硬的标准:算出来的数,得与量出来的对得上。
一、「方程」古义是一组一次式。《九章》用算筹布成方阵,直除消元;梅文鼎《方程论》为它正名,并把各种情形分清楚。
二、开方靠一张表。「开方作法本源」第 n 行就是 (a + b)n 的系数;梅文鼎推到十二乘方,把口传的手艺变成纸上的步骤。
三、天元即借根方。「立天元一」与「设所求之数为根」是同一个动作的两种说法。认出这个动作,两套代数就能互相对照。
下一幕去看三角:先量一座塔,再量一个天。量地的法子古已有之,量天的法子是新来的;梅文鼎要把它们接到一起。
中国算学里,测量的历史很长。
《海岛算经》开篇就是一道大题:望海岛,立两表,表高三丈,前后相去千步,两次却行,问岛高与去表各几何。解法只用相似:两个直角三角形,对应边成比例,比一比就出来了。这套办法叫「重差」,刘徽注《九章》时把它单列成书。
重差有一个好处:不需要三角函数表,只需要会量长度。也有一个短处:每一次测量都要重新立表、重新构图,题一变,法就得重来。
西洋的办法不一样。它把「角」也算成可测量的量。测一个仰角,查一张正弦表,边与角就能互相换算。一张表管住所有题,题变,法不变。
梅文鼎两边都熟。他写《平三角举要》,讲平面三角形的边角互求;写《弧三角举要》,讲球面三角形;写《堑堵测量》,讲立表测望;写《环中黍尺》,讲怎样在纸上用尺量出球面三角形的结果。四部书,正好把「地」与「天」两级都铺到。
他有一个说法,很能说明他的态度:「三角即勾股」。在他看来,正弦表不过是把勾股形的「勾股相较」预先算好、列成行,用时查一查。这话不全对,可也不全错——平三角的根,确实扎在直角三角形里。
先看平面三角最常用的一条:正弦定理。
a/sin A = b/sin B = c/sin C = 2R,其中 R 是外接圆半径。说白一点:三角形里,边与它对角的正弦成比例。
用它量一座塔。在塔前一点测得塔顶仰角三十度;向塔走二十步,再测得仰角四十五度。问塔高。
设塔高 h,第一次测点到塔底的距离为 x。两次都是直角三角形:
tan 30° = h/x,tan 45° = h/(x − 20)。
由第二式 x − 20 = h,即 x = h + 20。代入第一式:h = (√3/3)(h + 20)。
两边乘三:3h = √3 h + 20√3,h(3 − √3) = 20√3,h = 20√3/(3 − √3) = 20/(√3 − 1)。
算数值。√3 ≈ 1.732051,h ≈ 20/0.732051 ≈ 27.32 步。验:x = 47.32,27.32/47.32 ≈ 0.5774 = tan 30°;27.32/27.32 = 1 = tan 45°。对上。
这道题的要害在「两角一边」。一个角定方向,一个角定比例,一条边定大小;三样齐了,三角形就定了。这正是三角比勾股多出来的那一点:勾股只管直角,三角管任意角。
量天不能用平面三角。因为天是一个球,天上的三角形,边是弧,不是直线。
球面三角形有一条怪性质:三个内角之和大于一百八十度。大多少,取决于三角形占了多少球面。
看一个最简单的例子。把球面按三个互相垂直的大圆切开,得到八个全等的三角形,每个叫一个「八分仪」。取其中一个:它的三条边都是四分之一大圆,三个角都是九十度。
三个九十度加起来是二百七十度,比一百八十度多出九十度。这多出来的九十度,叫「球面剩余」。
剩余不是白多的,它管面积。球面三角形的面积等于剩余(化成长度制)乘以半径的平方。八分仪的剩余是九十度,即 π/2,于是面积 = (π/2)R2。
验一下。整个球面面积是 4πR2,八个八分仪,每个应是 4πR2/8 = (π/2)R2。正好对上。
球面三角的用处,在历法。太阳、月亮、恒星在天球上的位置,用赤经赤纬或黄经黄纬表示;两种坐标之间的换算,就是解一个球面三角形。梅文鼎《弧三角举要》立「总较」诸术,正是要把这套换算写成中国读者能一步步跟着走的格式。他不用「球面剩余」这个名字,可他算的是同一件事。
重差的办法,一道题就看清。
塔高未知。立两根表,各高两丈,前后相距三十步。从前表向后退六步,伏地望塔顶,视线正好过表顶;从后表向后退十步,同样望塔顶,视线也正好过表顶。问塔高与塔到前表的距离。
设塔高 H,塔到前表距离 D。两次望,得到两个相似三角形:
(H − 2)/D = 2/6,(H − 2)/(D + 30) = 2/10。
第一式给 H − 2 = D/3;第二式给 H − 2 = (D + 30)/5。两式右边相等:
D/3 = (D + 30)/5,5D = 3D + 90,D = 45 步。于是 H − 2 = 15,H = 17 丈。
验:15/45 = 1/3 = 2/6;15/75 = 1/5 = 2/10。都对。
古法把这个算法写成两句口诀:塔高 = 表高 + 表高 × 表间 ÷ 影差;塔距 = 前表却行 × 表间 ÷ 影差。本題影差是 10 − 6 = 4,于是 H = 2 + 2 × 30 ÷ 4 = 17,D = 6 × 30 ÷ 4 = 45。
这套办法不用一个三角函数,只用「相似」与「比例」。它的代价是:每换一道题,要重新摆一次图;它的好处是:不识字的人也能照着做。三角把「摆图」换成了「查表」,从此题变而法不变——这就是西洋算法胜出的地方。
梅文鼎一辈子没有自己的观测台。
钦天监有浑仪、有圭表、有漏刻,后来还有西洋来的象限仪与望远镜。这些他都没有。他能用的,是纸、笔、算筹,和借来的几张表。
没有仪器,就得换一种做法。他写《环中黍尺》,用一个很土的办法:在纸上画一个圆,用黍粒排成尺,量弧长,再按比例换算成角度。这叫「以量代算」——把球面三角形画成平面图,用尺去量,量出来的数与算出来的数对照。
这办法粗糙,可它有一样好处:能检验。算出一个角,画出来量一量,差得远,说明算错了;差得近,说明大致不错。没有仪器的人,就用纸当仪器。
他也很清楚这办法的短处。纸会皱,尺会歪,黍粒大小不匀;量到一度以内,就说不准了。所以他的书里,量法只用来验算,不用来定数。定数还得靠推。
这一点很值得看。一个没有仪器的人,把「验」这一步留在了纸上;一个有仪器的人,把「验」交给了天。两条路都能走,可走出来的学问不一样:一条偏重推演,一条偏重观测。
量地与量天,用的是同一套东西。
量地:立两根表,看两次视线,用相似三角形求高。量天:取两个观测点,看同一个天体的高度角,用球面三角形求距离。两边都是「以可测的比,推不可测的量」。
相似这件事,中西都有。中国的「重差」,核心是「对应边成比例」;西洋的「三角」,核心是「边与对角的正弦成比例」。前者是几何的比例,后者是函数的比例;一个是看图,一个是查表。
梅文鼎把两边接起来,用的还是那句「三角即勾股」。他的推理是:任何三角形都可以拆成两个直角三角形;直角三角形里,边与边之比就是勾股之比;把这些比预先算好、列成表,就是八线表。所以三角不是新学问,是把勾股算尽了的学问。
这个说法有一个漏洞:任意三角形的角,不一定能拆成勾股形里的「勾股相较」,因为拆出来的两个直角三角形,共用一条高,而高不一定落在形内。钝角三角形就要另作处理。梅文鼎知道这一点,他的书里专门讨论了钝角与「外角」的情形。
漏洞不妨碍他的大判断。会通不要求每一句都严丝合缝;它要求的是:大处能对上,小处能说清差在哪里。说清差在哪里,本身就是会通的一部分。
一、重差靠相似,三角靠表。前者题变则法变,后者题变而法不变。梅文鼎两样都写,两样都用。
二、球面三角形的内角和大于一百八十度。多出来的部分叫球面剩余,它管面积;八分仪的剩余是九十度,面积恰为球面的八分之一。
三、没有仪器,就把纸当仪器。《环中黍尺》以量代算,量法只用来验算,不用来定数——这个分寸,比方法本身更值得记。
下一幕进历算:一部书的旅行,一张表的用法,一个不均匀的天,以及「会通」这件事的边界。
梅文鼎的书,走得很慢。
他一生著书八十余种,多数没有刻过。写完一部,抄几份,送人;有人来求,再抄一份。抄本在朋友、学生、同好之间传,传到谁手里,就在谁家的书架上躺着。
转机在 1702 年。这一年康熙南巡,大学士李光地把梅文鼎的《历学疑问》进呈。皇帝读了,说此人留心历象,学问有根柢。三年后,1705 年,皇帝再下江南,在德州召见他,谈了三日,赐「积学参微」四字。
有了这四个字,书还是没刻。名气来了,钱没来。直到 1723 年,也就是他去世两年后,魏荔彤在兼济堂刻成《历算全书》六十卷,收书二十余种,他的东西才第一次成批地印出来。
再往后是 1761 年。他的孙子梅瑴成编成《梅氏丛书辑要》六十二卷,删去重复,校正讹误,把祖父一生的工作收成一部可以读通的书。同年,梅瑴成参与编纂的《数理精蕴》也已颁行——那部书里的「借根方比例」,正是他祖父认出来的那件事。
一部书的旅行,走了近百年。手抄、进呈、召见、刻印、辑要,每一步都不快,每一步都可能断。它没有断,一半靠家里人,一半靠那几个愿意抄书的陌生人。
学问的传法,往往不是靠天才,是靠这些不快不断的小事。
历算离不开表。
《崇祯历书》带来大批表:正弦表、余弦表、正切表,还有日月五星的「立成表」——按日、按刻排好,查一查就能用。表把「算」变成了「查」,一步省下几十次乘除。
可表是离散的。表上只列整度,或者每隔几分列一格;要用的角,往往落在两格之间。这时就靠插值:按比例补出中间的值。
看一个例。表上给出 sin 23° = 0.390731,sin 24° = 0.406737。两格相差 0.016006。要 sin 23.5°,按一半补:0.390731 + 0.008003 = 0.398734。
真值是多少?sin 23.5° ≈ 0.398749。两者相差约 0.000015,也就是十万分之一点五。对历法而言,这个误差小到可以忽略;对角度的最后一位,可能差一点。
插值为什么准?因为正弦曲线在这一小段里几乎是直的。把一段弯线当直线补,弯得越缓,补得越准。这也解释了为什么表要列得密:格越密,段越短,直线近似越好。
梅文鼎对表的用法极熟。他的书里,先立术,再举例,例中必写「查表得某数」,然后一步步算到底,最后还要「以量验之」。术、表、量,三样互相扣着,这是他治历算的固定套路。
古人把一年分成二十四气,每气十五度。若按天数平分,叫「平气」:每气十五天多一点,整齐好记。可按太阳实际走的位置分,叫「定气」:太阳走到黄经某度,就是某个节气。
两者不一样,因为太阳走得快慢不均。地球绕日走的是椭圆,近日点在一月初,远日点在七月初。近日点走得快,约每日 1.019°;远日点走得慢,约每日 0.953°。
于是节气有长有短。冬至前后,太阳走得快,十五度只消 15 ÷ 1.019 ≈ 14.72 天;夏至前后,走得慢,十五度要 15 ÷ 0.953 ≈ 15.74 天。两者相差一天多。
这个差别不是小事。按平气排历,节气与实际天象会越差越远;按定气排历,节气对得上天,可节气之间的天数不整齐,排历麻烦。中国历法在唐《麟德历》以后行定气,正是选了「准」而不是「齐」。
还有一件更慢的事:岁差。地球自转轴像陀螺一样缓缓摆动,春分点每年西退约 50.29″。一年退五十角秒,要 360 × 3600 ÷ 50.29 ≈ 25770 年,才退满一圈。换算成「每度多少年」:3600 ÷ 50.29 ≈ 71.6 年差一度。
晋代的虞喜第一次看出这件事,此后历代历家都要定一个岁差值。梅文鼎在《历学疑问》里讨论古今岁差数值的不同,指出这不是谁算错了,而是「差」本身在变。这句话的分量在于:他把一个「数」看成了一个「变量」。
「西学中源」这句话,得拆开看。
有些比附是站得住的。「借根方即天元」——两边的步骤确实一一对应,换名字就行,这是硬碰硬对出来的。「几何即勾股」——在平面图形与直角三角形的范围内,大体成立,超出这个范围就不行。
有些比附是勉强的。「三角即重差」——重差是相似,三角是函数;重差每题重摆图,三角一表管到底,两者不是一回事。「地圆说出于浑天」——浑天说讲天包地如卵黄,与地球为球、天无实体,差得还远。
梅文鼎自己未必分不清。他一边说「西学中源」,一边把西洋的算法一条一条学进来,学得比谁都细。说源流,是给西学找一个能安放的位置;学算法,是知道它真有用。两件事并行,不矛盾。
可这个说法有代价。它容易让人以为「不必再学,只要回头找」。清中叶以后,算学复兴而天文观测停滞,与这种心态不无关系。会通一旦变成「找回」,就不再往前走了。
所以边界在哪里?边界在「能不能算」。能算、能验、能改,就是活的学问;只能引、只能比、只能说「古已有之」,就是死的学问。梅文鼎的可贵,是他始终在算;他的局限,是他把「源」说得太满。
梅文鼎一生没有做官。
不是没有机会。康熙召见之后,地方大吏几次想荐举他,他都辞了。有人说他清高,有人说他固执。他自己的说法很平淡:老了,走不动了,书还没写完。
不仕有好处。他不受衙门管,不必替哪一部历法背书,也不必在「大统」与「时宪」之间站队。他可以今天算西法,明天算古法,算完把两边摆在一起给人看。这种自由,是布衣唯一的好处。
不仕也有坏处。他没有观测台,没有助手,没有经费;一部书要刻,得等别人出钱。他的很多判断,只能靠纸上的推演,不能靠天上的实测。有些结论因此慢了一步,也有些因此错了一步。
这种身份,正好说明了他工作的性质。他不是「引进者」——引进是使节与教士的事;他也不是「制定者」——制定是历局与朝廷的事。他是「校对者」:把两套文本摊开,一字一句地对,对完写下差异。
校对者不出风头,可缺了他,两套文本就永远对不上。一个时代需要有人往前冲,也需要有人蹲下来把账对平。梅文鼎是后一种人,而这件事,他一做就是五十年。
五幕走完,三条线收在一处。
第一条是「术」与「理」。古法讲怎么做,新法讲凭什么。梅文鼎两边都要:图给眼睛,算给怀疑;术保证能算,理保证能改。他写书,一律先立术,再举例,最后补一段「所以然」。
第二条是「中」与「西」。勾股与几何,天元与借根方,重差与三角。他的做法不是合并,是列对照表:左边一行中文,右边一行西文,中间一行写着「此即彼」。对照表一旦列成,两边都能用,且能互相校验。
第三条是「纸」与「天」。他没有仪器,只能纸上推演;可他知道纸上的结果得拿去与天对。所以他的书里,算完必验,验完必记「与某书某表合」或「与某年实测差几分」。纸与天之间,始终留着一道可以核对的缝。
三条线收在一处,收成一句话:会通不是把两样东西变成一样,是让两样东西能互相说明。能互相说明,就不必争谁高谁低;不能互相说明,争也没用。
这句话今天看,仍然有用。两个传统、两套术语、两种训练,碰在一起的时候,最缺的往往不是高明的见解,而是一张肯坐下来对完的对照表。
一、书走得慢。手抄八十年,1723 年才刻成《历算全书》,1761 年才有《梅氏丛书辑要》。学问的传法,靠的是不快不断的小事。
二、表把连续的天折成可查的行,插值再把行补回连续。定气与岁差说明:天不均匀,连「差」本身都在变。
三、会通有边界。能算、能验、能改,是活的;只能引、只能比、只能说「古已有之」,是死的。梅文鼎始终在算,这是他的可贵;他把「源」说得太满,这是他的局限。
下面收束:一条年表,三种读法,三个还没有答案的问题。
把这一册的事排成一条线。
1633 年 生于安徽宣城
1644 年 明亡,年十一
1653 年前后 补诸生
1662 年前后 始治历算
1672 年前后 《方程论》成
1680 年前后 《勾股举隅》《几何通解》
1689 年 入都,馆黄虞稷家
1690 年前后 《几何补编》《少广拾遗》
1699 年 《历学疑问》成
1702 年 李光地进呈《历学疑问》
1705 年 康熙召见于德州,赐「积学参微」
1721 年 卒于宣城,年八十九
1723 年 《历算全书》刻于兼济堂
1761 年 《梅氏丛书辑要》刊行
这条线上,前四十年是读书与应考,中间四十年是写书,最后十年是等书刻出来。他一生的转折不在某一年,而在某一天:他决定不再赴考,把余生交给书房。
写书的四十年,产量大得惊人。八十余种,涉及勾股、开方、方程、三角、测量、历法、天文仪器、中西历争,几乎每一个当时能想到的题目,他都写过一遍。可这些书多数没有印,靠抄本流传。
线还有一处值得看。他的名声来得极晚:六十九岁进呈,七十二岁召见,八十八岁那年书还没刻。一个人做了五十年,等到第八十八年才被看见——这件事本身就说明,学问的传播与学问的做成,是两条不同的时间线。
同一册书,三个人可以读出三种东西。
孩子读对照。拿一张纸,剪两个一样的直角三角形,拼成一个方,再拼成另一个方,看中间空出的那块有多大。不用讲勾股,也不用讲公式,只要拼一遍,就会记住「两个小方合起来,正好是大方减去四块三角」。这一层要的是手感。
少年读换算。给弦与差,算出勾股;给两个仰角,算出塔高;给一张正弦表,插出中间的值。这一层要的是「会算」,并且知道算出来的数能拿去与量出来的对。
成人读立场。问一句:他为什么一定要说「西学中源」?这个说法给他带来了什么,又限制了什么?一个布衣在改朝换代的年代里,怎样替一套外来的学问找一个能安放的位置?这一层要的是「凭什么」,不是「是什么」。
三种读法不是三个年龄,是三个问题。孩子问「它怎么拼」,少年问「它等于多少」,成人问「他为什么那样说」。三个问题都问过,才算把一个人看全。
若只能读一层,建议读第一层。因为「两张图讲同一件事」这件事,亲眼看一遍,比背十句「会通」都实在。
梅文鼎走到三个地方,停住了。这三个地方,后来各长出一门学问。
第一处:断掉的知识怎么接?他从残本里读回天元术,可宋元算学的全貌,他到死也没有看全。秦九韶的「大衍求一术」、朱世杰的「四元术」,当时几乎无人能读。一个传统断了,靠几个人的记忆能接回多少?接回的那部分,还是原来的吗?
第二处:会通能不能代替创造?他把西法一条一条译成中法,把中法一条一条讲给西法的读者。可他自己新立的定理不多。「把两套讲通」与「往前再走一步」,中间隔的是什么?
第三处:纸上的推算,谁来验?他没有观测台,只能拿别人的表来对。表错了,他的推算也跟着错;可他无从知道表错了。学问的「验」若不在自己手里,它还算不算学问?
三处停步,都不是因为他笨。每一处都卡在一个「当时还不存在的东西」上:完整的文献、新的数学工具、自己的观测台。他要往前一步,得先有人把那个东西造出来。
这也正是这套书反复讲的那件事。一个人能走多远,一半看他自己,一半看他手上有什么。
材料:纸、笔、一把尺。目标:亲手验出「正多面体只有五种」。
第一步,数一数。把五种正多面体的顶点数 V、棱数 E、面数 F 列成表:
正四面体 V = 4 E = 6 F = 4
正六面体 V = 8 E = 12 F = 6
正八面体 V = 6 E = 12 F = 8
正十二面体 V = 20 E = 30 F = 12
正二十面体 V = 12 E = 30 F = 20
第二步,验一条公式。每一行都算 V − E + F:4 − 6 + 4 = 2;8 − 12 + 6 = 2;6 − 12 + 8 = 2;20 − 30 + 12 = 2;12 − 30 + 20 = 2。五行全是二。
第三步,说明为什么只有五种。设每个面有 p 条边,每个顶点聚 q 个面。数棱有两种数法:按面数,每条棱被两个面共用,pF = 2E;按顶点数,每条棱连着两个顶点,qV = 2E。
代入 V − E + F = 2,整理得 1/p + 1/q = 1/2 + 1/E。因为 1/E > 0,所以 1/p + 1/q > 1/2。
又因为每个面至少三条边、每个顶点至少聚三个面,p ≥ 3、q ≥ 3。逐个试:(3,3) 得 2/3 > 1/2;(3,4) 得 7/12;(3,5) 得 8/15;(4,3) 得 7/12;(5,3) 得 8/15。再往下都不行:(3,6) 得 1/2,恰好不长也不短,铺满平面而不围成体;(4,4) 得 1/2,同样铺平面。所以只有五组。
最后想一想:正十二面体有二十个顶点、三十条棱、十二个面。若在每个顶点削去一角,会得到什么?20 − 30 + 12 = 2 仍然成立,可面数与顶点数都变了。削角得到的多面体,正是梅文鼎在《几何补编》里讨论过的那一类。
材料:两根等高的竹竿(各约两米)、一卷尺、纸笔。目标:不爬塔,量出塔高。
第一步,立表。在塔前平地上立第一根竿,再沿直线向后立第二根,两竿相距三十步(用步量,一步约五尺)。两竿要立直,地面要平。
第二步,两次后退。从第一根竿向后走,直到眼睛、竿顶、塔尖三点成一线,记下后退的步数,设为六步。再从第二根竿向后走,同样对齐,记下步数,设为十步。
第三步,算影差。10 − 6 = 4 步。这四步,就是两次视线的「差」。
第四步,套两个式子。竿高二丈、表间三十步:
塔高 = 竿高 + 竿高 × 表间 ÷ 影差 = 2 + 2 × 30 ÷ 4 = 17 丈。
塔距前竿 = 前却行 × 表间 ÷ 影差 = 6 × 30 ÷ 4 = 45 步。
第五步,验。若塔高十七丈、距前竿四十五步,则第一根竿处的高差是 17 − 2 = 15 丈,比 15 ÷ 45 = 1/3;竿高比后退 2 ÷ 6 = 1/3,对上。第二根竿处高差仍是十五丈,水平距离 45 + 30 = 75 步,15 ÷ 75 = 1/5;竿高比后退 2 ÷ 10 = 1/5,也对上。
最后想一想:若只有一根竿,能不能量出塔高?不能——一个仰角只给出「高与距的比」,给不出具体的高。必须有两次观测,才能把「比」定成「数」。这就是重差为什么一定要立两表。
勾股 直角三角形两直角边与斜边。短边为勾,长边为股,斜边为弦。「勾三股四弦五」为最小整数解。
弦实 以弦为边所作正方形的面积,即 c2。「勾实」「股实」仿此。此词见赵爽《周髀算经注》,梅文鼎沿用。
勾股较 股减勾之差。已知弦与较,可反求勾股:a = (√(2c2 − d2) − d)/2。见 p.15。
开方作法本源 即贾宪三角、杨辉三角。第 n 行为 (a + b)n 的系数。梅文鼎推至十二乘方。
廉隅 开方各项系数之名,源于立方体分割。「方」为正方体,「廉」为三棱柱,「隅」为小正方体。今称二项式系数。
天元一 宋元算学设未知量之法。「立天元一为某某」,再列式、开方。李冶《测圆海镜》用之最精。
借根方 清初对西洋代数的称法。设所求之数为「根」,列式后逐次降幂,最后开方。与天元术步骤相当。
八线 正弦、余弦、正切、余切、正割、余割、正矢、余矢八种三角函数值。表列成行,查用。见《平三角举要》。
定气 按太阳实际黄经分节气,每十五度为一气。与「平气」按天数平分相对。因日行不均,节气长短不一。
岁差 春分点每年西退的现象。今测约 50.29″/年,约 71.6 年差一度。晋虞喜首发其端。
梅文鼎(1633—1721) 字定九,号勿庵,安徽宣城人。清代历算第一名家;以会通中西、整理古法、接回天元术著称。终身布衣。
梅瑴成(1681—1763) 梅文鼎之孙,字玉汝,号循斋。编《梅氏丛书辑要》,参与编纂《数理精蕴》;表彰「借根方即天元术」之说。
李冶(1192—1279) 金元之际数学家,字仁卿,号敬斋。《测圆海镜》(1248)以天元术解勾股容圆诸题,是梅文鼎接回天元术的主要依据。
秦九韶(约 1202—1261) 南宋数学家。《数书九章》有大衍求一术、正负开方术;其书在清初极难见到。
徐光启(1562—1633) 字子先,上海人。与利玛窦译《几何原本》前六卷,主持《崇祯历书》;主张「会通以求超胜」。
利玛窦(Matteo Ricci, 1552—1610) 意大利耶稣会士。1582 年来华,与徐光启、李之藻合译西书,将平面几何、笔算、地图学带入中国。
王锡阐(1628—1682) 字寅旭,号晓庵,江苏吴江人。与梅文鼎同为清初历算名家,自制仪器、夜观天象,著《晓庵新法》。
顾应祥(1483—1565) 明数学家。刊《测圆海镜》而删去天元细草,另作《分类释术》;天元术之失传,与此有关。
主要文献 《方程论》六卷;《勾股举隅》一卷;《几何通解》一卷;《几何补编》四卷;《少广拾遗》一卷;《平三角举要》五卷;《弧三角举要》五卷;《堑堵测量》二卷;《环中黍尺》五卷;《历学疑问》三卷;《历学疑问补》二卷;《勿庵历算书目》一卷。合集:《历算全书》六十卷(1723);《梅氏丛书辑要》六十二卷(1761)。
会通的核心,是一张对照表。左边写中法,右边写西法,中间写「此即彼」。这张表好用,可它有两个陷阱。
第一个陷阱:同名不同实。最典型的是「方程」。古义的「方程」是一组一次式,摆成方阵一起解;今义(也是西义的)是含未知数的等式。同一个词,指着两样东西。读古书时按今义去读,会把《九章》的方程章读成「解一元方程」,全错。
再如「几何」。徐光启译 geometria 为「几何」,取「察几何」之意,兼其音;今天「几何」指一门学科,古书里「几何」常作「多少」解。「对酒当歌,人生几何」的「几何」,与《几何原本》的「几何」,不是一回事。
第二个陷阱:同实不同名。「天元」与「未知数」是一件事,可名字完全不同;「廉隅」与「二项式系数」是一件事,可一个来自立体分割,一个来自组合计数。名字不同,背后的图景也不同。若只换名字,不换图景,读的人会以为懂了,其实没懂。
梅文鼎的高明,在于他两样都交代。他不但说「天元即借根方」,还把两边的步骤一步一步摆出来,让读者看见「立元」与「设根」是同一个动作。他不但说「勾股即几何」,还画图、列式,让读者看见「弦实」与「斜边上的正方形」是同一块面积。
对照表要写得有用,得写清三层:名字对不上、动作对不对得上、图景对不对得上。三层都对上,才算真通;只对上名字,是假通。假通比不通更麻烦——它会让人以为不必再学。
一、初刻。1248 年,李冶在元氏写成《测圆海镜》十二卷。全书一百七十问,皆论勾股容圆,每题之后附「细草」——细草就是「立天元一」的完整推演。书成之后,流传不广,元明之际几成绝学。
二、删草。嘉靖年间,顾应祥得到此书,读不懂细草,认为「立天元一」不过是「虚立一数」,遂删去细草,另作《分类释术》。他的本意是便读,结果是:书还在,路断了。此后百年,读此书的人只看见题与答,看不见怎样从题走到答。
三、接回。清初,梅文鼎得到抄本,以「借根方」的步骤去对「立天元一」的残文,发现两者一一相应。他写下判断,其孙梅瑴成在《赤水遗珍》里进一步举证。天元术从此重新可读。
四、再刻。清中叶,李锐为《测圆海镜》作校勘,焦循亦有研究;鲍廷博收入《知不足斋丛书》,此本成为后来通行的底本。一部书,三次刊刻,中间隔着五百年。
五、这件事的分量。它说明「失传」不一定等于「书没了」。书在,方法没了;方法没了,书就成了谜语。而「接回」也不一定靠新发现,往往靠另一套完整的东西在旁边照着。
六、一个旁证。梅文鼎能接回天元术,正因为他同时懂借根方。两边都懂,才能拿一边去补另一边。这是「会通」最实在的一次兑现。
这一册讲一个人怎样把两套学问摆在一张桌上,一条一条地对。
他面前有两套东西。一套是中国的:勾股、开方、天元、重差,讲「术」,保证能算。一套是西洋的:几何、三角、借根方,讲「理」,保证每步站得住。两套都读通了,问题才出现:它们说的是不是同一件事。
他做的不是合并,是对照。「勾股」对「直角三角形」,「弦实」对「斜边上的正方形」,「天元」对「未知数」,「廉隅」对「二项式系数」,「八线」对「三角函数」。一条一条对完,写成书,别人可以照着对。
所以这一册的主角不是某条定理,是「对照」这个动作。对照一变,能问的问题就变:原来问「西法准不准」,后来问「西法的哪一步能用中法说出来」,再后来问「两边都说不通的地方,是不是还有第三种说法」。
梅文鼎自己未必把这层想得那么透。他只想让中国人读懂西法,也让西法在中国有个位置。他做到了,用的办法是笨办法:读、抄、比、算、写。
孩子读这一册,不必记住天元术。记住一件事就够了:两样看起来完全不同的东西,可能说的是同一件事;要确认,得把步骤一步一步对齐。这是会通的第一课,也是这一册的全部。
一、不要说梅文鼎「引进」了西学。西学在他之前已经进来:利玛窦与徐光启译《几何原本》时,他才还没出生;《崇祯历书》成书时,他十一岁。他做的是疏通与对照,不是引进。
二、不要把他当成「西学中源」的单纯鼓吹者。他确实常说「几何即勾股」「借根方即天元」,可他同时把西法一条一条学进来,学得比谁都细。说源流是给西学找位置,学算法是知道它真有用;两件事在他身上并行。
三、不要以为《几何通解》是「用中学取代西学」。那本书是用勾股重证《原本》的命题,证的目的不是取代,是说明两边同理。他证完还要说「与西法合」,这个「合」字才是要害。
四、不要以为中国古算「只有实用,没有证明」。赵爽的弦图、刘徽的出入相补、秦九韶的正负开方,都有证明,只是写法不同:用图与术来证,不用公理与命题来证。说「没有证明」,是把「证明」窄化成了一种写法。
还有一条容易忽略的:不要把「会通」理解成「融合成一套」。梅文鼎从来没有把两套合成一套;他保留两套,中间加一张对照表。保留两套,才能互相校验;合成一套,就没有第二双眼睛了。
五条误区有一个共同点:都把「立场」当成「事实」。立场可以选,事实只能对。这一册想说的,是后半句。
《数学家的故事》第四辑 第 33 册
梅文鼎 · 会通中西
体例:五幕 · 52 页 · 三层可读(故事/数学/注疏)
插画:40 幅(留白线体)
数值:全册关键数值实算复核
本册为「格物致知」系列数学通识读物之一,面向全龄读者。
故事层无需预备知识;数学层对应小学高年级至初中;注疏层供检索与延伸。
格式 · 格物致知 · JUST FOR FUN