本文从独特的地方视角,进入16~19世纪徽州数学爱好者们的世界。在这个可以折叠为两段的世界中,前一段他们的计算兴趣首先来自置身其中的热闹的商业生活,也与政府行政管理中涉及人口、土地面积、赋税的数字息息相关。后一段是与西方天文历算的相遇,他们的关注点从实用数学转向天文历算,不得不面对传统宇宙观之下历数的深深困惑。书写这一群体的成就,体味其生活情味、政治情怀、梦想和失败,是将历史与现实联系起来的最真切的方式。
一
一五七三年前后,一位商人结束了半生漂泊,回到他位于徽州府休宁县的家乡。像千千万万的徽州男性一样,他老早就出去做生意,足迹遍及湖广、江南。在漫长的商业生涯中,他始终保持着自己最深的爱好:数学。
这位徽商名叫程大位(一五三三至?)。他自幼就对数学感兴趣,经商期间更遍访名师,广搜数学著作,积累了许多资料。回到故乡之后,程大位用二十年时间编成一部十七卷的数学书,于一五九二年出版,题名《直指算法统宗》。日后,《算法统宗》被反复翻刻、重编、引用。它在数学世界里的地位,就如同四书五经在科举世界里的地位一样。
《算法统宗》书影
以今天的眼光来看,《算法统宗》较少涉及高深的数学讨论,主要内容是日常生活中的计算。按照《九章算术》的古老传统,这些计算仍被分为方田、粟布、均输等九类,不过程大位一生经历的嘉靖、隆庆、万历三朝,正是历史的转折时期,数学书的旧瓶子,也装满了新酒。比如卷二这道题:“假如今有赵钱孙李四人同商,前后付出本银。一、赵于癸亥年正月初九日付出本银三十两,二、钱于乙丑年四月十五日付出本银五十两,三、孙于丙寅年八月十八日付出本银七十两,四、李于丁卯年十月二十七日付出本银九十两。四共本银二百四十两。至戊辰年终,共得利银一百二十两,问各该利银若干?”合伙经商、本利分摊,对于徽商来说是必然会遇到的计算。
商业并不是《算法统宗》的唯一关注,政府行政中的数学占据了更大的比例。程大位生活的时代,最大的“政治”要属一条鞭法的展开,改革的举措,诸如清丈土地、赋役折银等等,无不涉及巨大的计算量。例如,百姓担负的徭役,原本要按照户等指派百姓亲身应役,后来这些徭役逐渐折钱、折银,再由官府雇人充当;田赋原本征收本色,即粮食等实物,后来大部分也转变为折银,这被称为“赋役货币化”。既然折银,必然要确定折银的数额、等次、依据等等,涉及定额、排序、分配诸多计算。学者早已指出,一条鞭法催生了大量文书、票据,这些凭证上最重要的内容就是数字,包括但不限于人口、土地面积、税负等等。
《算法统宗》里的幻方
延续几十年的赋役改革,伴随着海量的数据生产与数据交换。这种背景下,像卷二这种简单的题目,已经不能应付实际行政需求了;能做出卷九所列更复杂的题,可能才勉强够格去做书吏。当然,行政数学中最多也最重要的计算,应属丈量土地,即“方田”。一五八一年,就在《算法统宗》编写过程中,清丈在徽州展开。《算法统宗》卷三“方田”部分纠正、发展了前辈数学家的方法,画出了几十种土地形状,各自说明如何将它们化约为方、直、圭、梭、梯、斜及圆、碗、环各种,再加以计算,可称穷形尽相,堪称丈量土地的算法指南。
丈量土地常用的工具是步弓,是一种形似弓的测量工具,一弓就是一步,一步五尺,三百步为一亩。但步弓使用起来麻烦,积少成多之后误差也比较大,程大位发明了一种步车,《算法统宗》详细画了图纸,两旁还用篆书写着:“宾渠制就心机巧,隶首传来数学精。”相传黄帝的史官隶首发明了数学,宾渠则是程大位的号,他把自己跟隶首放在一起,足见自豪。程大位的步车实质上是一种大型卷尺,他也因此被称为卷尺之祖。
在这一卷的末尾,程大位暗暗塞进去一篇《亩法论》。文中说,“前贤亩法”以二百四十步为一亩,万历九年清丈时,休宁县的总书(书吏首脑)擅自改变成法,将田分为四等,上等一百九十步为一亩,中等二百二十步,下等二百六十步,下下等三百步,其他不同用途的土地也都各有等次。程大位说,就算田地有厚薄、征役有轻重,也应该“就土田之高下,别米麦之多寡”,而不应该玩弄数字,在统计上做文章。
《亩法论》后面,又加了一道奇怪的题目:“原用古弓,每步五尺,今以钞弓校之,只有四尺八寸。问古弓百步,该钞弓若干?”就数学而言,这道题无比简单,却被放在卷末压轴。在卷四“粟布”部分,程大位编了一首《官粮带耗歌》,说“官粮带耗在其中,一石例加七升同”,将一石七升的加耗作为惯例记录下来,后面还列了四道题。考虑到加耗是地方官贪墨的重灾区,这样的记载也很有意味。如此看来,《算法统宗》又何止是一部数学书。
二
《算法统宗》的计算工具是算盘,书中总结了不少算盘的用法和口诀,并首次记录了用算盘开方的方法。算盘发明的时代还有争议,但它的广泛普及则可确定,就是在程大位生活的时代,《算法统宗》在其中起了很大作用。算盘和珠算流行的背景,是社会生活的计算量在飞速增加。
赋役货币化实际上是一个更大的历史进程的一部分:在所有社会活动中,货币化的程度都加深了。随着美洲及日本白银的涌入,白银在中国历史上第一次作为政治与商业的主流货币,与铜钱一起为社会提供流通性。货币经济同时也是数字经济——这里的数字不是digital,就是“数目字”的意思。以物易物的语境中,物品和物品直接比较,运用之妙,在于一心,而货币经济之下,商品需要先转化为数字,才能完成交易。有数字就必然会有计算,用到数学。
徽州文书中所见的大量民间组织,也必须用到数学。比如,村里的石桥需要维护,几个人结成路桥会,各自捐一点钱,拿出去借贷生息,形成一个小型基金,盈余用来修桥;还比如,有人需要用钱,召集一个钱会,亲朋好友凑钱给他,再从许多种还本付息模式中选择一个,每年定期轮流收付款;还有,家族的义田需要经营,租佃、买卖、分割等等,诸如此类都要计算。更不用说,一切契约、账簿也都以数字为中心。可以说,一个商业社会必然也是一个数学社会。
明代徽州土地产权变动和管理文书
日后,明代数学背负了与世界脱节的历史责任。关于明代数学的衰落,徐光启有个著名的说法。他说算数之学只是在“近世数百年间”才退步,原因有二:一是“名理之儒,土苴天下之实事”,理学家鄙视实用之学;二是“妖妄之术谬言数有神理,能知来藏往,靡所不致”,另外一些人则把数学神秘化、宗教化。这个说法当然深有见地,不过《算法统宗》的流行似乎还表明另外一个原因,即实用计算的巨量需求,驱使数学头脑忙于应付现实问题。换句话说,与徐光启的看法相反,正是丈量土地、商业运转等“天下之实事”,将数学局限于日常计算。
实际需求推动科学进步,本是世界通例。在程大位的时代,三角几何学正在欧洲蓬勃兴起:就在程大位出生的一五三三年,雷吉奥蒙塔努斯(一四三六至一四七六)的正弦余弦函数表出版;而在程大位写作《算法统宗》之时,巴塞洛缪·皮提斯卡斯(一五六一至一六一三)也在写作他的《三角几何学》,书中首次提出了“三角学”这个名词。这两位都是德国天文学家、数学家,他们的研究很大程度上出于航海与地图绘制的需要。只不过,行政管理和商业计算,与航海、制图需要的是不同的数学。
《算法统宗》出版的时候,传教士利玛窦已经在中国活动整整十年了。很快,西洋的新数学与天文历法一起传入中国,引起持久的讨论,成为明末清初近百年文化史的焦点,而引起这个焦点最后爆发的也是一位徽州人,他就是大名鼎鼎的杨光先(一五九七至一六六九)。
(明)徐光启、李天经《西洋新法历书》
杨光先出生在徽州歙县,他家世袭新安卫中所副千户。人到中年之后,杨光先遵父命将职位让与弟弟承袭,自己到京城去做生意,很像是徽州人的常见人生轨迹。不过到北京之后,他很快转而积极参与政治,多次以布衣身份弹劾臣僚,时间甚至跨越明清两朝,又跟一般徽州人大不相同。
康熙三年(一六六四),杨光先上疏抨击西教西历,掀起康熙历狱,是中外交流史上的里程碑事件。弹劾成功后,杨光先被任命为钦天监监正。他屡次辞任,理由主要是自己不具备历算能力,所谓“止知历理,不知历数”,他说的“历理”,主要是历法背后的文化正统和政治秩序,换句话说,杨光先懂政治不懂业务,只红不专。果然,他上任以后,出现多次工作失误,到康熙七年(一六六八),传教士与杨光先实测赌赛,杨光先及其下属全败,西人和西历重回钦天监。
(清)徐扬《日月合璧五星连珠图卷》里所画的北京古观象台
但再不懂,杨光先也不可能对天文历算一无所知。作为军事世家,中国传统军事教育就包含天象、星占方面的内容;他在徽州生活了四十来年,本身也曾从事商业,多少也有些数学基础。只是在需要“测天”的时候,这些可以用于“量地”的基础算术既无招架之功,更乏还手之力罢了。
杨光先的失败有一个始料未及的后果。雍正帝记录的《圣祖仁皇帝庭训格言》保存了一段康熙帝的回忆:“尔等惟知朕算术之精,却不知我学算之故。朕幼时钦天监汉官与西洋人不睦,互相参劾,几至大辟。杨光先、汤若望于午门外九卿前当面赌测日影,奈九卿中无一知其法者。朕思己不知,焉能断人之是非,因自愤而学焉。”康熙皇帝一生的数学兴趣,确实跟一个不怎么懂数学的徽州人有关系。
杨光先赌赛失败,被判处死,康熙帝宽宥他,令他罢职还乡。但杨光先没能活着回到徽州,才走到山东德州就病死在大运河上了。杨光先去世的这一年,清代最重要的数学家梅文鼎(一六三三至一七二一)已经年近不惑,但还只是地方上一个普通的数学爱好者。
梅文鼎不是徽州人,不过他出生在徽州东邻宁国府宣城县南乡柏枧山口坐吉村,与徽州同属皖南,地域相邻而文化接近。梅文鼎小时候就跟他的父亲和塾师夜观天象,后来又与两个弟弟梅文鼐、梅文鼏一起向同乡道士倪正学习天文历算。康熙历狱在北京如火如荼的时候,梅文鼎在宣城看到倪正的一本《捷田歌括》,不久自己也写了一本《方田通法》,不用说,都是丈量土地的应用题集。虽然也学过历法,不过这时候梅文鼎的知识仍只限于中历,要到康熙十四年(一六七五)去南京乡试时看到回回历法和传教士带来的西学书,他的测天之术才得以进展到另一层次。梅文鼎在数学史上声名显赫,《畴人传》称其为“国朝算学第一”,大概没有争议。他对西学的接受和发扬,也推动了清代以西法测天的数学潮流。
一七二一年梅文鼎去世。三年以后,戴震(一七二四至一七七七)出生在徽州休宁县隆阜村。他出身徽商家庭,少年时也曾一样出门学徒。戴震的治学先从数学开始,第一部作品名为《筹算》,作于二十二岁,后来改题为《策算》。筹算、策算都是用算筹来计算,是一部算学书。
二十六岁时,戴震写了一封《与是仲明论学书》,堪称他一生为学纲领,其中提到研究经典的难处及入手途径,第一条就是“诵尧典数行至‘乃命羲和’,不知恒星七政所以运行,则掩卷不能卒业”,最后一条又提到“中土测天用勾股,今西人易名三角八线”云云,两处跟数学有关的学术理想都是测天。一七七三年,戴震入四库馆,负责分校算经诸书。戴震入京时,衣服行李都未带齐,仅仅“挟策入都”,这里的“策”可能说的就是算筹。关于戴震的算学成就,我们只需举出《畴人传》的说法就可见一斑:“盖自有戴氏,天下学者乃不敢轻言算数,而其道始尊。”
(清)阮元《畴人传》书影
戴震的数学最早是从江永(一六八一至一七六二)那儿学的。江永是婺源人,今天划归江西,明清一直属于徽州。江永的数学则来自梅文鼎,他最重要的数学著作就题作《翼梅》,意为梅文鼎之羽翼。在江永门下,除了戴震之外,金榜、程瑶田等人都有历算著作传世。钱穆《近三百年学术史》讲到梅文鼎、江永、戴震等人,说“当时徽、宣之间,好治天算格致之学,其来已旧”,说的就是徽州、宣城的这批关注天文的数学家。
三
“测天”的兴趣一旦传开,就不是“量地”的数学所能限制的了。江永、戴震以后,徽州的数学家们热心讨论的,就都成了天文历算问题。
一七九八年,戴震去世已经二十年。这一年秋天,徽州歙县瞻淇村的汪莱(一七六八至一八一三)去南京参加乡试,结果没考中,回来以后心情郁闷。他的同乡好友巴树谷为了开解他,出了一道数学题给他,汪莱一时没做出来。第二年秋天,巴树谷次子夭折,内心苦痛,汪莱想要安慰朋友,想起还有一道题,就花三千字篇幅演算了出来,希望能转移一下朋友的注意力。这道题的关键环节,如果用今天的数学语言翻译出来,就是:假设已知一个角度的正弦,问如何求得这一角度五分之一角的正弦。
汪莱后来著成《衡斋算学》七卷,这道题的解法成为这部书的第三卷,卷首的小序交待了上面的这段情谊。与此相类,《衡斋算学》每卷都有一段小序,每段小序背后都有一段故事。
《衡斋算学》书影
第一卷小序说,丙辰(嘉庆元年,一七九六)仲冬,巴树谷请他推求“黄赤之交变,寻弧角之比例”,黄道和赤道的角度问题是天文历算的基础,数学上属于球面三角学。他试了多种方法,左试右试不得要领,最后放弃成法,另辟蹊径,才得以“通法定例”,寻出解法。巴树谷一见,“为之鼓掌”。
第二卷跟另一位歙县同乡江玉有关。小序说,汪莱初识江玉时,江玉就给他出了一道“以勾弦和与中容求诸数”的题目,是勾股面积方面的问题。这类题目梅瑴成、丁维烈已经提出过两种解法,汪莱认为他们算的都不对,但当时他“思绪不来”,被江玉大大鄙视了一番。直到嘉庆三年(一七九八)春天的一个雨夜,他与巴树谷再次参详,才想到解法。刚好隔日江玉来,看到汪莱的演算,大家相视而笑。
第四卷接续第一卷的主题,继续探讨球面三角。小序说,“算师”总在研究算学,以防被弟子带来的难题给难住。嘉庆四年(一七九九)夏天,汪莱的同族汪应镛出游,想要带几道难题去找“算博士”踢馆,来找汪莱帮忙。汪莱觉得,最难的数学就是球面三角,“穷形固难,设形亦难,稍不经意,动乖其方”,就把他在这一领域的心得写成一卷,加上以前写过的《递兼数理》,交给汪应镛去“广赠算师”。
嘉庆六年,汪莱到扬州,在翰林秦恩复家中教馆。在扬州,他与当地学者江藩、焦循等人过从甚密,前后两月。临别之际,他与江藩探讨数学,内容后来成为《衡斋算学》第五卷,专论方程式的根是否“可知”的问题(所谓“可知”,指的是方程有一正根;“不可知”,指的是无正根或有一个以上正根)。
离开扬州之后,汪莱前往湖南,作南岳之游。途中遇到连阴雨,三昼夜不能上路,他只能做题排解寂寞。题目延续第三册的思路,改求三分之一角的正弦。与他同行的有一位同族本家,一位仆人和他的儿子,车夫二人;一同躲雨的,还有“说因果一人、弄幻术三人、女媒一人、车夫二人”,这几位“或歌或叹、如梦如痴”,汪莱思念起朋友巴树谷,他也在想我吗?做朋友给出的数学题,是他思念朋友的方式。这是第六卷。
与汪莱关系最密切的巴树谷,是歙县渔梁人,金石学家、篆刻家巴慰祖之子,道光《歙县志》说他书画有父风、兼通音律,有些印学著作会提到他的名字。一见面就给汪莱出难题的江玉,地方志只说他做过溧水教谕,事迹一字不存。拿着球面三角的题目到处踢馆的汪应镛倒是在《歙县志》里有一篇小传,内容是他出任四川泸州州判时,如何纠正当地土司的僭越之举云云,其中不但没有数学,连相关的天文历算或音律也一概没有。但这些人最为关心的三角学问题,也是测天所必备的数学知识。
四
因为商业的缘故,徽州人的足迹遍及大半中国,尤其是新安江到大运河南段,即徽州—杭州—苏州—扬州一线,既是明清时期的商业中心地带,也是徽州人分布最为集中的区域。出身徽州的数学家在这些地方的活动很多,这些地方的数学家也多与徽州人有关。即如汪莱,《衡斋算学》中相当部分都源自他在扬州的交往。汪莱还和李锐(一七六九至一八一七)、焦循(一七六三至一八二〇)被称为“谈天三友”,另外两位中,焦循是扬州人,因为年幼时在经学老师的家里见到梅文鼎的著作,从此习算,他的几种数学书合刊为《里堂学算记》。李锐是苏州人,小时候在学塾中偶然翻出《算法统宗》,因而燃起数学兴趣,日后他除了个人的学术建树之外,还参与了《畴人传》的编纂。
在扬州,汪莱住在翰林秦恩复家中。秦恩复的外甥罗士琳(一七八三至一八五三)本是徽州歙县人,长居扬州,这时得以从学于汪莱,转向天文历算之学,后来他还编了《续畴人传》六卷。汪莱在扬州还与另一位歙县人郑复光(一七八〇至?)多有往还,郑复光同样热衷于演习天算,后来致力于光学,著成光学著作《镜镜詅痴》,还制出了中国第一台天文望远镜。
自大历史的眼光来看,前面提到的人物都各有标签。但从徽州地方社会的角度视之,他们都生活在一个商业气息浓厚的地方,都与徽商有密切的联系,甚至不少人本身就是徽商,在噼里啪啦的算盘声中,逐渐升腾起色彩多样的数学梦想。在他们或深或浅的数学人生中,有率真纯粹的一面,也都背负了额外的期待。
以杨光先为界,徽州的数学世界呈现出两种不同的面貌。杨光先之前,是程大位的时代,以本土流传的实用数学为主,平面面积、简单方程应用最多;梅文鼎之后,是江永、戴震、汪莱们的时代,受到西学强烈影响,重在天文历算,三角函数是最受关注的内容。杨光先之前,数学头脑们背负的使命是实用计算,应用的领域首先是行政管理,然后是商业。杨光先之后,因为新的天文历算挑战了中国传统的宇宙观假设,困扰数学家们的问题也随之升级了。
梅文鼎、戴震出于不同的理由,都倾向于证明数学和历算领域的“西学中源”,曾广受现代学者的议论。汪莱也表达过他的困惑:虽然黄赤道交变的数学问题解决了,但“仰观星宿,推步盈虚,历数算计,皆所不应”,计算结果跟观测结果无法对应,汪莱对此十分不解,其根源大概就在于他仍相信传统的宇宙模型,当然就和数学计算的结果不能相容。
今年是戴震诞生三百周年。几个月前我到徽州拜谒戴震墓,发现从戴震故居(今属黄山市屯溪区)到程大位故居(同属屯溪区,这里今天建了一座珠算博物馆),车程十几分钟而已;再到汪莱的歙县瞻淇村,车程半个小时。从瞻淇村向西十来分钟,可到巴树谷的家,今天以他更著名的父亲命名为巴慰祖故居。其他如杨光先、江玉、汪应镛、郑复光等,无论是否还有故居可以指认,总归都住在一个较小的地理范围之内。区区百里之内的一个区域,见证过数学史的辉煌、数学家们的情谊,也隐藏了数学发展道路上的不能承受之重。