与朱世杰相遇
与朱世杰相遇
一个被反复问到的问题
打开一本写于七百多年前的数学书,第一个问题通常不是"它讲了什么",而是"我为什么应该读它"。
特别是在符号计算软件和大型语言模型已经能解出几乎任何代数方程的今天,这个疑问更直接:用Python的SymPy一行命令可以求出四次方程的根,用Wolfram Alpha输入"solve"就能拿到一份带步骤的答案。朱世杰的《四元玉鉴》要求亲手布列"四元式",一层一层消去未知数,这样的训练看起来既过时又费力。
凡是真正翻开过这本原书(或可靠注释本)的人,往往会有一种出乎意料的体验:它展示的并不只是某种已被淘汰的技巧,而是一种"用几何的直觉去组织符号"的代数传统。这种传统和今天在中学课堂上学的"列方程、解方程"路径不完全相同,它有自己的肌肉记忆和审美。读这本书的真正价值,不在于学到更快的解法,而在于补上代数史上被忽略的一支脉络。一旦理解了"天元术"和"四元术",再看一眼课本里的"消元法",会感受到后者其实是一段被剪掉了前因的句子。
这一章的目的,是给你一张认知地图。我会介绍朱世杰这个人长什么样、站在哪里,然后带你远远地看一眼《四元玉鉴》的整体轮廓,最后告诉你本书打算怎么陪你读完它。没有任何公式需要动笔,但读完之后,应该能在脑子里挂出一张坐标系,知道这本书大致写什么、为何重要、用什么姿势进入它。
第一节:朱世杰这个人——站在宋元数学的交汇点
把朱世杰放进坐标系,得先看清他脚下那片土地。
13世纪末的中国,正经历着南宋被元朝取代的剧变(1279年崖山之战是这条分水岭)。北方由蒙古人建立的王朝统一了全国,南方的学术传统被打散,许多读书人迁往大都(今北京)或就近的燕京地区,靠授徒和写作维持生计。这是一个学术中心北移的时期,也是民间数学活动特别活跃的时期。科举废止多年,士人需要别的谋生手段,数学和历算成了实用的技艺。
朱世杰,字汉卿,号松庭。关于他的籍贯,史料说法不一:莫若在《四元玉鉴》前序里称他为"燕山人"(即今北京一带),祖颐的序则把他描述成长期在江南和北方之间游走的算学先生。可以确定的是,他的主要活动范围在13世纪末到14世纪初的元朝中前期,以在大都及其周边地区讲授数学为生。
如果把他和几位前辈数学家并排放在一起,可以看到一条清晰的师承与影响线索:
秦九韶(约1202—1261),字道古,四川人,1247年完成《数书九章》。他在《九章算术》方程术的基础上,把"大衍求一术"(即中国剩余定理)做到了一个非常一般的程度,并给出了高次方程的数值解法。秦九韶的工作代表了江南数学传统的一个高峰。
李冶(1192—1279),字仁卿,号敬斋,河北栾城人,金元之际最重要的数学家之一。他的《测圆海镜》(1248)和《益古演段》(1259)系统地使用"天元术",用一个特定的汉字(通常用"元"字)代表未知数,把几何问题翻译成代数方程,再用一套"开方"程序求解。李冶的工作为"设未知数、列方程、解方程"这个流程立了一个标准化的样板。
杨辉(约13世纪中叶),钱塘(今杭州)人,著有《详解九章算法》《日用算法》《杨辉算法》等。他在组合数学(幻方、组合恒等式)和计算技巧上有突出贡献,也整理过贾宪(约11世纪中叶,北宋)的"开方作法本源"图,即二项式系数表,与今天所说的帕斯卡三角结构相同。
朱世杰比秦九韶小一辈,比李冶略晚,比杨辉则属于同时代稍后的一代。他写过两部书:先有《算术启蒙》(1299年由赵良在大都刊刻),是一部面向初学者的算术教材,覆盖了从九九表到分数运算、面积体积、盈不足术、方程术等基础内容;四年之后,《四元玉鉴》成书,由莫若、祖颐分别作序,是一部面向高水平读者的代数专著。
从《算术启蒙》到《四元玉鉴》,朱世杰走的是一条"先普及,再提高"的路线。前者把当时散见于各种算书里的方法整理成体系,后者则把这种体系推到了当时世界的前沿:他用"四元"(即四个独立的未知数)建立方程,并通过一套称为"剔而消之"的程序消去中间未知数,最终化为一元高次方程再用增乘开方法求解。
史料没有给出明确的师承谱系。但从他书中的引文和体例看,他熟悉秦九韶的《数书九章》、李冶的《测圆海镜》、杨辉的著作,以及更早的《九章算术》和刘徽的注。可以判断:朱世杰没有"独家师父",他是宋元数学传统的一个集大成者,把前人分散的成果(特别是天元术和增乘开方法)整合并推向了更一般的形态。
放到世界数学的版图上,朱世杰的工作几乎是与同期欧洲的代数发展并行的。意大利的斐波那契(1170—1250)在《计算之书》里系统介绍了阿拉伯传来的代数方法,但他没有发展出多于一个未知数的方程组;法国的奥雷斯姆(约1320—1382)开始用图形表示函数变化,但他也没能写出多项式方程组的一般消元法。朱世杰在《四元玉鉴》里展示的四元术,是当时人类能够写出来的最具一般性的代数形式之一。
还有一个细节值得停下来看:《四元玉鉴》在1303年完成之后,几乎立即被束之高阁。明清两代,能真正读懂它的人极少,主流数学传统转向了珠算和实用算术。直到19世纪,阮元、沈钦裴、罗士琳等人开始重新校订《四元玉鉴》,20世纪初又有李俨、钱宝琮等学者做了系统的史学研究,这部书才被"重新发现"。也就是说,朱世杰的成果在历史上经历了"发明、失传、再发现"的完整周期。今天读它,某种意义上是在和一种被时间压扁过的传统对话。
第二节:《四元玉鉴》长什么样——24门、288问的整体样貌
《四元玉鉴》的原版在今天很难见到实物。流传下来的主要是清代以来的抄本和刊本,1937年商务印书馆把它收入《丛书集成初编》,是最易得的现代排印本之一。原书分三卷,上卷七门、中卷七门、下卷十门,合计二十四门;每门之下含若干问,全书共288问。
"门"是朱世杰自己用的分类单位。"门"这个字在古代数学里有"一类问题"的含义,类似今天教材里的"章节"或"单元"。每门以"门名 + 若干问"构成,门名通常用四个字概括这一类问题的核心技法,比如"元气开方""三元换元""四元消问"等。
二十四门大致可以这样划分:上卷以一元(一个未知数)问题为主,承接《测圆海镜》的"天元术"传统,重点是高次方程的数值求解(增乘开方法);中卷进入二元(两个未知数)阶段,引入"两仪化元"等消元技术;下卷进入三元和四元(最多四个未知数)阶段,建立四元玉鉴式(即四个未知数的多项式方程),并展示一般的消去法。
288问的体量,意味着这是一本可以让人沉浸相当长时间的书。每一"问"相当于一道题,题目用一段文字给出(很多问题带有商业或几何背景),下面附上朱世杰的解法。读这本书的体验更接近读《几何原本》或《九章算术》:题目独立,解法独立,但门与门之间存在技法上的递进。
"四元玉鉴式"是这本书的标志性视觉符号。所谓"式",是把一个多项式按某种规则排成一个二维的方块表。具体的排列规则是:
- 在水平方向上,从右向左依次是天元(第一个未知数)、地元(第二个)、人元(第三个)、物元(第四个)。
- 在垂直方向上,从上到下是常数项、一次项、二次项、三次项……每一行对应一个"次数"。
- 每一格里的系数(用汉字数字写在格子中央)表示该项的数值。
视觉上,这种排列就像一张被填满数字的方格表,有点类似今天的矩阵或长方形的二维数组。每个式子有四个"元",代表四个独立的未知数;式子整体等于零,就构成了一个多项式方程(组)。
为了让读者获得更直观的感受,可以想象这样一张表:
``` +----+----+----+----+ | 2 | 1 | 0 | 0 | +----+----+----+----+ | 3 | 5 | 0 | 1 | +----+----+----+----+ | 1 | 0 | 2 | 4 | +----+----+----+----+ | 6 | 0 | 0 | 3 | +----+----+----+----+ ```
横看每一行,是一个按天、地、人、物幂次排列的多项式;竖看每一列,是按总次数排列的同类项系数。朱世杰的所有四元方程,都是用这种"表"来表达的。当他做消元运算时,本质上是在对这种表做"行变换"或"列变换",消去某几列(某几个未知数),最终留下一元高次方程。
这种表达方式在审美上非常独特。它不是一连串"x + y + z = ..."的方程,而是把一组方程的系数压缩到一张二维表里,再通过对表的操作完成计算。它要求读者具备一定的空间想象力和对二维表的熟悉程度。这往往是现代人初读《四元玉鉴》最不适应的地方:现代代数默认把一个未知数写成一行,把所有项写成求和;而朱世杰默认把多个未知数的多项式压成一张表。
第三节:放在中国数学史里看——从《九章》到《四元玉鉴》的代数脉络
单独看朱世杰,容易把他当成一座孤峰。要理解他为什么重要,需要把他放进从《九章算术》到《四元玉鉴》这条一千多年的脉络里看。
下面这张时间轴,把宋元代数传统的几个关键节点串起来。每一节点代表一部重要著作或一次重要进展,箭头大致标出影响关系。
```mermaid flowchart LR A["九章算术<br>约公元1世纪"] --> B["刘徽注九章<br>263年"] B --> C["贾宪<br>北宋11世纪<br>开方作法本源"] C --> D["秦九韶<br>数书九章 1247"] C --> E["李冶<br>测圆海镜 1248"] D --> F["杨辉<br>杨辉算法 1261"] E --> G["朱世杰<br>算术启蒙 1299"] F --> G G --> H["四元玉鉴<br>1303"] ```
这里列出的只是与代数传统直接相关的几部著作,实际的历史网络要更密。但即便从这个简化图,也能看出《四元玉鉴》的位置:它是这张图的右端节点,几乎所有前期成果都在它身上留下了痕迹。
具体来说:
《九章算术》提供了方程术的原始形态:用方阵表示系数,用"直除"消元。朱世杰在四元术里使用的"剔而消之"程序,结构上与《九章》的直除法一脉相承,只是被推到了多元高次的情形。
贾宪(约11世纪中叶)的"开方作法本源"图给出了二项式系数表的清晰版本。这张图是把高次方程求解"算法化"的关键工具:把 $(x+a)^n$ 的展开系数事先列好,做开方运算时直接按系数乘进去。贾宪的方法被秦九韶和朱世杰继承并推广。
秦九韶的《数书九章》把这种增乘开方法推到了一般高次方程。他在书中给出过一个十次方程的求解例子,其计算量在当时已经非常惊人。秦九韶的另一项贡献是大衍求一术,即把"孙子问题"做成了系统算法,这是数论领域的中国式突破。
李冶的《测圆海镜》第一次大规模使用天元术。这本书有170个问题,全部以"设某为元"开头,把直角三角形内的几何关系翻译成关于"元"的一元方程,再用增乘开方法求解。李冶的功劳是把天元术标准化,让它从一种零散技巧变成一种可复用的思维流程。
朱世杰站在前人肩膀上完成了两件事。一是把天元术扩展到四元:四元术允许"天、地、人、物"四个未知数同时出现,并用一种二维"式"来表达。二是设计了一套系统的消元程序,即"剔而消之",把四元方程组化为一元高次方程。这套程序在结构上比李冶的天元术更复杂,但本质仍是《九章》方程术的延伸。
从《九章》的方阵,到贾宪的二项式系数表,到李冶的天元式,再到朱世杰的四元式,这条进化的主线是"用越来越复杂的二维表格组织多项式"。它的美学倾向是:用空间(一个平面)换表达力,每多一个维度,就多容纳一个未知数。这与今天"用更高维数组表示张量"的思路有异曲同工之处。
把《四元玉鉴》放在这个位置上看,它就是宋元代数传统的集大成之作。它把方程术、增乘开方法、天元术在数学上的可能性,推到了当时纸张和算筹能够支撑的极限。
但它同时也是一个转折点。朱世杰之后,中国数学的主流转向了实用算术和珠算:明清两代几乎没有再出现过能与四元术比肩的代数创造。直到清末,李善兰(1811—1882)和华蘅芳(1833—1902)翻译西方代数著作,"四元"才被重新发现并被纳入现代数学框架。从这个意义上说,《四元玉鉴》是一段被中断的传统。
第四节:怎么读这本书——三种姿态、三道门槛
在给出具体建议之前,先承认一个事实:《四元玉鉴》不是一本"躺着就能读"的书。它要求读者具备相当的耐性。
从已有经验看,初学者要顺利读完这本(或它的一个精选注释本),通常需要切换三种姿态,跨过三道门槛。
姿态偏重"读"的那一道是读历史,搭骨架。读《四元玉鉴》之前,先把李冶的《测圆海镜》或《益古演段》的某一节认真过一遍。这两本书只涉及一元(一个未知数),是四元术的"低配版",但方法相同:设元、布列方程、开方求根。读李冶相当于读"四元"之前的必要预备。这一步的目的是让大脑习惯"用一个字代表未知数"这种思维方式。
读《测圆海镜》时,重点不是算,而是看:每道题是怎么把一段几何语言翻译成一个含"元"的方程的?方程布出来之后,"增乘开方"是怎么在草纸上一步步做的?李冶的方法虽然在表达上不如现代代数简洁,但它的逻辑链是清晰的,几乎每一步都有几何或算术上的依据。这一步对应的是"理解一种代数的语言"。
姿态偏重"做"的那一道是亲手算,跟古人的算式走。光读不算是记不住的。要真正把四元术内化,必须亲自布几个式子,做几次消去。哪怕每次只算一个小的两元或三元问题,也比通读十遍有用。
建议的练习顺序是:
1. 从《算术启蒙》中挑几道方程题(一元),用增乘开方法手算一次。 2. 从《四元玉鉴》中卷挑一两道两元问题,按"剔而消之"程序实际做一次。 3. 如果还有兴趣,进入下卷的三元或四元问题,体验完整的多步消去流程。
每一步都要用纸和笔(或者用算筹,如果你想体验更原汁原味的话),不要用现代软件偷懒。目的是让手熟悉"画格子、填系数、画斜线消去"这套动作。
姿态偏重"想"的那一道是古今对照,看消解。读完《四元玉鉴》之后,回到现代代数的视角,重新看一遍相同的问题。比如,把《测圆海镜》的某一题用现代符号写一遍,再翻译成线性方程组或一元高次方程的标准形式;把《四元玉鉴》的某一四元问题用矩阵和张量的语言改写。
会发现,朱世杰的"剔而消之"本质上就是高斯消元法在多元多项式情形下的推广;他的"增乘开方法"本质上就是牛顿迭代或霍纳法的雏形;他的"四元式"本质上就是一个二维系数表。两者之间没有不可跨越的鸿沟,只是表达的"语言"不同。这一步对应的是"看穿不同表达,看到共同的数学结构"。
这三道门槛,第一道最温和,第二道最费力,第三道最见功力。初学者不必每道门槛都走完,可以根据兴趣选择路径。只想了解历史脉络的读者,读完本章和小结就可以停;想动手的读者,可以从《算术启蒙》开始,做三到五道增乘开方的练习;想真正"读懂"《四元玉鉴》的读者,则需要把三条路都走一遍。
具体的章节安排,本书后面会按以下顺序展开:第二章,从天元术入手,把一元代数讲清楚;第三章,进入两元(三元),建立"式"与"格子"的概念;第四章到第六章,把《四元玉鉴》按上、中、下三卷分别过一遍;第七到十章,挑出几个关键门类(如勾股测圆、方程消元、垛积招差)做深入拆解;第十一到十三章,做古今对照,引入现代代数视角;第十四章总结宋元数学传统的兴衰,及其与现代数学的关系。
不必现在就把这个路线图背下来。只需要知道:这是一条从一元到多元、从具体到抽象、从古代到现代的递进路径。每一章都会比前一章多一层抽象,但都会配足够的例子和拆解。
本章小结
这一章没有引入任何数学公式,但已经完成了三件事。
第一件,在认知里给朱世杰挂了一个坐标:他是一个生活在13世纪末到14世纪初的数学家,主要在大都一带活动;他写了《算术启蒙》和《四元玉鉴》两部书;他把宋元数学传统(特别是天元术和增乘开方法)推到了当时世界的前沿。
第二件,描述了《四元玉鉴》的整体样貌:三卷二十四门,288问;标志性表达是"四元玉鉴式",即把含四个未知数的多项式压成一张二维表。读完这一节,应该能在脑子里浮现出"一张被填满汉字数字的方格表"的视觉印象。
第三件,给出了读这本书的三种姿态和本书后续的章节路线。从下一章开始,就真正进入数学:先从最基础的一元代数,也就是天元术开始,把它作为整个四元术的入口来展开。
如果读到这一节,脑子里能浮现出三个画面——一个穿着元代服装的数学家坐在大都的书房里、一张被填满数字的方格表、一条从《九章》通向《四元玉鉴》的时间线——那本章的目标就达成了。