九章之门
九章之门
如果把人类早期数学知识比作一条河流,《九章算术》就是其中水量最大、流速最缓的一段。它不是源头,真正的源头要追溯到甲骨文里的"卜辞数字"和《周髀算经》中的盖天模型;它也不是入海口,唐宋以降的代数学、天元术、四元术都从这里分蘖出去。但任何想要理解中国古代数学"为什么是这样"的读者,都必须在这部文本前停下来,面对一个根本问题:它究竟是数学家的著作,还是工匠、农官、税吏、筑城者的共同遗产?
这个问题的答案,决定了我们今天读《九章》的方式。
《九章算术》的文本形态非常特殊。它没有欧几里得《几何原本》那种从公理出发的演绎体系,也没有丢番图《算术》那种以未知数为中心的代数风格。它呈现的是246个具体问题及其解法,每一问都来自真实的生存场景:交换粮食、分配田亩、修筑沟渠、计算漕运损耗、解直角三角形边长。这些问题按照"方田、粟米、衰分、少广、商功、均输、盈不足、方程、勾股"九章排列,每章开篇通常以"今有..."引出问题,结尾给出"答曰...",中间是"术曰...",即算法。
这种格式本身就是一种哲学立场:问题先于方法,方法从问题中提炼。本章的任务,就是把这层意思说清楚。
一、文本的性质:累积的算法,不是天才的独白
《九章算术》的成书年代学界仍有争论,但基本时间框架是清楚的:核心内容形成于先秦至西汉中后期,最终定本大约在公元前一世纪左右,由张苍、耿寿昌等人整理。钱宝琮等前辈学者已经梳理过几条主要源流。
最古老的一层是《周髀算经》代表的"天文与测量"传统。周公与商高的对话中提到了"勾股"(即勾三股四弦五),陈子与荣方的对话则涉及测量太阳高度、勾股定理的通用形式。这一传统的核心是用数学解决宇宙模型问题,技术成分以分数运算、比例换算为主。
第二层是先秦典籍中提到的"九数"。郑玄注《周礼·地官》时引用郑众的说法:"九数:方田、粟米、差分、少广、商功、均输、方程、盈不足、旁要。"这九类与今本《九章》的九章几乎一一对应,说明在先秦时期已经存在某种按应用领域分类的数学知识体系。"九数"不是一本书,更像是一种教学大纲或目录。
第三层是西汉的整理与定型。西汉建立了庞大的帝国官僚体系,农业税按亩征粮、漕运按距离折算、城防按规模调工,这些现实需求催生了大量实用算法。张苍(约公元前252—前152年)是刘邦集团的元老,担任过丞相,同时精通天文历算;耿寿昌是昭帝时期的理财大臣,主管过"常平仓"和边郡的粮食运输。两人作为政治家的同时也是算学家,由他们(或他们主持的机构)来整理这部文本,符合汉代"官学"的特点。
理解这一点对把握《九章》的性质至关重要。它不是某位数学家独自闭关三年的产物,而是几十代实务工作者在田亩、仓库、工地、税吏案头积累下来的算法集。《九章》的"佚名作者群"不是谦虚的修辞,而是一个事实判断:246个问题中,有些可能来自春秋战国时期的田官,有些来自秦代的算术教材,有些来自西汉初年的漕运计算实践,还有些则可能是张苍、耿寿昌本人或他们门生新创的方法。
这种累积性的文本有几个可观察的特征。
算法优先于证明是最直接的一条。一个问题给出后,紧接着是"术曰",即操作步骤。读者要做的不是理解"为什么"这样做,而是记住"怎样"做。这种风格在《几何原本》中是不存在的。欧几里得从不告诉读者"用直尺和圆规做这件事",他只关心如何从已知命题推出未知命题。
问题类型高度场景化也贯穿始终。方田章38问都是田亩测量和面积计算;粟米章46问都是粮食交换;商功章28问都是筑城、修渠、堆粮的体积计算。每一章都是一个应用领域,跨章的横向联系较少。这种编排方式反映了古代知识传承的"师徒授受"传统。学徒跟着师傅在仓库里学粮食换算,就在粟米章下功夫;跟着田官丈量土地,就专攻方田章。
数值精度服从实用需求。许多问题的答案给出分数,符合古代的"度、量、衡"传统;开方、圆面积等问题给出了较为精确的近似值(如 $\pi \approx 3$ 或 $\pi \approx \frac{22}{7}$,后者为刘徽所改进),但并不追求现代意义上的严格收敛。
理解这些特征之后,再来看《九章》的"佚名作者群",它的意义就清楚了。这部文本代表的是一种与希腊公理演绎传统并立、但路径完全不同的知识生产方式:数学从实践中生长,从具体问题中蒸馏出算法,但很少上升到抽象公理。它不是某个天才的灵光一现,而是一个文明在特定历史阶段的集体产物。
二、246问的认知阶梯:从测量到建模
许多初读《九章》的读者会有一个错觉:九章只是按应用领域分类的九个题库,方田归方田,粟米归粟米,章与章之间没有内在逻辑。这是对文本结构的误读。
事实上,九章的排列遵循一条从简单到复杂、从具体到抽象的认知阶梯。如果把这246问视为一个整体,它的演进路径大致如下。
测量层:方田章处理矩形、三角形、梯形、圆、弓形、环形田地的面积。这是最直接的几何测量问题,所需算法是加减乘除和分数运算。
交换层:粟米章处理不同粮食种类之间的兑换(粟、粝米、粺米、御米等),核心是比例运算。这一章引入了"粟率"和"米率"的概念,建立了标准化的换算体系:粟五十、粝米三十、粺米二十七、御米二十四,反映了汉代粮食经济的实际比率。
分配层:衰分章处理按比例分配,如按爵位分配俸禄、按人数分配遗产、按户等分配赋税。这是粟米章比例概念的延伸,但增加了"分配方向"的维度。
曲线与开方层:少广章处理已知圆面积求直径(开圆术)、已知正方形面积求边长(开方术)、已知长方体体积求棱长(开立方术)。这是从平面测量向"逆问题"的飞跃。
立体层:商功章处理城墙、堤坝、粮仓、水渠的体积计算,需要考虑等截面、变截面、斜面等多种几何体。
复合分配层:均输章是衰分的复杂版本,处理远距离、多人、多任务的分配问题,如不同距离的郡县按比例向京城运送粮食。这一章是汉代"均输法"政策的数学表达。桑弘羊的均输法在公元前115年左右推行,与《九章》的形成时间高度吻合。
假设法层:盈不足章处理"不知两个量各为多少,但知其和与差(或某种函数关系)"的问题,使用"假令"(假设)的方法求解。这是方程的前驱。
代数层:方程章是整部《九章》的高峰,处理线性方程组的求解。它使用了"直除法"(相当于高斯消元法的雏形)和"损益术"(移项),并以"从法"和"行"作为方程组的矩阵表示。这一章在三千年前的中国,已经建立了非常成熟的线性代数框架。
综合层:勾股章处理直角三角形边长关系、相似三角形测量("望山、望海岛、望津、望楼、望波口"等),以及勾股恒等式的代数变形。这是算术、方程、几何的交汇点。
这张从方田到勾股的认知阶梯,可以用一个简化的流程图来呈现:
```mermaid flowchart TD A[方田: 面积测量] --> B[粟米: 比例交换] A --> D[少广: 圆与开方] B --> C[衰分: 按比分配] C --> E[均输: 复合分配] D --> F[商功: 立体体积] E --> G[盈不足: 假设法] F --> G G --> H[方程: 线性方程组] H --> I[勾股: 综合几何代数] ```
需要解释一下这张图的逻辑。方田是九章之始,也是全部算术的起点,丈量土地是一切赋税和生产的基础。从方田分出两条线:一条经由粟米、衰分、均输,处理"按比例分配"这一核心问题,从简单换算演进到多郡县、多任务的复杂分配;另一条经由少广、商功,处理几何对象从平面到立体的扩展。盈不足与方程是这两条线的汇合。无论是比例问题还是体积问题,最终都可以转化为线性方程组。勾股章作为终章,把前面所有的算术和代数方法投射到几何空间,形成几何代数化的综合应用。
这种结构与希腊数学的章节安排形成鲜明对比。《几何原本》13卷大致按照"几何对象从点到线到面到体,再到不可公度量"的逻辑递进,核心驱动力是命题之间的演绎关系。《九章》的九章则按照人类处理现实问题的认知顺序递进,核心驱动力是应用场景从简单到复杂的过渡。两种结构都没有错,但它们所暗示的数学观差异深刻,后面会展开讨论。
三、算术、方程、勾股:三大支柱的内在关系
《九章》内部有三个核心概念支撑着全部246问,我把它们称作算术、方程、勾股三大支柱。这三者不是平行的章节主题,而是三种不同层次的数学抽象。
算术是最基础的一层,涵盖加减乘除、分数运算、开方、比例、盈亏等问题。方田、粟米、衰分、少广、商功、均输、盈不足七章都可以纳入"广义算术"的范畴,它们处理的都是具体数值之间的运算关系。算术的特点是"每个问题都有唯一确定的具体答案",解法的核心是找到正确的运算序列。
方程是算术的代数化抽象。方程章出现的线性方程组处理的是"未知数之间的关系",而非"具体数值之间的运算"。这里的飞跃在于:我们不再追问"这块田多大"、"这袋粮多重"这样的具体问题,而是要回答"如果这些条件都成立,未知量该取什么值"。方程章里的"方程"二字,字面意思是"方阵"或"比并而陈",把多个等式(即"行")横向排列起来,让它们"互相较量"(即"方程"),从而求得各未知数的值。这是一种高度抽象的思维,与现代线性代数中的矩阵运算遥相呼应。
勾股是几何与代数的交汇。勾股定理 $a^2 + b^2 = c^2$ 本身是个几何事实,但《九章》对它的运用远超定理本身。勾股章处理"望山、望海岛、望津、望楼、望波口"等测量问题时,核心是"已知某些几何关系,求某些距离",这类问题的解法本质上是把几何约束翻译成代数方程,再用算术方法求解。换句话说,勾股章是用几何语言包装的方程问题。
三大支柱的关系可以这样表述:算术是基础(不掌握算术就无法进入方程);方程是算术的代数化(它把算术从"求数值"扩展为"求未知量");勾股是几何的代数载体(它把空间关系转化为可计算的数量)。从这个角度看,《九章》九章虽然看似分立,实则构成了一个"算术为体,方程为用,勾股为形"的完整知识体系。
这种体系意识在《九章》原文中并不显豁,因为文本没有给出总纲式的论述。但刘徽在263年的注本中明确点破了这层关系。他在《九章算术注·序》中写道:
> "徽幼习《九章》,长再详览……析理以辞,解体用图。"
这十四个字里,"析理"是抽象分析,"解体"是分解结构,"辞"与"图"是两种工具:语言文字与图形。刘徽的研读法实际上贯穿了三大支柱的内在关系。"理"对应方程层面的代数关系,"体"对应算术层面的运算结构,"图"对应勾股层面的几何表达。
四、与《几何原本》的对照:问题驱动与公理演绎
如果只看体量,《九章》与《几何原本》在古希腊罗马时期几乎是同时代的文本,成书时间相距不到一个世纪。《几何原本》约公元前300年成书,《九章》定本约公元前1世纪,二者都是各自文明数学知识的集大成之作。但两者的内在气质判然有别。
《几何原本》的特征是从五条公理、四条公设出发,通过演绎推理建立全部465个命题。每一个命题的合法性都依赖于前置命题与公理,整部著作是一座自下而上的金字塔。读者从最底层的"两点之间可以画一条直线"开始,逐步攀升到最复杂的"正多面体只有五种"。
《九章》的特征是从246个具体问题出发,通过算法归纳出一类问题的解法。每一问的"术曰"都是对一类问题的程序化回答,读者从"这块田多大"开始,逐步学会"处理一切田亩问题"。
用今天的话讲,《几何原本》是公理演绎系统,《九章》是算法工具箱。前者追求命题之间的逻辑严密性,后者追求算法的可重复使用性。两者没有高下之分,但它们背后关于"数学是什么"的判断迥异。
欧几里得相信数学是关于"永恒真理"的学问。点、线、面是不依赖物质而存在的抽象对象,命题的真假可以通过纯粹推理判定。《九章》的作者们(或者说整个汉代实用数学传统)相信数学是关于"解决问题"的学问,它的合法性来自"能不能用",而非"是否自洽"。
这个判断差异不是历史偶然。希腊数学的公理化倾向与柏拉图哲学密切相关,理念世界的独立性要求数学对象脱离具体物质;中国早期数学的算法化倾向则与官僚帝国的治理需求密切相关,赋税、漕运、工程要求数学必须能用、好用、经得起核对。
理解这一点之后,我们就能更准确地评价《九章》的成就。它没有建立公理系统,没有追求命题的严格演绎,但这并不意味着它"不够数学"。事实上,《九章》中的许多算法在数学上是非常深刻的:方程章的线性方程组解法比欧洲同类方法早一千五百年,盈不足章的假设法在阿拉伯世界流传后影响了中世纪欧洲的代数学,勾股章的相似测量问题比希腊化时代的对应问题更为复杂。
一个具体的对比可以说明问题。《几何原本》第1卷命题47证明了勾股定理,方法是面积拼合;《九章》勾股章"勾股术"也陈述了同一关系,但《九章》的重心不在证明,而在应用。它给出了六类"勾股恒等式变形",对应不同的测量场景。换言之,希腊传统把勾股定理作为公理体系的终点,中国传统把它作为算法应用的起点。同一个定理,两种数学观。
如果一定要在两大传统之间分高下,标准只能是"谁更好地回答了'数学是关于什么的学问'这个问题"。答案是:两者回答的是不同的问题。《几何原本》回答了"什么为真",《九章》回答了"什么能用"。
五、研读指南:析理以辞,解体用图
读完前面的分析,你可能已经迫不及待想翻开《九章》了。但在进入正文之前,有必要先建立一套研读方法论。刘徽留下的析理以辞、解体用图六字真言,是我建议每位读者带入文本的钥匙。
析理,分析问题背后的数学原理。《九章》的每一问都不是孤立的,它属于某一类问题(如"以粟换米"、"按爵分配"、"求方城体积")。把握了这一类问题的数学原理,就能举一反三。
以辞,用准确的语言文字表达数学关系。刘徽的注本之所以重要,是因为他用文字把《九章》原文中"沉默的算法"翻译成了可理解的推理过程。今天读《九章》,即便不读刘徽注,至少也要把每个"术曰"用现代语言重新表述一遍,才能确认自己理解了它。
解体,分解问题的结构。许多《九章》问题看似复杂(如勾股章的望海岛问题),实际上是若干简单问题的复合。把问题拆成若干已知模式,问题就迎刃而解。
用图,借助图形表达几何关系。勾股章的题目尤其需要这一步,画出示意图,标注已知量与未知量,几何关系就一目了然。
让我以粟米章首题为案例,展示这套方法如何运作。
原题:"今有粟一斗。欲为粝米。问得几何?" 答曰:六升 术曰:以粟求粝米,三之,五而一
析理:本题的核心原理是"粟与粝米之间存在固定兑换比率"。这个比率在汉代是已知的:粟五十升可换粝米三十升。换言之,粟与粝米的兑换比例是 $50:30 = 5:3$。比率 $5:3$ 的来源是制度性约定,反映了汉代粮食加工的实际情况。粟去壳后体积缩小,粝米是去壳但未精磨的米,其容积约为粟的六成。这一比率一旦确定,所有粟与粝米之间的兑换都按此比例计算。
以辞:用现代语言重新表述"术曰",即"将粟的数量乘以3,再除以5,即得粝米的数量。"
$$粝米 = 粟 \times \frac{3}{5}$$
解体:本题的"体"非常简洁,一个标准的比例换算结构。已知 $粟:粝米 = 5:3$,已知 $粟 = 1斗 = 10升$,求 $粝米$。一旦识别出"比例"这个模式,算法就唯一确定了。
用图:可以用一个简化的配对图示:
``` 粟: 5份 ────→ 粝米: 3份 10升 ────→ ?升 ```
按比例计算:$\frac{3}{5} \times 10 = 6$ 升。
这个案例非常简短,但展示了《九章》文本的一个核心特征:算法即答案,原理隐含其中。原题没有告诉我们为什么要"三之,五而一",刘徽的注本才补充了原理。"粟率五十、粝米率三十"是制度性约定,算法是这个约定的程序化表达。读《九章》如果只看"术曰"而忽视背后的"率"(即比例参数),就会迷失在算法的丛林里看不到制度背景。
更进一步,粟米章46问的算法其实可以归结为一个统一公式:
$$所求量 = 已知量 \times \frac{所求率}{已知率}$$
这个公式在《九章》原文中没有被提炼出来(这反映了《九章》"问题驱动"而非"公式驱动"的特征),但它客观上构成了粟米章全部46问的算法骨架。读完整章之后回头看这个公式,就能深刻体会到"析理"的重要性:抽象出隐藏的算法骨架,比记住46个具体解法更有价值。
一个细节值得注意:刘徽在注本中给出的"析理以辞、解体用图"这八个字,实际上是他对自己研究方法的总结,而非《九章》原文中已有的方法论。刘徽的工作是把"沉默的算法"翻译成"可推理的论述",把《九章》从工具书提升为可教学的体系。从这个意义上说,没有刘徽的注本,就没有我们今天所理解的《九章》。读《九章》必须配合读刘徽,这是任何严肃读者的基本要求。
这就是"析理以辞、解体用图"的实践意义。它不仅是研读方法,也是理解《九章》文本性质的关键。《九章》不是百科全书式的题库,而是一组用具体问题包装的算法骨架。一旦你掌握了骨架,每一题都是骨架的一个实例;反过来,从每一题反推骨架,正是阅读《九章》最值得投入的练习。
本章小结
《九章算术》是一部成书于公元前一世纪、定型于汉代的算法汇编。它不是某位数学家的独立创造,而是先秦至汉代数百年来,田官、税吏、工程师、漕运管理者共同累积的算法结晶。246问按九章排列,并非松散的题库堆砌,而是从测量到分配、从算术到方程、从平面到立体的认知阶梯。三大支柱,即算术、方程、勾股,构成了这部文本的内在骨架:算术是基础,方程是代数化,勾股是几何载体。
与欧几里得《几何原本》对照,《九章》呈现的是一条"问题驱动"而非"公理演绎"的路径。这不是高下之分,而是不同的数学观。前者回答"什么能用",后者回答"什么为真"。理解这一层差异,我们就能更准确地把握《九章》的历史地位。它所建立的算法传统,深刻影响了中国此后一千五百年的数学走向,并在唐宋时期通过"方程"、"天元术"、"四元术"等新发展达到新的高峰。
最后,刘徽的"析理以辞、解体用图"六字为我们提供了研读指南。带着这把钥匙,下一章我们进入《九章》第一篇——方田。这里是全部算术的起点,也是"析理"的第一步:从测量开始,理解《九章》如何在具体田亩中蒸馏出面积公式。