重访九章
第一章 重访九章
对任何一本进入专业阅读视野的古代数学典籍而言,「重访」这个词本身就预设了一种姿态:你不是初次接触,而是带着后续阅读、专业训练或职业经验再度打开它。对于《九章算术》这样的文本——它的成书跨越数个世纪、编者不可考、内容历经增删——这种姿态尤其必要。本章要回答的核心问题是:在世界数学史上,这部佚名之作应当被放在怎样的坐标系里?一个高级读者应带着怎样的方法论自觉去重读它?
文本发生学、体例解剖、横向比较,这三个维度构成重访的入口。它们不是三个并列的话题,而是同一枚硬币的三个面:一部数学典籍的「位置感」取决于它从哪里来、以什么形态存在、与其他传统相比有什么不同。
一、文本发生学:从《算数书》出土重审成书问题
关于《九章算术》的成书,传统说法——「汉初张苍、耿寿昌删补」——出自《史记·历书》的一句话和东汉末年的几处零星记载,本身就是层累的产物。如果只依据这些材料,成书年代大致被定在西汉中后期(约公元前1世纪)。但 1983 至 1984 年湖北江陵张家山西汉初年墓葬(墓主下葬于公元前 186 年)的发掘改变了这一图景。墓中出土的竹简经整理后于 1985 年公布,题作《算数书》,内容包含约 190 个数学问题,涉及田亩、赋税、谷物交换、面积体积等多个主题,与今本《九章》重合度极高。
张家山《算数书》的意义不在于它「比《九章》更早」(下葬年代不直接等于书写年代),而在于它证实了一件事:在《九章》成书之前,已经存在一个结构成熟、覆盖广泛、以算法为核心的中国数学知识系统。《九章》不是从无到有的发明,而是这一系统的总结、整理和再编码。
从文本内证来看,这一积累过程至少可以追溯到先秦。《周髀算经》中商高与周公的对话(约公元前1世纪定本,但内容更早)明确陈述了「勾三股四弦五」的关系,并以「数之法出于圆方」的形而上学表述赋予数学一种本体论地位。《墨经》六篇中虽然直接涉及数学的段落不多,但其「圜,一中同长也」「方,隅四相直也」「平,同高也」等定义显示出对几何对象的抽象把握能力,与《九章》方田章「术曰:半之,以乘半径」的圆面积公式在概念结构上并非两个世界。
把这些材料并置,一个更准确的表述浮现出来:《九章算术》不是某位作者的创作,而是从战国到西汉数百年间行政实践、田亩丈量、谷物计算、工事估算所沉淀下来的算法集合的一次标准化整理。所谓「佚名」,并不是说我们不知道编者是谁——汉初张苍、耿寿昌的名字确实与删补工作有关——而是说这个文本的权威性不依赖于个人署名。它的「作者」是制度,是官府中的算学传统,是一代代在县廷、郡府、户部处理具体数字的「吏」。
```mermaid flowchart LR A[先秦算法传统] --> Z[九章算术成书] B[周髀算经定本] --> Z C[墨经] --> Z D[张家山算数书] --> Z Z --> F[刘歆校订] F --> G[刘徽注 263 CE] G --> H[李淳风整理 唐] H --> I[北宋刻本 1084] I --> J[明代影抄本] J --> K[清代考据] K --> L[钱宝琮校点 1963] L --> N[郭书春汇校 2004] M[张家山算数书公布 1985] -.-> N ```
这条时间线呈现的非匀速特征值得留意:从公元前4世纪到公元1世纪是漫长的算法层累期;公元263年刘徽注是文本史上的第一次跃迁,幅度远超前几个世纪之和;1084年北宋秘书省刻本使文本首次以印刷形式固定,此前皆为传抄;1985年张家山简的公布则是20世纪最重要的文本事件,它一次性重写了关于成书的所有讨论,虚线箭头标示的正是这种回溯式影响。
这一点对重访者至关重要:当我们读到方田章第一题「今有田广十二步,从十四步,问为田几何」,我们面对的不是某位天才的灵光一现,而是某个在地方衙门工作过的算法操作员对一类问题的标准处理方式。文本的匿名性,正是它作为「行政数学工具箱」的可靠保证。
二、体例解剖:问、术、答的算法库本质
打开今本《九章算术》(以郭书春汇校本为底本,约含 246 题),最直观的体例特征是它由「问、术、答」三段构成。问是具体问题的陈述,往往以真实场景(田亩、粮食、工程、交易)为依托;术是算法描述,通常用「术曰」引出,给出从已知量到未知量的计算步骤;答是用具体数值回应问题中的「几何」或「得几何」。
以方田章首题为例:
> 今有田广十二步,从十四步,问为田几何。 > 术曰:广从相乘得积步。 > 答曰:一百六十八步。
术的核心动作「广从相乘」是一个操作性的指令:把「广」(宽)与「从」(长)这两个数值相乘,结果命名为「积步」(面积的步²单位)。没有解释为什么相乘——因为在编者看来,这就是矩形的定义。不需要证明,因为这里没有定理。
这种「术」的概念不能翻译为「公式」(formula),尽管现代读者很容易这样理解。公式是抽象符号之间的关系式,例如 $A = l \times w$;术是动作序列,它隐含了一个执行者。读「广从相乘」时,读者需要预设一个执行者(人或机械)正在将两个数值送入乘法操作。这正是为什么魏刘徽在注中会反复推敲「广从相乘」的含义:乘法动作产生的「积」究竟是一个数值还是一个几何对象?刘徽的回答是「以御田积之步数」,即「积」本质上是用步²计数的一个量化结果,而非几何意义上的「面积实体」。这一微妙讨论揭示了「术」与「公式」之间的本质差异。
更进一步观察会发现,整个《九章》246 道题中,「术」具有高度的复用性。方田章第三十二题讨论「圭田」(等腰三角形)的面积,术为「半广以乘正从」。表面上看,这是三角形面积公式 $\frac{1}{2}bh$ 的前身。但仔细读会发现,术并不只是给三角形用的——它实际上是一种「先取半再相乘」的操作模式。这种操作模式会被推广到所有「中截面问题」:圆周问题、圆锥体积、球体积等。同一种操作模式被应用于多个问题,正是「算法库」的本质特征:它存储的是可复用的过程,而非可演绎的命题。
如果要找一个现代对应物,最接近的不是定理集合,而是程序库(library)。一个 Python 程序库提供的是可调用的函数(procedure),每个函数有明确的输入、输出和调用规约。调用者不必理解函数内部的所有细节,只需要知道其接口契约。《九章》中的「术」正是这样:每条术都是一个具有明确输入(已知量)、输出(未知量)、操作过程(步骤序列)的程序模块。方田首题的术,其接口是 `(广, 从) → 积步`,实现是「相乘」。这个接口在方田章其他题目中、在粟米章、在均输章都会被再次调用,只是参数类型可能变化。
这种「程序库」式的文本组织方式,与欧几里得式公理、定理、证明的演绎体系形成鲜明对比——这是下一节比较坐标的内容。在体例层面已经可以预告的是:《九章》之所以没有发展出类似希腊数学那样的形式证明传统,根本原因在于它的文本目的不是「证明算法的正确性」,而是「存储和传递可复用的算法」。证明是被存储的对象之外的负担,由注释者(如刘徽)承担,而非原文本的内在要求。
三、比较坐标:与《几何原本》《准绳算术》、巴比伦泥板的横向对照
把《九章》放在公元前2世纪至公元1世纪的世界数学版图里,会发现一个明显的特征:它几乎是唯一一个以「通用算法」为组织核心的大型数学文本。
同期或更早的希腊传统,以欧几里得《几何原本》(约公元前300年)为代表,采用的是公理、定义、定理、证明的演绎结构。《几何原本》卷一第一题不是「给一个三角形求面积」,而是「在给定线段上作等边三角形」。它的起点是抽象的几何对象(点、线、面),目标是建立对象之间的逻辑关系。算法的具体执行并不被记录——作图存在就够了,因为「存在」已经证明了几何对象的可构造性。中国传统里至关重要的「怎么算」,在希腊传统里退居次席。
印度传统(《准绳算术》,Śulbasūtras,约公元前5世纪至公元前2世纪成文)是一个有趣的中间类型。其内容是为祭祀仪式建造祭坛的几何规约,包含直角三角形三边的勾股关系(如 Baudhāyana Śulbasūtra 1.12:「横纵二线所围之积,等于对角线所围之积」)。但《准绳算术》始终把数学规约嵌入宗教仪式之中,每一条规则都附着一个仪式目的。与《九章》相比,《准绳算术》更像是祭祀建筑手册,而非通用的算法集合。
巴比伦传统——以耶鲁大学藏 YBC 7289(约公元前1800年)泥板为代表的「问题集」——在形式上与《九章》最为接近:都是「问题、数值、操作」的序列。但巴比伦泥板通常针对具体数值(如「一块田面积60,长7,求宽」),而非一般参数(「广 a 从 b 求积」)。也就是说,巴比伦传统是个案性的计算记录,而非抽象算法的库。苏美尔「题目教师」(problem scribe)留下的板片,本质上是数值练习,而非通用方法。
在这一点上,《九章》的抽象层级显著更高。同一术(如「广从相乘」)适用于任意数值的广与从——它是一个参数化操作,而非具体数值问题。这正是现代算法概念的核心特征:以变量替代常量,使操作可复用。
把这个比较浓缩成一个判断:先秦至西汉的中国数学,在抽象层级上达到了与希腊传统相当的普遍性,但在表达形式上选择了算法而非证明。它的「重术轻证」不是因为不重视推理,而是因为它的「推理」是被嵌入术中——通过选择合适的过程而非陈述命题间的蕴含关系。这种选择带来的优势是计算的可执行性、可移植性,劣势是知识体系的自我修正能力较弱——一旦算法有错(如「周三径一」圆周率3的近似),文本本身没有机制来识别和纠正。
需要谨慎的是,这种比较不应被读成「中西数学孰优孰劣」的价值判断。希腊传统选择了演绎,是因为其哲学传统(柏拉图—亚里士多德)从一开始就把「真」等同于「可被证明的命题」。中国选择了算法,是因为其行政传统从一开始就把「数学」等同于「可被执行的程序」。两个传统都有各自伟大的成果——《几何原本》成为整个西方数学两千年的范式;《九章》则成为整个东亚(中、日、韩、越)一千五百余年的数学教科书——只是它们解决的是不同层面的问题。
四、中国数学的精神底色:重术、尚用、依形而问
《九章》246道题,按主题分布在九章之中:方田(38题,田亩面积)、粟米(46题,粮食兑换)、衰分(20题,比例分配)、少广(16题,开方)、商功(28题,工程体积)、均输(28题,赋税转运)、盈不足(20题,盈亏问题)、方程(18题,线性方程组)、勾股(24题,直角三角形)。仅从题目的分布,就能读出这部数学典籍的实用取向:六成以上的题目涉及行政运作的具体场景。
「依形而问」是这种取向的精确表述:问题总是从一个具体的形状或情境出发(「今有田广十二步,从十四步」),而不是从一个抽象的定义出发(「给定两个量 a、b」)。田、粟、功、输,所有问题都有形可依、有物可指。这并不意味着中国数学家不能抽象——刘徽对「幂」(面积)的抽象化处理、对「率」(比率)的代数化分析,都展示了极高的抽象能力——而是抽象的起点和归宿始终是形。
「重术」意味着方法论上对操作性的偏爱。一个问题被解决,不是当它的答案被验证,而是当它的执行步骤被清晰表述并可以重复。「尚用」则意味着评价标准上的实用性偏向。一个算法的好坏,不由它的理论优雅度决定,而由它在实际场景中的可应用性、可推广性、可传授性决定。
这三种特性——重术、尚用、依形而问——不是孤立的三条,而是同一种文化选择的三个侧面。它们共同决定了《九章》的体例(问、术、答)、组织方式(按行政场景分章)和传承路径(师徒相授、官府培训)。
理解这一点,才能避免一种常见的误读——把《九章》的实用性等同于「技术粗糙」。实用性与理论深度并不互斥。刘徽在《九章》方田章的注释中推导圆面积公式 $S = \frac{1}{2} \cdot L \cdot r$(其中 $L$ 为周长、$r$ 为半径)时,使用了无穷分割累加的方法,这一思想与阿基米德《方法论》中穷竭法的精神高度一致,只是没有采用希腊式的双归谬证明。刘徽能想到无穷分割,说明他完全有能力进行高强度抽象;他选择不写出形式证明,是文本传统的要求,不是个人能力的限制。
方程章的「方程术」是另一个值得简述的例子。该章第十八题给出三组「禾」与「实」的数据,要求解出每束禾打出的粮食量。表面看是三个未知数三个方程的线性系统,《九章》的解法——以「方程」的术语命名的矩形阵列变换——与现代高斯消元法在操作层面完全同构:消去未知数、回代求解。刘徽的注揭示了这一方法的几何意义(「以御每禾之实」),将代数操作与具体场景联系起来。这个例子再次说明,「重术」并不意味着不能抽象,而是不以抽象为目的。
五、高级读者的研读路径:版本、术语与节奏
重访《九章》,第一步要解决的不是「读哪一章」,而是「用哪个本子」。这个问题比看起来重要,因为《九章》在2000年的流传中产生了大量版本变体——异文、脱误、衍文、误抄,校勘本身就是一门学问。
当前最值得入手的三个现代校注本:
郭书春《九章算术译注》(上海古籍出版社,2009)是首选,这是目前学术性最完整、吸收最新研究最充分的本子。郭书春用近三十年时间完成汇校工作,汇集了从南宋本到清代各种注释本的异文,并附有刘徽、李淳风等历代注释的现代汉语翻译。书中对每一条术都给出了操作解读和历史背景分析。
钱宝琮校点的《算经十书》(中华书局,1963)收录于《算经十书》合集中,是20世纪上半叶钱宝琮主持校勘工作的成果,使用汲古阁本为底本,保留了较多清代学者的注释。语言简练、考据扎实,但未吸收1980年代以后的考古发现和新研究。
邹大海的近年注释与研究著作,特别是其关于《算数书》与《九章》关系的研究论文集,对理解文本发生学极有帮助,可与上述两本配合使用。
术语对照是重访者必须准备的第二项工具。《九章》的术语系统与现代数学术语不完全对应,最容易引起误读的有以下若干组:
| 《九章》术语 | 现代数学对应 | 注意事项 | |---|---|---| | 广、从 | 宽、长(长度量) | 后世常写作「从」或「纵」 | | 积步 | 面积(步²单位) | 「积」是动作的结果,不是几何对象 | | 粟、粝 | 粮食品种(兑换用) | 不是数学术语,是行政单位 | | 御 | 兑换率 | 早期写作「御」,后期改用「率」 | | 衰分 | 按比例分配 | 「衰」是等差,不是衰减 | | 方程 | 线性方程组(矩阵) | 不是现代意义的「方程」 | | 勾股 | 直角边(勾=短边、股=长边) | 弦是斜边 | | 少广 | 开方(平方根) | 「广」是面积,「少广」即以小求大 | | 乘 | 倍数运算 | 不仅是现代意义上的「乘」 |
研读节奏建议分三个阶段。初始阶段通读方田、少广两章,用一至两周时间,目的是体会「问、术、答」的体例感,建立对「术」的直觉。方田章的几何问题直观,少广章的开方问题(求平方根的算法)则展示了「术」如何处理迭代和近似,非常有助于建立对算法库的感性认识。核心阶段精读方程、勾股两章,这两章的算法复杂度显著提升:方程章的「方程术」实质上是线性方程组的解法,与现代高斯消元法思想一致;勾股章的「勾股术」则涉及勾股定理 $\sqrt{a^2 + b^2} = c$ 及其在测量中的应用。刘徽在这两章的注释最为详尽,建议对照阅读。深化阶段回到粟米、均输、盈不足三章,这三章展示了「比率」(率)这一中国数学核心概念的多种应用——比例、税率、盈亏填补——理解「率」的灵活性,是把握中国数学精神的关键。
这种节奏安排的目的,是让读者先建立体例感(通过直观的几何与代数问题),再深入核心算法(通过抽象度较高的方程与勾股问题),最后回到应用层面体会中国数学的实用性精神。这与文本本身的内在结构——从具体到抽象再到具体的循环——是同构的。
本章小结
《九章算术》不是一部孤立的作品,而是战国至西汉算法传统的总结;它的匿名性不是缺陷,而是其制度性权威的体现——它是一部被官府背书的算法库。重访它的正确姿态,是把它当作一个程序库而非定理集来读:从问、术、答的体例中提取操作模式,从刘徽的注释中理解算法的边界,从与希腊、印度、巴比伦传统的对照中辨识中国数学的精神底色——重术、尚用、依形而问。
具体到行动上,本章给出的「重访者工具箱」包括三个权威校注本的选择建议(首选郭书春《九章算术译注》)、一组核心术语对照表、以及分三阶段的研读节奏(先通读方田、少广;再精读方程、勾股;最后回到粟米、均输、盈不足体会「率」的灵活性)。
下一章将进入《九章算术》具体版本的千年沉浮:从刘歆的西汉校定,到魏刘徽的注释,到唐李淳风的整理,到北宋秘书省的刊刻,到清代的考据学派,到1980年代《算数书》出土对成书说的冲击——一条充满偶然事件、劫后余生与文本变异的流传史。