古典的召唤
```mermaid flowchart LR A[1303<br/>成书] --> B[元末明初<br/>钞本流传] B --> C[明代中后期<br/>主流沉寂] C --> D[清初<br/>民间钞本断续] D --> E[1799<br/>阮元畴人传] E --> F[1830s<br/>罗士琳细草] F --> G[道光年间<br/>收入丛书] G --> H[1950s<br/>钱宝琮点校] H --> I[当代<br/>符号化重述] ```
某个傍晚,我坐在调试一台优化器。它把一组带四个变量的非线性约束在两秒内收敛到最优,然后吐出几个数字。我盯着屏幕,却看不见它做了什么。这种"看不见算法"的感觉,在我拿起《四元玉鉴》时突然加深。这本成书于 1303 年的算书,作者朱世杰。他没有电子计算机,没有迭代器,也没有求解器,只靠算筹和毛笔把"天""地""人""物"四列符号摆在纸上,让它们在一次次的"消"与"剔"中减少变量,最终变成一个一元方程。他对每一步的纸张改动作,与我眼前求解器做的事情是同构的。
这就是本章的起点。它不是怀旧,也不是在某个国族叙事里证明"我们的祖上也聪明"。它要回答一个朴素的问题:在算法普及的今天,亲自把多变量方程一步步降维、用最简陋的工具做到最后一步,这件事还有没有价值?
回答有三条理由。第一,理解一类问题的历史形态,明白它在工具简陋的时代被如何形式化。第二,感受一种与今天不完全相同的算法逻辑,把"消元""主元""从元"这些今天被求解器封装起来的步骤重新暴露出来。第三,让自己做几次完整的纸面演算,让"会求一个方程的根"变成"会设计一个消元过程"。
这三条理由构成本书的立脚点。本章给它们配上历史与方法的双重背景,后面的章节把它们逐一展开。
接下来要回答几个具体问题:朱世杰到底站在数学史的什么位置?《四元玉鉴》在七百年里经历了怎样的文本命运?什么才算"亲历演算",它要避开哪些常见的误解?以及,对什么样的读者,这本书才是合适的?
一、朱世杰在数学史坐标中的位置
(一)宋元数学的群山
把朱世杰放进坐标系,第一步是把中国数学史的宋元高峰看清楚。这座高峰从北宋后期一直延伸到元朝中后期,前后跨越大约两个世纪。它既不是突然出现,也没有突然消失,而是由几代数学家的工作累积而成。
第一段是 11 世纪末到 12 世纪中后期以贾宪、刘徽、秦九韶为代表的一线。贾宪给出"开方作法本源",也就是二项式展开系数表的早期形态,比帕斯卡三角形早出几个世纪。刘徽在《九章算术》的注里把"率"的概念推到极致,其勾股与圆周率的工作成为后世经常援引的范例。秦九韶在《数书九章》中将"大衍求一术"与"正负开方术"系统化,前者属于同余式算法,后者是高次方程的数值解法。三人共同奠定了宋元代数学的基础。
第二段是 12 世纪中后期到 13 世纪中期的李冶和杨辉。李冶在《测圆海镜》与《益古演段》里把天元术——用单一未知数符号设置并求解高次方程——讲通了,使天元术从一个民间技巧变成系统化的算法。杨辉在《详解九章算法》《日用算法》《杨辉算法》中把算学教学法、乘方图、归除口诀系统化,成为那个时代最重要的数学教师。
第三段才是朱世杰。他集中了前两段的工作,把天元术推广到"四元术",也就是能同时处理四个未知数的高次联立方程组。他在 1299 年的《算学启蒙》里把教学体系补完,又在 1303 年的《四元玉鉴》里把高维代数方法推到当时的最高点。
把三段连起来看,朱世杰并不是孤立的天才。他站立在一个多代人累积的群山之上,并以自己两部书的形式把群山的最高峰明确写出来。
(二)一个几乎无画像的数学家
数学史家常被这样的事实困住:朱世杰本人几乎没有传记留存。我们知道他的字是汉卿,号松庭,长期在江南一带游学,与当时的大都、杭州学者有往来。他的自序里提到他整理前人工作、走访数学同道,但他没说自己的家世,也没说自己的师承。
这种"无可考"的状况并不意味着他的工作没有影响。相反,它让《四元玉鉴》这部书成了他存在的主要证据。一本没有作者画像的书,凭内容本身就让自己站住了脚,这种现象在数学史上很少见。
钱宝琮主编《中国数学史》时,专门讨论了朱世杰与他的两部著作。他给《四元玉鉴》极高的评价,称之为 13 世纪中国数学的最高水平,并且指出它的方法在中世纪世界范围内具有独立地位。严敦杰的几篇关于宋元数学的论文也专门讨论过四元术的程序细节,肯定其方法既系统又普遍。
把朱世杰放进坐标系的结果是:他站在宋元群山的最高峰之一,同时又是欧亚代数地图上的独立坐标点。
(三)与同时代世界代数的横向坐标
横向的坐标需要仔细画。13 世纪的欧亚代数大致有三条独立的脉络。
第一条是阿拉伯-波斯代数。花拉子米(al-Khwārizmī)在 9 世纪给出二次方程的一般解,并把"al-jabr"作为独立学科命名。卡拉吉(al-Karajī)在 10 到 11 世纪进一步抽象,使用更纯粹的算式与证明。奥马尔·海亚姆(Omar Khayyam)在 11 世纪用几何方法讨论三次方程。
第二条是印度代数。婆什迦罗等人在 12 世纪给出某些高次方程的解法,对不定方程也有专门讨论。
第三条是中国代数。秦九韶、李冶、朱世杰的工作连成一线,在 13 世纪达到顶峰。
这三条脉络在 13 世纪几乎同步达到某个水平。它们的共同点是用逐步抽象的算法处理一般方程,但差异也很显著。阿拉伯代数特别强调几何证明,印度代数有时依赖因式分解或不定方程技巧,而中国代数则始终坚持"算筹式"的列与消,具有程序化和形式化的特点。
《四元玉鉴》在横向坐标里的位置来自一个具体贡献:把四元联立方程组的"逐步消元"算法一般化。其他传统的代数方法在同时处理多于两个变量这一问题上没有给出同等的系统方案。这正是朱世杰在数学史上的独特之处。
二、文本的七百年:《四元玉鉴》的流传与校勘
(一)从钞本沉寂到清代复苏
《四元玉鉴》成书之后的流传轨迹与今天的预想差异很大。1303 年成书时,世界范围的印刷术还在有限的传播中。中国已有雕版印刷,但并没有形成"出版业"的市场发行机制,一部技术性算书仍主要靠手抄传播。手抄本在传统社会的命运本就脆弱:抄写者有限、读者更有限。
明清两代是《四元玉鉴》文本的关键沉寂期。明代珠算兴起,传统的"笔算高次方程"在主流教学与商业中失去位置,《四元玉鉴》这种高深技术书迅速退到民间少数爱好者手里。到明末清初,连这些少数爱好者也越来越少。
清代乾嘉学派重新发现古算,《四元玉鉴》才再次回到学术视野。1799 年阮元《畴人传》成书,虽然主线是数学家传记,但客观上为古算研究提供了一份"古籍线索表"。借助《畴人传》和《四库全书》对民间藏书的搜访,当时学者开始从民间钞本中重新辨识《四元玉鉴》的存在。
(二)罗士琳与"细草"传统
把《四元玉鉴》真正从钞本整理为可流通本的关键人物是罗士琳。罗士琳是江苏扬州人,年轻时即专攻古算,长期对宋元四大家(秦九韶、李冶、杨辉、朱世杰)做整理。他最有代表性的工作是《四元玉鉴细草》——在道光年间(约 1838 年前后)完成,对《四元玉鉴》全部问题逐一写出完整草算。
"细草"是清代数学家整理古籍的传统体例。"细"是细致,"草"是草稿式计算过程。具体做法是把原题置于上方,下方写出每一步算式,包括方程的设立、消元过程、最终方程的形式与求根步骤。这种体例的优点是让读者能跟原始作者的每一步思维同步,也使后来的学者可以检查原作者的推理是否完整。罗士琳的《四元玉鉴细草》等于为《四元玉鉴》撰写了一份完整注释与演算手册。
罗士琳的工作并未独自完成。他之前与同时代的学者如张敦仁、戴煦等都对宋元古算做过研究,但只有他的工作覆盖了《四元玉鉴》的全部内容。完成之后,《四元玉鉴细草》被收入《翠琅玕馆丛书》等清代丛书,《四元玉鉴》的可见文本也就基本成为"罗士琳系统的整理本"。
(三)现代点校与当代重述
进入 20 世纪,《四元玉鉴》进入现代学术研究阶段。50 年代,钱宝琮主持点校工作,参考罗士琳细草及其他钞本,以现代标点和术语对《四元玉鉴》全文做了重新断句和注释,出版了点校本。这版成为此后半个多世纪最通行的标准本,研究者和爱好者基本以它为底本。
钱宝琮、严敦杰两位数学史家在同一时期发表了多篇关于朱世杰与《四元玉鉴》的研究论文。钱宝琮的工作侧重于把《四元玉鉴》的方法放进中国数学史的整体框架,严敦杰的工作更技术化,专门讨论"算筹式方程的符号复原"问题——把古书里竖排的"列"对应到现代数学语言里的"项"。他们的研究与点校本一起,构成了现代读者理解《四元玉鉴》的基本入口。
近二十年的研究以何文炯、汪晓勤等学者为代表。何文炯的《四元玉鉴》符号化重述本在罗士琳细草与钱宝琮点校之上,把全部题目用现代代数符号重新写出,保留消元顺序与最终方程形式。汪晓勤和数学史教育方向的研究者则把四元术变成可教学的模块,让它在大学数学史课程里能被普通学生接受。
下图勾勒了《四元玉鉴》七百年文本生命的关键节点。
```mermaid flowchart LR A[1303<br/>成书] --> B[元末明初<br/>钞本流传] B --> C[明代中后期<br/>主流沉寂] C --> D[清初<br/>民间钞本断续] D --> E[1799<br/>阮元畴人传] E --> F[1830s<br/>罗士琳细草] F --> G[道光年间<br/>收入丛书] G --> H[1950s<br/>钱宝琮点校] H --> I[当代<br/>符号化重述] ```
从这条传播轨迹可以看出,《四元玉鉴》不是一条单调上升的传播线。它有长久的低谷(明代中后期到清初约三百年的沉寂),有局部高峰(清代乾嘉到道光年间),有现代转折(1950 年代的点校与近二十年的符号化重述)。每一次文本的"复活"都伴随一次体例工程,从"细草"到"点校"再到"符号化"。每一次体例工程都让原始文本更接近当时的读者。
对一个想读这本书的人来说,这意味着今天进入《四元玉鉴》的方式已经比罗士琳时代轻松很多:我们可以读钱宝琮的点校本,可以读何文炯的符号化重述本,可以参考严敦杰的符号复原研究。在这些现代文本之上,我们终于能把朱世杰的方法有效还原出来。本书剩下的章节,就建立在这一组现代文本之上。
三、亲历演算:重读《四元玉鉴》的方法论
(一)为什么必须亲手做一遍
重读《四元玉鉴》的方法论核心只有一个动作:亲手演算。这一节解释为什么这件事比"读明白他做了什么"更值得做。
数学史有两种阅读姿态。一种是"了解他的做法"——读完注解、读完分析,能向别人描述每一步在做什么。另一种是"亲历了一道"——纸面上留下算痕,自己走完整个过程。前者得到的是知识,后者得到的是能力。在《四元玉鉴》这里,两者之间的差距被方法本身的紧凑性放大了。
理由有两个。其一,朱世杰的文本保留形式紧凑到极限。一道题通常只有一两行文字说明数字条件,紧接着是算筹式方程。算筹式方程今天看起来仍然抽象:每一列代表一个变量,行代表项次,没有现代符号的意义重负,但也不像现代代数那样自带"分项"与"等号"。读者若不亲手写一遍,很难体会"列"与"行"之间的关系如何在纸面上被排布、如何一步步变出最终的高次方程。其二,朱世杰的方法依赖逐步消元,且消元链很长。每一次消元都改变"主元"与"从元"的角色,读者只看文字描述,会很快失去对局面的把握。亲手做一遍,相当于把这条长链在脑子里重新装配一次,学会在每一步都清楚"现在的主元是什么""下一步要消谁"。
还有一个非方法论的理由也很重要:亲手做过的人对原书更宽容。很多初读《四元玉鉴》的爱好者,会觉得原书编排太密、太不直观,因而怀疑朱世杰是否真做了那些事。亲自把一两道题做完之后,那种怀疑会自然消退。你会意识到,方法本身是可以走通的,而文本的紧凑只是为了在有限纸面里展示完整算法,并不意味着作者跳了步。
这便是四元术学习的基本要求:纸笔、耐心、一道题。做完后,"消去法""主元""从元""开方术""算筹式方程"这些术语不再是抽象概念,而是一连串在纸面上具体发生过的动作。
(二)一个示例:把三元方程组化为一元
下面用一个保留《四元玉鉴》思路的简化例子把整个过程走一遍。这是为演示逻辑而重构的版本,不直接抄录某一道原题。
我们讨论下面的三元联立方程组:
$$ \begin{cases} x + y + z = 6, \\ xy + yz + zx = 11, \\ xyz = 6. \end{cases} $$
这是一个简单的"和、积和、积"型问题,方程系数对应一元三次方程 $t^3 - 6t^2 + 11t - 6 = 0$ 的韦达系数。换句话说,$x, y, z$ 是该三次方程的三个根。这正是《四元玉鉴》"三才运元"部分处理的基本结构。下面用两层消元完成整个过程。
第一步:把 $z$ 当作已知参数,从 (3) 式把它显式解出。
由 (3) 得
$$ z = \frac{6}{xy}. $$
代回 (1):
$$ x + y + \frac{6}{xy} = 6, $$
即
$$ x + y = 6 - \frac{6}{xy}. \tag{*} $$
把这一结果代回 (2):
$$ xy + (x+y)z = 11, $$
代入 $z = \dfrac{6}{xy}$ 与 $(*)$:
$$ xy + \frac{6}{xy}\left(6 - \frac{6}{xy}\right) = 11. $$
展开并整理:
$$ xy + \frac{36}{xy} - \frac{36}{x^2 y^2} = 11. \tag{E1} $$
方程 (E1) 只含 $x$ 与 $y$ 两个变量的某类对称函数。
第二步:把 $x$ 与 $y$ 二元化为"主元 $u = xy$"与"从元 $v = x + y$",再消去 $v$。
令 $u = xy, v = x + y$。原方程重新表达为
$$ u + \frac{6}{u}v = 11, \quad v = 6 - \frac{6}{u}. $$
把 $v$ 的表达式代入 $u + \dfrac{6}{u}v = 11$:
$$ u + \frac{6}{u}\left(6 - \frac{6}{u}\right) = 11. $$
展开:
$$ u + \frac{36}{u} - \frac{36}{u^2} = 11. $$
两边同乘 $u^2$:
$$ u^3 + 36u - 36 = 11 u^2, $$
移项得
$$ u^3 - 11 u^2 + 36 u - 36 = 0. \tag{E2} $$
到这里,三元方程组已经退化为一元三次方程。
第三步:解 (E2) 并回推。
观察常数项 $-36$ 与首项系数 $1$,候选有理根为 $\pm 1, \pm 2, \pm 3, \pm 4, \pm 6, \pm 9, \pm 12, \pm 18, \pm 36$。逐一代入检验:
- $u = 1$:$1 - 11 + 36 - 36 = -10$,非零。
- $u = 2$:$8 - 44 + 72 - 36 = 0$,成立。
于是 $u = 2$,对应 $xy = 2$。代回 $v$ 的表达式:
$$ v = 6 - \frac{6}{2} = 3, $$
即 $x + y = 3$。于是 $x, y$ 满足 $t^2 - 3t + 2 = 0$,解为 $t = 1$ 与 $t = 2$。最后由 $z = \dfrac{6}{xy} = 3$,得 $(x, y, z) = (1, 2, 3)$ 的三种排列。
这便是三才运元一次完整运作:从三元出发,连续消元两次,落到一元三次方程,再回推全部变量值。整个流程里没有矩阵、没有向量符号,只有纸面上的逐项整理。它与今天通用求解器的内部逻辑同构,只是用极其有限的工具完成同样的思想链。
(三)亲历时的实用工具与提示
要把这个流程走得更深,准备以下工具能显著降低"在纸上迷失"的概率。
坐标纸或方格稿纸。算筹式方程的"列"对应今天的"变量行",纸面留足够列宽便于书写。方格稿纸的好处是让每位数字都对齐,方便检查错位。一支可擦铅笔与一支中性笔。前者用于试算,后者用于定稿。消元过程中经常需要回退修改,铅笔的容错率更高。一个袖珍可编程计算器。遇到次数较高的方程时(如四次以上),快速试根能节省时间。一本平行参考书——罗士琳细草的现代影印本或钱宝琮点校本。当自己卡在某一步时,对照原书的草算过程找差异,比凭空推演可靠得多。
切忌只看不写。从本书第二章起,题目会以"先做再看"的方式反复出现。第七章以后,每一道都建议先在空白页上做完再对答案。
四、本书的读者与读法
(一)谁应该翻开这本书
本书不是为数学史专业研究者写的,他们有自己的文献;也不是纯粹为古算爱好者写的,他们更愿意直接读原本与细草。本书瞄准的是介于两者之间的第三类读者。
第一类,具备高等数学和基础线性代数的基础,但不熟悉中国数学史。这类读者包括工科或应用数学背景的学生、工程师、对数学有广泛兴趣但不专于史学的爱好者。本书会尽量照顾到他们的"非历史背景",在需要时补充背景知识而不假设已知。第二类,他们关心"算法是怎么形成的",不满足于只知道"某种公式长什么样"。对他们来说,方程解的存在并不稀奇,稀奇的是朱世杰如何把方程组的形式化做到"通用",以及每一步消元的合理性依据。第三类,他们愿意在纸上花时间做计算,愿意让一段七百年前的文字慢下来。在阅读节奏被算法推送主宰的今天,愿意慢下来本身已经是一种训练。
具备上述任意两条以上,本书可以给你一段值得的训练。如果没有接触过高等数学,本书从第二章起可能会让你劝退;但如果高数停留在微积分与线性代数,没有接触过"消元法的具体执行",本书从第四章起会给你大量新鲜的东西。
(二)十五章的安排
本书以十五章的体量展开,可以粗略归为四个阶段。
第 1 章到第 3 章 是铺垫阶段。本章是序章;第二章把宋元数学的群山完整看一眼,从《九章算术》的传统到秦九韶、李冶、杨辉的工作,再到朱世杰的集成;第三章专门讨论天元术,它是从《四元玉鉴》抽出来的一元化方法,是四元术的入门阶梯。
第 4 章到第 7 章 是核心算法训练。围绕天元术与四元术的方法论展开,包括一元高次方程的开方、消元顺序的设计、设元的技巧、特定方程的处理策略。每一章配两三道具体题目演示,每道题都建议先亲手做,再看解释。
第 8 章到第 11 章 是高维扩展。从三元出发,进入真正的四元场景(天、地、人、物四列),讨论消元顺序的选择、特殊方程的化简、方程组的不可解情形。这是《四元玉鉴》卷中"四象朝元"部分最有价值也最困难的内容。
第 12 章到第 15 章 是回顾与展开。把《四元玉鉴》放回欧亚代数的横向坐标,看它在世界代数史里的