玉鉴之前
朱世杰《四元玉鉴》的写作,建立在怎样的代数学传统之上?这是进入这部奇书之前必须先回答的一个问题。一个活动于十三世纪末至十四世纪初的算学家,如何能在一百余问中处理四个未知数的高次方程组?他的数学土壤由哪些层构成?哪些环节属于渐进改良,哪些环节是质的转折?
回答这些问题的意义不止于历史回顾。朱世杰所用方法的来源,以及他与前驱之间的贡献划分,直接关系到如何阅读《四元玉鉴》中的具体题目。如果不清楚贾宪、秦九韶、李冶各自的工作,就会把朱世杰的集大成误读为凭空发明;反之,把一切都归为前人成果,又会低估他在做形式化整合时付出的智力劳动。本章的着眼点是辨明这种层次关系。
《九章算术》"方程"章奠定的线性方程组传统
《九章算术》(约成书于公元一世纪)是中国古代数学体系成型期的代表性著作,全书二百四十六问,按用途分为方田、粟米、衰分、少广、商功、均输、盈不足、方程、句股九章。其中"方程"一章共十八问,集中在第七、八两卷。该章提出的算法构成了后世线性方程组方法的基础,也是中国代数传统最古老的源头之一。
需要先澄清的是,"方程"一词在汉代语境中的含义,与现代数学术语并不相同。这里的"方"指矩阵之方,"程"指按项列出的表达式。整章内容是:把若干线性关系按"上、中、下"等横向排列,以五行五列乃至更宽的形式布列系数,再通过"直除""遍乘"等操作化简,使每行除首位外其余各项系数为零,然后自下而上回代求解。
这一处理方式有几个值得关注的特征。其一,完全数值化,不存在以字母代表未知数的符号设置;矩阵中"位置"本身扮演了列名与符号的双重角色。其二,依赖具体整除性,缺少对一般分数运算的明确处理;减法遇到小数减大数时,要靠"以少减多"和"同名相减,异名相加"等规则。其三,处理目标是行化简后的标准形式,而不是抽象的形式解。这一思路与十七世纪后期在欧洲逐渐成熟的"以符号代数代表线性关系"的想法有根本差别。《九章》中的"方程",是把关系视为一种算法直接呈现的,而不是把关系视为符号对象。
最能展示这种算法思维的,是"五家共井"问。原文大意:五户人家共用一口井,每户自己的绳长都不够触及水面,但若把一家之绳续接到另一家之绳上,两段相加便恰好等于井深。具体规则是:甲绳两倍仍不及井深,接续乙绳后恰好;乙绳三倍仍不及,接续丙绳后恰好;以此类推,戊绳六倍仍不及,接续甲绳后恰好。求井深与各家绳长。
设井深为 $h$,甲、乙、丙、丁、戊各户绳长为 $a,b,c,d,e$。由题意可得五个线性关系:
$$a + b = h$$ $$b + c = h$$ $$c + d = h$$ $$d + e = h$$ $$e + a = h$$
五个方程包含五个独立约束,涉及六个未知数,需要附加整除性约束。原书把每条信息按五行摆列,反复执行"以右行上十乘左行而减之"等直除步骤,消去非首位系数。原书给出的结果是:井深七丈二尺一寸,甲绳长二丈六尺一寸,乙绳长四丈五尺八寸,其余各绳长度可类推求得。
这一案例一方面显示出汉代代数的具体形态,另一方面也暴露出它的局限。"五家共井"问题并未触及任何非线性关系;全部计算是加减乘除,既无开方,也无更复杂运算。后世千余年中,《九章》"方程"章的算法被广泛沿用,直至朱世杰在《四元玉鉴》中才以更系统的符号化方式重组了它。紧随《九章》之后,《孙子算经》《张邱建算经》《五曹算经》《缉古算经》《海岛算经》等著作陆续出现,组成了通常所说的"算经十书"。汉魏以至南北朝,数学传统主要由官学与私学两线维系。但从唐代中后期开始,数学知识的传承开始出现明显的衰退迹象。
唐宋之间:从衰退到暗流
唐代国子监下曾设"算学馆",配备博士与助教,所授内容即算经十书。显庆元年(656)一度规章齐备,但武则天执政后期即告废置。开元年间(713—741)虽曾复置,但招生规模很小;到乾元元年(758)以后,基本失去制度依托,大部分时间处于名存实亡的状态。科举方面,唐代《明算科》要求考生答《九章》《孙子》《五曹》《张邱建》四部算经各十条,内容偏重基础运算,远未达到《缉古算经》中三次方程的水平。考试结果与高深数学研究之间缺乏直接激励。
关键的变化发生在北宋。庆历、熙宁年间,王安石主持科举改革,将原设的"明算"科并入"进士"科,数学作为独立考试科目的机制从此不复存在。算学不再是正式应试的学问,其社会地位下降到与"术数""技艺"等列,教授者与学习者皆乏。
衰退并不等于断裂。北宋时期出现了一批私学与家族传承的算学家,以贾宪、刘益、沈括等人为代表。贾宪(主要活动于十一世纪中期)《黄帝九章算经细草》中提出的"增乘开方法",是这一时期私学传承最具代表性的成果之一。沈括《梦溪笔谈》(1088)中关于"隙积术"(堆叠长方体之体积)与"会圆术"(由弦长与矢长求弧长之近似)的讨论,显示出这一时期的数学家已经能在没有官方支持的环境下进行独立的算法创新。
推动私学传承的关键技术因素,是雕版印刷的成熟。北宋元丰七年(1084)秘书省刊刻《九章算术》及《孙子》《五曹》《张邱建》《缉古算经》等七部算经,大幅降低了文本传播成本。南宋时期各地方官府、私家与书院多次翻刻,使主要算经都形成了稳定的版本体系。算学知识的承载方式在这一时期发生了质的改变:从手抄流传转向版本化流传,文本的"可重用性"显著提升。
这是理解宋代数学何以突破的一个关键。它不是简单的"复兴",而是在体制外生长出的新传统。教学、考核、传承都脱离了官学结构,代之以算学家之间的私人交往与著作交流。这种体制外的传承方式,反而使高深数学免于标准化考试的稀释,得以在狭窄的圈内持续深化。
增乘开方法与正负开方术:百余年间的方法系统化
北宋到南宋一百多年间,高次方程方法经历了一次系统化改造。最早的奠基者是贾宪。
贾宪《黄帝九章算经细草》中最具创造性的两项内容,是"增乘开方法"和"开方作法本源"。增乘开方法的思路是:把开平方的程序转化为递推关系,通过逐次"增乘"(即在每一步都按递推关系重新乘出中间系数),实现对任意次幂方根的数值逼近。这相当于一个不依赖微积分概念的、纯算术版本的 Newton-Raphson 方法,在西方直到十七世纪才出现本质上类似的算法。
"开方作法本源"是二项式 $(a+b)^n$ 展开系数按行排列构成的三角表:
``` 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 ```
与现代所称"帕斯卡三角"内容相同,但在贾宪笔下已经是开方程序的辅助工具,而非孤立的组合恒等式。该表在欧洲直到1653年才由帕斯卡系统研究,故常被称为"中国三角"或"贾宪三角"。
接续贾宪传统的刘益(约十二世纪),在其《议古根源》中把增乘开方法扩展到带从开方,即允许开方式中除最高次项外还含有一次项的情形;并展示了如何用此方法求近似根。但刘益书中的例子最高不超过四次方,程序也未完全规范化。南宋数学家杨辉(约十三世纪中后期)在《详解九章算法》(1261)、《日用算法》(1262)等著作中,系统普及了贾宪、刘益的方法,使增乘开方成为更广泛的算学常识,为朱世杰后期的工作奠定了教程化的基础。
把这一方法推到极致的是秦九韶。秦九韶字道古,四川普州人,生卒年约1202—1261,一生经历南宋理、度、恭三朝与宋亡于元的过程,曾任建康府通判、汀州知州等职。其《数书九章》十八卷完成于淳祐七年(1247),前有自序陈述数学思想的来源与实用动机。
《数书九章》每卷九题,合计一百六十二问,分大衍、天时、田域、测望、赋役、钱谷、营建、军旅、市易九类。每题先列问题,次列答案,后列"术",即操作程序。秦九韶称其核心方法为"正负开方术"。其特点是:对任意次方程
$$a_n x^n + a_{n-1} x^{n-1} + \cdots + a_1 x + a_0 = 0$$
只要首项系数 $a_n$ 与常数项 $a_0$ 符号相反,即可推断方程存在正根;再以逐位逼近的方法求出该正根的数值近似。程序中的"法""实""从""隅"分别对应不同次项的系数,操作以层层增乘与相减为骨架。秦九韶在《数书九章》中明确处理系数的正负号变化,即所谓"同名相除,异名相除"等规则。
最能直观展示此方法的具体题目,是田域类"尖田求积"。尖田又称"筝形",指两对相邻等边构成的田,形状如不等边四边形而有一对邻边等长。典型的题设为已知三边与面积,求第四边。由面积公式化简,可得到形如
$$-x^4 + k_1 x^2 + k_2 x + k_3 = 0$$
的四次方程。秦九韶的求解按以下步骤展开:
1. 列"开方式":依方程次数把系数按"实、商、廉、隅"摆入算图。实为常数项,商为待求未知数,廉为低次项系数,隅为最高次项系数,系数为负者用斜划标注。 2. 初商:估使最高次项"恰好能抵消实"的初商首位,通常以经验估值试取。 3. 增乘与归除:按"法"与"实"逐步修改初商,使之逼近实际根值,逐步求出每一位数值。 4. 验算:将求得的根代回原方程,确认等式成立。
秦九韶在《数书九章》多题中处理过高次方程,最高涉及十次方,远超此前任何中国文献,也与同时期阿拉伯代数学中以法拉比、阿勒·卡西为代表的工作相当。把"尖田求积"和《九章》"五家共井"对比,可见这一时期实现了关键跃迁:由线性方程组到任意高次方程,从未知数由位置排列到具体数值迭代,从纯几何建模到符号化高次多项式方程。秦九韶的方法已构成了一套完整的算法,而非零散技巧。
天元术:从数值逼近到符号代数
秦九韶的"正负开方术"代表了中国代数学发展中"数值代数"路径的极致。它关心"如何逼近一个数值根",方法高度依赖具体系数的数值运算,程序虽可通用,但注意力始终集中在最终的数值结果。
十二世纪后期到十三世纪中期,出现了与传统迥异的另一种代数,后人称之为"天元术"。它的着眼点不在"求出多少",而在"代表什么":把未知数本身作为可操作的对象,用"以位记项"的算图表达多项式,对方程整体执行运算。
天元术的奠基性著作,是李冶(1192—1279)的《测圆海镜》十二卷与《益古演段》三卷。李冶字仁卿,号敬斋,真定栾城人,金元之际北方最重要的算学家之一。他曾在家乡封龙山隐居讲学,后应元世祖忽必烈之召出任翰林学士、知制诰,因与权贵不合而终归隐。其人生跨金与元两代,是这一时期罕见的兼通南北学问的算学大家。
《测圆海镜》是一部关于"已知直角三角形内切圆信息反求边长"的专著。该书全部一百七十问均围绕这一类问题展开,但李冶的解法不是逐题给出具体数字,而是先建立一个普遍的代数框架:设置"天元"(即所求未知量),用算图记录由这一未知量及其乘幂构成的表达式,再列方程。
"以位记项"的具体做法可以这样理解:一张算图的中部是常数项(称为"太");从中央往右,依次表示 $x, x^2, x^3, \cdots$ 各次幂的系数;往左则依次表示 $x^{-1}, x^{-2}, \cdots$ 各负次幂的系数。把多项式 $5x^3 - 2x + 7$ 放进算图,即:
- 中央位置记 7(常数项"太");
- 右侧一位记 $-2$($x$ 项);
- 右侧二位记 5($x^2$ 项);
- 左侧空缺(无负次幂)。
运算时,加、减、乘、除的规则都被重新表述为"按位移动",从而使多项式本身成为可处理的对象。这种处理方式在阿尔·花拉子米(Al-Khwarizmi)之后的阿拉伯代数学中尚未出现,在同时期的欧洲代数学中也未出现。它最接近的对应物,要到十六世纪韦达(F. Viète)用字母代表未知数时才开始出现。李冶与韦达之间相隔近三百年,而两人殊途同归地把"代数"从"求解"推到了"对象"的位置。
《测圆海镜》的另一个特征,是各题之间存在高度可重用的构造关系。每解一题,便积累了若干基础关系式,后题可引用前题结果。这种"层层叠用"的结构,使该书实际上是一组共享符号与约定的问题集。李冶的另一部著作《益古演段》篇幅较小(三卷六十余问),但展示出天元术可以脱离测圆这一具体情境,处理更一般的几何与代数问题。两书合读,可看出天元术的真正意义不在具体题目,而在以"算图布列"为载体的符号体系本身。祖颐在为《四元玉鉴》所作后序中明确追溯:"天元之术,发于李冶《测圆海镜》",确认了这条传承脉络。
秦九韶与李冶的工作在元代汇集。前者提供了高次方程数值求解的工具,后者提供了符号化的多项式框架,二者共同构成了朱世杰写作《四元玉鉴》时已有的工具库。
朱世杰的历史坐标
把上述线索汇集成一张时间图,可以更直接地看清朱世杰在其中的相对位置。
```mermaid flowchart TD A["九章算术 (约公元1世纪): 方程章线性方程组传统"] A --> B[魏晋南北朝算经传统] B --> C[唐代算经十书整理 李淳风等] C --> D[宋代 雕版印刷普及 民间算学兴起] D --> E["贾宪 (约11世纪中期): 增乘开方法"] E --> F["刘益 (约12世纪): 议古根源"] F --> G["秦九韶 数书九章 1247: 正负开方术"] H["李冶 测圆海镜 1248: 天元术"] I["杨辉 详解九章算法 (1261)"] G --> J["朱世杰 四元玉鉴 1303: 四元术"] H --> J I --> J ```
朱世杰的确切生卒年史无明确记载,只能依据《四元玉鉴》的自序(1303)及若干元代文献中的间接材料推知。他活动的时间主要在元贞、大德年间(1295—1307)。与朱世杰交往的算学家包括祖颐(署名"通真子",为《四元玉鉴》作后序)、赵汝楳(在《数学九章序》中提及)等。这些线索共同确认朱世杰为活动于十三世纪末至十四世纪初的算学家,与同时代北方的算学传统有明显的继承关系。
在这个坐标中,需要强调几件事。
其一,朱世杰的核心贡献在于"打通既有多种传统"。他从秦九韶那里继承高次方程数值解法的完备程序;从李冶那里继承"以位记项"的符号化框架;再把后者扩展到"四元"(天元、地元、人元、物元),由此把方程组的维数从一元非线性代数推进到四元非线性代数。这不是发明某一个具体方法,而是把既有方法扩展到前人未达的范围。
其二,《四元玉鉴》以二百八十八题的篇幅(分二十卷,每卷若干题),覆盖了从一元线性方程到四元非线性方程组的全部主要类型,在总计六万余字内构造了一个自洽的代数学系统。在前代这是不可能的:没有"四元"算图布列法,《九章》"方程"章的思路无法处理四元以上的高次方程组;没有"正负开方术",《测圆海镜》的算图也难以得到具体数值解。两套工具的整合,在朱世杰笔下才得以完成。
其三,朱世杰的工作带有明显的教学化特征。书的结构按层次递进,从基本四则运算到各种特殊方程,层层叠加;每题先列"今问",再述"答曰",然后给出"术",最后附"草"(演算过程)。这种编纂方式与《九章算术》一脉相承,显示出他有意把前人零散成果编成可学的体系。祖颐在后序中特别赞誉此书"条段分明,粲然可观",确认了它的教学价值。
把这三点放在坐标系内,朱世杰的集大成显然是更长时段积累的结果。他的工作必须被理解为近百余年数学传统的合力产物,而不是个人天才的偶然闪现。这一判断并不意味着贬低朱世杰个人的能动作用,而是把他的能动作用放在更准确的位置:不是创造一个全新体系,而是把已有体系推到形式化的极限。
本章小结
朱世杰《四元玉鉴》的代数学源头,可分为三个相互衔接的层次。最深的一层,是从《九章算术》延续一千五百年的"方程"算法传统,把线性关系视为矩阵、按位置处理。中间一层,是贾宪、刘益、杨辉、秦九韶在北宋到南宋百余年间对开方术的系统化,由此中国数学家掌握了任意高次方程正根的数值逼近程序。最浅却最关键的一步,是李冶在《测圆海镜》《益古演段》中开创的天元术,使多项式本身成为可操作的对象。三层传统在朱世杰手里合流,产生了一部以四元术为核心、以正负开方术为求解手段的代数学专著。
理解这一背景,关键在于看清层次之间如何衔接:每层都为下一层提供了此前不存在的工具或对象。《九章》的"方程"算法原本只能处理线性组;秦九韶的"正负开方术"原本只能处理一元高次方程;李冶的天元术原本只限定在单一未知数。所有局限都在《四元玉鉴》中被打破,而打破的方式不是另起炉灶,而是把既有工具的形式外延推到极致。
下一章将聚焦朱世杰本人:其生平、所处的学术环境、与当时算学家的交往,以及《四元玉鉴》的成书过程。在对作者与文本有了具体把握之后,本书的核心内容——对《四元玉鉴》文本的当代解读——才有稳固的支撑。