重读的理由
第 1 章 重读的理由
在算法与计算已全面符号化、自动化的今日,重读一部七百年前的算学典籍,其正当性必先经受质问。《四元玉鉴》成书于元代至元三十年(1303 年),作者朱世杰,字汉卿,寓居燕山。在算法、计算复杂性乃至自动推理都已成熟的当代,为何仍须返回这一文本?流行读物已将《四元玉鉴》径直处理为"中国古代的多元方程组理论",将四元术解读为"消元法"或"高次方程求解"。此叙述简洁、便于传播,却造成多重扭曲:将朱世杰的"天元""地元""人元""物元"等同于西方代数的"未知数",掩盖了筹算语境下"元"作为程序位置的特殊含义;把朱世杰的"剔削法""易简法"等消元程序直接翻译为"elimination",抽空了这些操作作为机械程序的本体属性;整个叙述框架以笛卡尔符号代数为隐含标尺,将中国算学定位为"前符号阶段",从而预设了一种线性进步的史观。本章依次对这三重扭曲做辨析,再确立重读的方法论立场。
1.1 流行叙述的失真:四元术如何被简化为西方语汇
在 19 世纪以来的汉学传统与 20 世纪的科学史书写中,《四元玉鉴》的接受史大体沿循一条简化路径。从戴煦(1805-1860)经骆腾凤、何元锡、沈钦裴,到 19 世纪末 20 世纪初日本数学史家三上义夫与法国汉学家 Hermann,再到 20 世纪钱宝琮、严敦杰、李约瑟、沈康身,这一线索中真正主导现代叙述的,是 20 世纪中叶以后形成的"普及化科学史"语汇。在这一语汇里,四元术被解读为多元高次方程组的解法,与阿拉伯代数学、文艺复兴后的欧洲代数并置,构成"多元方程"的全球史前史。
此叙述有其历史合理性。19 世纪中叶以降,当戴煦等人在《畴人传》语境下重新发现朱世杰的工作时,他们的参照系正是清代由李善兰、华蘅芳等人引入的西方符号代数。在此参照下,朱世杰的工作自然被诠释为"中国本土版"的多元方程理论。罗密士(Elias Loomis)1841 年译介《中国代数》时采取的视角亦类似:将朱世杰的工作与 Horner 方法、Ruffini 的工作并置,确认"中国人在宋元之际已掌握等价于 Horner 方法的程序"。
简化叙述在传播中固化为一种共识:四元术等于多元高次方程组的解法,等于中国早于欧洲数百年掌握多元方程理论。这一共识形成三种遮蔽。
符号学层面的误读尤为突出。朱世杰的"天元""地元""人元""物元"在筹算语境下并非抽象的"未知数",而是运算程序中的特定位次。所谓"四元",指的是同一运算盘中可同时承载的四个相对独立的程序位置,每个位置以特定的筹式表示多项式,而非以符号表示"未知量"。当 20 世纪的教科书将"天元"译为 "unknown" 或 "variable" 时,丢失的是其作为程序位置的物质性与可操作性。在筹盘上,"天元"位居上层,"地元"位居中层,"人元"位居下层,"物元"位居底层,每一层对应筹盘的一个特定区域;操作者通过调整各层筹式的分布来实现消元或求解。这种程序位置性,是符号化代数中"未知量"概念所不具备的。
本体论层面的扁平化同样不可忽视。筹算语境下的"消去"操作,与 Vieta 之后形成的"消元法"分属不同范畴。前者是程序性的、机械的、依赖于算筹物理排列的操作序列;后者是符号性的、推演性的、依赖于代数规则的变换。两者在形式上可能等价,在本体上不可化约。消元法的引入,往往假定了"被消去的对象"为符号实体,从而预设了一种符号本体论。筹算机械化程序则不然:它不预设独立于程序的"未知量","元"仅是程序中的一项可操作的位置标记。
史观层面的西方中心预设是更深层的遮蔽。将四元术纳入"多元方程的全球史前史",暗示了一种线性进步的史观:中国先于欧洲掌握某种"原始形式"的多元方程理论,欧洲后来居上,最终发展为现代符号代数。此史观表面上承认中国数学的"早熟",实则以笛卡尔符号代数为终点标尺,将中国数学定位为"前符号阶段"。朱世杰的工作一旦被定位为"前符号阶段",其独立的程序结构思想便被遮蔽。
要破除这三种遮蔽,须另起一种叙述框架。本书所采取的,是将朱世杰的工作置于其本来的算法范式之内,承认筹算机械化程序作为独立于符号化代数的算法范式。这一范式与符号化代数在能力上等价,在本体上独立。
1.2 符号化代数与筹算机械化:本体差异的辨析
辨析本体差异,须先澄清两组概念。
所谓符号化代数,是指 Vieta《分析方法入门》(In Artem Analyticen Isagoge, 1591)以降,经 Descartes《几何》(La Géométrie, 1637)系统化,至 19 世纪发展成熟的代数体系。其核心特征为:以字母符号(音节符号)表示任意已知量与未知量;以代数规则规定符号的合法变换;以等式与方程作为推演的基本单元。符号化代数的本体论预设是:符号是脱离具体数值的独立对象,可以独立于数值进行推演。
所谓筹算机械化程序,是指以算筹为物质载体、以筹式为基本单元、按既定程序逐步推进的操作序列。其核心特征为:以筹式表示数值与多项式(同一筹式既可表数,亦可表多项式,视程序阶段而定);以预设的程序步骤规定操作的合法性;以筹式的逐步变换完成求解。筹算机械化程序的本体论预设是:操作的对象始终是物质性的筹式,"未知量"不过是筹式中等待被确定的某一位次。
两者的本体差异可从多个维度辨析。
对象的物质性是首要差异。符号化代数中,符号可以是纯粹的、可脱离物质载体的抽象对象。Vieta 引入音节符号,正是为了让符号摆脱数值的物质性,获得独立操作的可能。筹算机械化程序中,筹式是物质性的,算筹是竹制或木制的物质条块,操作必然涉及物理空间与视觉布局。这一物质性不是缺陷,而是特点:它使每一操作步骤与筹式的物理变换严格对应,从而避免符号化代数中可能出现的"语义歧义"。在筹算程序中,"做错了"意味着筹盘上的某个布局违反了既定的操作规则,错误是物理可观察的;在符号代数中,"做错了"可能仅意味着某个符号变换不满足既定代数规则,错误是形式可推演的。
程序的封闭性同样构成深层差异。筹算机械化程序的一个根本特征,是每一程序步骤均有明确的终止条件与合法性判据。朱世杰的"剔削法""易简法"等程序,每一步骤均可在筹盘上直接判别其是否合法,不依赖于抽象的代数规则。例如,当筹式所示多项式的次数低于当前程序步骤所需的次数时,程序自动终止;这种终止条件是物理可判别的,而非形式可推演的。符号化代数中,程序的合法性依赖于符号变换规则的演绎性,需经由证明或推演确认。
表达力的等价但不可化约进一步限定了两种范式的关系。符号化代数与筹算机械化程序在表达力上等价:凡符号化代数所能表达的多项式关系,筹算机械化程序均可表达;反之亦然。但这种等价是"可互译"层面的等价,而非"可化约"层面的等价。两者的程序结构、合法操作、终止条件均不可化约为对方。笛卡尔符号代数可以形式化为现代意义上的"代数系统";筹算机械化程序则更适合形式化为"抽象状态机"。将后者翻译为前者,得到的是符号代数文本,丢失的是状态机结构。
须指出,本体差异的辨析不是为了"证明"筹算机械化程序优于符号化代数,也不是为了"证明"二者互不相干。辨析的目的是建立一种"互译而不可化约"的对话框架,使两种范式能够在保持各自本体的前提下进行结构性对话。这一框架是后续章节的方法论基础。
1.3 程序结构思想:从现代计算视角回看
当代计算复杂性、数值代数与自动推理的成熟,为回看四元术的程序结构思想提供了新的工具。这一回看不是"现代化"的解读,亦非将朱世杰的工作拔高为"计算机科学的先驱"。它是一种方法论层面的还原:将筹算机械化程序还原为可与当代计算框架对话的程序结构。
从计算复杂性视角看,朱世杰的"增乘开方法"在效率上具有显著特征。该方法以筹式的逐步增乘实现高次方程求解,其程序结构具有非递归的迭代性质,与 19 世纪初 Horner(1819)与 Ruffini(1804)独立发现的方法在形式上等价。但程序结构的等价不等于实现细节的等价。朱世杰的实现是筹算语境下的,每一操作均在筹盘上可视化进行;Horner 与 Ruffini 的实现是笔算或符号代数语境下的,操作的合法性依赖于代数规则的演绎。
从数值代数视角看,朱世杰对高次方程的逼近求解程序,已包含了"区间套""逐步逼近"等当代数值方法的核心思想。《四元玉鉴》中若干问题的解法,先取近似值,再通过筹式的逐步变换精化近似,程序结构与 Newton-Raphson 方法存在形式上的相似。这种相似不是"早熟"或"预演",而是同一类问题(高次方程数值解)在不同算法范式下的并行实现。
从自动推理视角看,吴文俊的工作最为关键。吴文俊在 1970 年代末至 1980 年代发展的"吴方法",一方面借鉴了中国古代算学的程序结构思想,特别是朱世杰《四元玉鉴》中蕴含的消元与逐次求解程序;另一方面将其形式化为基于代数几何的工具,建立了几何定理机器证明的有效算法。吴文俊的工作不是简单地将《四元玉鉴》翻译为符号代数,而是从筹算机械化程序中提取了一种独立的程序结构传统,将其与当代代数几何工具结合,形成新的算法范式。
为使上述三种视角的具体含义落地,可借助《四元玉鉴》卷首"四象会元"类问题作为典型案例。此类问题的程序结构呈现为四元筹式的逐步消元:操作者在筹盘上建立四个相对独立的筹式,每一筹式对应一"元";随后通过"剔削法"将四元筹式逐步消去为三元、二元,最终化为单元方程。整个程序运行在筹盘上,每一操作步骤均可物理观察,终止条件是筹式所示多项式的次数归零或低于阈值。从计算复杂性视角看,这一程序的复杂度可与 Gaussian 消元法对照,但实现方式截然不同。Gaussian 消元法以矩阵符号变换为核心,操作的对象是符号化的代数矩阵;朱世杰的程序以筹式物理变换为核心,操作的对象是筹盘上的具体布局。两者在形式上对应,在实现上不可化约。从数值代数视角看,"四象会元"程序中的逐步消元过程,与当代多项式系统数值求解的"逐次消元-回代"策略存在结构相似;但朱世杰的程序不依赖浮点运算,而是依赖筹式的逐步增乘与简化。从自动推理视角看,"四象会元"程序的结构与吴方法中基于特征列的消元策略存在对话可能。吴方法的特征列计算,本质上是一种程序化的、可终止的消元策略;朱世杰的"剔削法"亦是一种程序化的、可终止的消元策略。两者虽属不同范式,但在"程序结构层面的可理解性"上存在对应。
吴文俊曾多次撰文论及朱世杰。在他看来,《四元玉鉴》"包含了足以与同期阿拉伯代数学比肩的算法成果,且在程序结构上具有与欧洲近世代数可对话的独立性"。此判断有三层含义:其一,《四元玉鉴》的算法成果具有独立价值,不可化约为阿拉伯或欧洲代数学的"前史";其二,《四元玉鉴》的程序结构具有跨范式可对话性,可被当代计算框架理解与借鉴;其三,《四元玉鉴》的工作是中国数学传统的内生产物,而非外来影响的结果。
1.4 重读的学术脉络:从沈康身、钱宝琮到吴文俊
"重读"《四元玉鉴》的学术脉络,可上溯至 20 世纪上半叶。钱宝琮(1892-1974)的《中国数学史》(1964 年初版,1980 年代再版)是中国数学史学科化的奠基之作。该书对《四元玉鉴》的讨论,至今仍是任何重读工作的起点。钱宝琮对朱世杰工作的定位是"中国宋元算学的高峰",他指出朱世杰的"四元术"在程序上与阿拉伯代数"分属不同传统,但成果可比"。
钱宝琮的工作受限于其时代条件:他所能依据的,主要是清代学者的辑本(如罗士琳的《四元玉鉴细草》),与现代意义上的符号代数翻译仍处于初步接触阶段。他对四元术的解读,本质上仍以"多元方程"为隐含标尺。但钱宝琮的判断——"分属不同传统,但成果可比"——是极为重要的学术遗产。它为后续重读留下了独立性的种子。
沈康身(1923-2009)的工作承接钱宝琮并有所推进。沈康身在《中国数学史大系》(1999-2000 年陆续出版)中,对《四元玉鉴》做了更为系统的考据与解读。沈康身特别强调朱世杰工作的程序性质:他不把"天元""地元"翻译为 "variable",而译为"运算程序中的位置标记";他不把"剔削""易简"翻译为"elimination",而译为"筹式变换的机械程序"。这一翻译策略看似细微,实则反映了本体论层面的自觉:沈康身开始将《四元玉鉴》置于其本来的算法范式之内,而非以外来标尺度量之。沈康身的工作还包括对罗士琳、沈钦裴等清代辑本的系统梳理,为后续程序还原工作提供了可靠的文献基础。
吴文俊(1919-2017)的工作则代表了重读的另一维度:跨范式的对话与转译。吴文俊本人是当代数学家,其"吴方法"在代数几何自动推理领域具有国际地位。但他花费相当精力于中国数学史研究,特别是对秦九韶(13 世纪)、朱世杰(13-14 世纪)工作的回看。在他看来,筹算机械化程序是中国数学传统中独立于符号化代数的一支脉络,吴方法的工作即受此脉络启发。
吴文俊多次撰文指出,朱世杰工作的程序结构与阿拉伯代数学、欧洲符号代数学"在形式上不同源,在功能上等价"。他特别强调朱世杰"四元术"的"矩阵化"特征:四元术中四个"元"的相互位置与变换,形式上与现代线性代数中的矩阵运算存在结构对应。这一观察为重读工作提供了新的分析工具:将《四元玉鉴》中的程序还原为"矩阵化"的程序结构,可以揭示其与现代计算框架的深层对应。
三人的学术脉络代表三种不同的重读立场:钱宝琮以"独立传统"为重读立场,沈康身以"程序本体"为重读立场,吴文俊以"跨范式对话"为重读立场。本书的工作,是在这三种立场上进一步推进,并在方法论层面形成自觉。
须特别指出"重读"的学术伦理问题。"重读"不是"重新发现":朱世杰的工作从未被遗忘,"前符号阶段"的标签使其在大众叙事中始终在场。"重读"也不是"重新评价":朱世杰在数学史上的地位早已确立,无需重评。"重读"是研究范式的转换:从"以符号代数为标尺的解读"转向"以筹算机械化程序为本位的解读"。这种范式转换要求学者承认中国算学的独立程序传统,而非将其定位为"前符号阶段"。
学术伦理的另一面是引用规范。本书对沈康身、钱宝琮、吴文俊等前辈的工作,将逐字引用并标明出处;对其工作之外的转述与概括,将注明为"转述";对其工作的批评与推进,将明确区分"继承"与"修正"两种关系。这一规范看似技术,实则是对前辈学术遗产的尊重,亦是学术诚实的基本要求。
1.5 方法论自觉:为后续文本细读奠基
本章至此已确立重读的基本立场与方法。为使后续章节的文本细读能够在此自觉的方法论框架下展开,须明确四点方法论原则。
本位立场是首要原则。后续文本细读将以《四元玉鉴》的筹算语境为本位,而非以符号代数语境为参照。这意味着:每一"元"将作为程序位置理解,每一"法"将作为机械程序理解,每一"题"将作为程序运行的实例理解。当需要与符号代数对话时,将采取"互译"而非"化约"的方式,明确两种范式的边界。
程序还原是次要原则。对每一具体问题,将尽可能还原其原始的筹算程序,包括筹式的初始布局、逐步变换、终止条件。这一还原不依赖于符号代数的二次翻译,而是基于清代辑本(如罗士琳《四元玉鉴细草》、沈钦裴《四元玉鉴细草》),结合现代学者的工作(如沈康身的考据、吴文俊的程序分析),重建原初的程序结构。
跨范式对话是第三原则。在程序还原的基础上,与当代计算框架(计算复杂性、数值代数、自动推理)进行结构层面的对话。这一对话不是为了"证明"朱世杰的工作具有现代价值,而是为了揭示其程序结构在跨范式意义上的可理解性。
学术伦理是第四原则。对前辈学者的工作,遵循引用规范;对原典的解读,注明依据的版本与辑本;对超出文献支持的判断,明确标注为"本书推论"。这一原则既是学术诚实的要求,亦是后续章节文本细读的纪律。
为直观呈现本书所采取的"现代计算视角与古典筹算视角之间的桥接点与断裂点",图 1-1 给出概念性流程图。
```mermaid flowchart LR A[古典筹算机械化程序] -->|程序结构等价| B[现代计算框架] A -->|本体差异断裂| C[符号化代数] B -->|计算复杂性| D[增乘开方法分析] B -->|数值代数| E[逐步逼近程序] B -->|自动推理| F[吴方法启发] C -->|化约遮蔽| G[前符号阶段标签] G -->|本书否定| A A -->|本位立场| H[程序还原] H -->|跨范式对话| B ```
图 1-1 现代计算视角与古典筹算视角之间的桥接点与断裂点
图 1-1 显示了三组关系。古典筹算机械化程序与现代计算框架之间存在"程序结构等价"的桥接点,这一桥接点不是简单的同构,而是结构层面可对话的对应。古典筹算机械化程序与符号化代数之间存在"本体差异断裂",这种断裂意味着两者不可化约为对方。将符号化代数作为标尺度量古典筹算程序,会导致"前符号阶段"标签的形成,而本书的方法论正是要否定这一标签。
后续章节将在此框架下展开。第二章将建立《四元玉鉴》的历史坐标,梳理其文本流传、辑本传统与版本源流,为后续程序还原提供文献基础。第三章将进入四元术的程序结构分析,从"天元""地元""人元""物元"的程序位置出发,逐次展开朱世杰算法的程序逻辑。第四章及以后各章,将分主题展开文本细读,分别就"四元术""剔削法""易简法""增乘开方法"等专题进行程序还原与跨范式对话。
本章小结
回应核心诘问:在计算数学高度发达的今天,重读《四元玉鉴》的学术正当性与理论必要性如何确立?回答分三条线索展开。
第一条线索是对流行简化叙述的批判。流行叙述将四元术径直等同于"多元方程组"或"消元法",造成三种遮蔽:符号学层面的误读、本体论层面的扁平化、史观层面的西方中心预设。它们的共同根源,是将符号化代数作为隐含标尺,从而将朱世杰的工作定位为"前符号阶段"。
第二条线索是对本体差异的辨析。符号化代数与筹算机械化程序是两种独立的算法范式,在表达力上等价,在本体上不可化约。两者的差异体现在对象的物质性、程序的封闭性、表达力的等价但不可化约三个维度。本书采取筹算机械化程序作为重读的本位立场。
第三条线索是对程序结构思想的回看。从计算复杂性、数值代数、自动推理三个当代视角看,四元术的程序结构具有跨范式的可理解性。吴文俊的工作为这一回看提供了典范:他不将《四元玉鉴》翻译为符号代数,而是从筹算机械化程序中提取独立的程序结构传统,与当代代数几何工具结合,形成新的算法范式。
由此确立的重读纲领,包括四个方法论原则:本位立场、程序还原、跨范式对话、学术伦理。这一纲领将作为后续章节的方法论基础,确保文本细读在自觉的框架下展开。
下一章将在此基础上建立《四元玉鉴》的历史坐标:从朱世杰的生平与时代背景,到《算学启蒙》与《四元玉鉴》的成书关系,再到宋元算学从《九章算术》《孙子算经》到秦九韶《数书九章》、朱世杰《四元玉鉴》的脉络延伸,最后讨论明清以降的辑本传统与版本源流。这一历史坐标的建立,是后续程序还原工作的文献基础。