文本之始
《九章算术》不是一部现代意义上的"数学著作",但也不只是汉代数学家的工作手册。要准确把握它的位置,需要先回答一个最基本的问题:它是一部怎样的书,又经过了怎样的层累,才呈现为今日所见的样子。
这个问题之所以重要,是因为后世对《九章》的理解,往往建立在未经检验的预设之上。有人把它视作中国先秦到汉代数学成就的"总结",有人把它看作刘徽一人的阐释对象,还有人认为它是经过戴震等人"还原"的古书。这些说法各有道理,但都失之笼统。《九章算术》实际上是一部典型的层累型文本。它像沉积岩一样,由不同历史时期的算法、知识、注释层层叠加而成。每一层的"年龄"不同,性质也不同;区分它们,是阅读《九章》的第一道门槛。
文本层位(textual stratigraphy)是处理《九章》时最关键的概念。它指的是同一文本中不同时期形成的文字材料,在版本与内容上呈现出的层次关系。
本章要做的工作,是把这块"沉积岩"切开来看一看。我们将从书名的演变与九章的命名逻辑入手,追溯编纂传统的层累,剖析刘徽注释所确立的"析理"方法,梳理从唐宋官刻到戴震辑录本的版本脉络,最后借助二十世纪末的考古发现,重新审视这部书在先秦到西汉之间的文本层位。
一、九章的命名逻辑与内在序列
打开《九章算术》,迎面而来的是九个名称:方田、粟米、衰分、少广、商功、均输、盈不足、方程、勾股。这九个名字并非随意编排,它们构成的顺序,透露了这部书最初的实用关切与算法逻辑。
方田讲的是田地面积的量算,粟米讨论的是粮食兑换的比例,衰分处理的是按比例分配的问题。这三章构成了"测量、换算、分配"的连续递进:先把土地量出来,再把粮食折算清楚,最后把份额分到人头上。少广一章转向图形变换,从已知田地反推边长,本质上是开方术的几何前身。商功讨论的是工程土方的计算,涉及长方体、棱台、圆锥等立体体积。均输处理的是按距离远近、运输条件分配赋税的问题,与汉代的均输政策直接相关。盈不足即今所谓"盈亏问题",通过两次假设来逼近真实值,是《九章》独有的算法范式。方程一章以"方程"(即线性方程组的矩阵形式)命名,处理多未知数多方程的求解。勾股一章专论直角三角形三边的关系,蕴含着后世勾股定理的雏形。
把这九章连起来看,可以发现两条内在的逻辑主线。第一条是"由地及人"。从田地的丈量(方田)到粮食的交换(粟米)到赋税的分配(均输),整部书始终围绕着一个农业帝国最核心的经济活动。第二条是"由静及动"。方田处理静态的几何量,粟米和衰分处理比例变换,少广开始反向求解,商功进入立体几何,方程处理代数系统,勾股则把几何与代数重新接合。这两条线索交织在一起,使得九章的排列远非简单堆砌,而是有章法可循。
需要特别指出的是,"九章"二字在最初并不是固定的书名。西汉时期的文献中,这部书常被称作"算术"或"九数"。刘徽在《九章算术注》的序言中讨论过书名的历史,认为"九数"之名可上溯到《周官·保氏》"六艺"中的"九数",但他也承认细节已难以确考。这种谨慎的态度本身就值得重视。它告诉我们,最早的《九章》并不具有后来被赋予的"经典"地位,它只是一部实用的算术汇编,与《周礼》"九数"的对应更多是后世的追溯,而非实存的历史纽带。
到了东汉以后,"九章算术"才逐渐成为通行书名,并在魏晋南北朝时期定型为今天所见的面貌。书名的这种层累,从"九数"到"算术"再到"九章算术",本身就是一个缩影,反映出这部书在不同历史阶段被赋予的不同文化定位。在先秦,它可能只是官方"九数"教育的一个部分;在汉代,它成为算术知识的总集;在魏晋以降,它又被尊为可与经史并立的经典。
二、从口耳相传到定本:编纂传统的层累
《九章算术》的编纂者,传统上归于西汉初年的张苍(约前 252—前 152 年)和耿寿昌。张苍是荀子的弟子,曾任秦代御史,西汉建立后封北平侯,以熟悉律历和算学著称。耿寿昌是西汉宣帝时期的大司农中丞,因创立"常平仓"制度而闻名,同时精通数学。这一说法最早见于《汉书·艺文志》:"《九章算术》,张苍删补。"短短五个字,已经包含了"删"与"补"两层动作:删去冗余,补入新知。
这段"删补"的描述,揭示了《九章》编纂过程的一个重要特征:它不是某位作者独立撰写的原创著作,而是在既有算法知识的基础上,经过整理、筛选、补充而成的"集大成"之作。钱宝琮在《中国数学史》中指出,秦汉之际的算法积累相当丰富,分散在各种实用的"算书"之中,张苍和耿寿昌的工作更接近于编辑整理,而非从无到有的创造。这一判断与近年来的考古发现高度吻合。
从口耳相传到定本,《九章》经历了一个漫长而复杂的层累过程。先秦时期,算法知识主要通过师徒传授和手抄文本流传,没有形成统一的"经典"。这种状况与《汉书·艺文志》对算术的描述相吻合:当时的算术知识是零散的,附着在实际工作之上。秦汉之际,随着国家统一和度量衡的标准化,算法知识也开始向系统性整理的方向发展。到了西汉前期,张苍和耿寿昌的"删补"工作,把这些分散的知识纳入了一个相对统一的框架,这就是我们今日所见《九章》的雏形。
接下来的问题是,这个雏形在西汉后期到东汉之间是否发生了重要变化。答案是肯定的。东汉时期的《九章》版本,比西汉前期要规整得多,问题数量也从最初的若干卷发展到二百四十六问的基本格局。但这一发展过程的具体细节,由于缺乏直接证据,长期以来只能依靠间接推断。
从文本结构来看,《九章》的体例在这一时期基本定型。每道题通常由"问、答、术"三部分组成。先提出问题,给出已知条件;再写出答案;最后列出一般性的算法。这种"问、答、术"的体例在数学史上相当独特。它既不像欧几里得《几何原本》那样以演绎证明为主线,也不像阿基米德著作那样以几何直觉为出发点,而是把算法作为知识呈现的核心单位。"术"被提取出来作为独立项,意味着《九章》已经在抽象化的道路上迈出了关键一步。但需要看到的是,这种抽象是不完整的。"术"虽然独立出来,却没有附加证明。在《九章》的原文中,"为什么这样做有效"这个问题并没有被系统提出。这种张力,留给了后世的注释者。
三、刘徽的"析理以辞":注释方法与文本塑形
现存《九章算术》的最早、最权威的注本,是魏末晋初刘徽(约 3 世纪中后期)所作的《九章算术注》。这部注本不仅是一部数学著作,更是一部方法论著作。它在"术"之上再加一层"注",从而把《九章》从一个算法手册提升为一个可以"析理"的文本。
刘徽在《九章算术注》的序言中提出了一个核心命题:析理以辞,解体用图。这八个字概括了他处理《九章》的方法论原则:分析原理依靠文字阐释,分解形体借助图形演示。在刘徽看来,《九章》的"术"虽然是正确的,但其正确性并没有在文本中得到论证;要真正理解这些算法为什么成立,就必须依靠注释者的理性分析。
"析理"二字,是理解刘徽工作的关键。它不是简单的解释,而是对算法背后数学原理的系统阐释。以方田章的圆田术为例,术文说已知圆形面积求直径,给出了具体的算法,但为什么这个算法成立?术文本身没有解释。刘徽的注释则以一个"内接正多边形"的图形来论证:圆内接正六边形的面积是圆面积的一个下界,正十二边形更接近圆面积,通过无限细分可以得到精确值。这就是著名的"割圆术",它不仅是一种计算方法,更是一种几何论证。刘徽在论证中使用了"割之弥细,所失弥少,割之又割以至于不可割,则与圆合体而无所失矣"的表述,这一表述实际上蕴含着极限思想,与古希腊穷竭法的精神遥相呼应。
刘徽对《九章》的注释工作具有重要的文本塑形意义。在他之前,《九章》是一部相对松散的算法汇编,许多"术"虽然有效,但缺乏对其内在原理的说明。刘徽通过逐一注释二百四十六问,把这部书从一个"工作手册"改造成了一个"可理解的文本"。后世所有对《九章》的解读,无论是唐代的李淳风,还是清代的戴震,都无法绕过刘徽的注释,因为刘徽已经为《九章》的理解设定了一个基本的框架。这种框架不止是技术层面的,更是哲学层面的:它告诉读者,算法本身是可以追问"为什么"的,而追问的过程是有迹可循的。
这种框架的影响不止于《九章》一部书。刘徽提出的"析理以辞"原则,后来成为中国数学注释传统的一个基本范式。在宋元时期的数学著作中,我们可以看到类似的注释方法:在算法之后附加"释义"或"义理",分析算法为什么有效。秦九韶的《数书九章》、李冶的《测圆海镜》、朱世杰的《四元玉鉴》等著作,都在不同程度上继承了这种方法论传统。
从更深层看,刘徽的注释实际上触及了《九章》体例的一个内在张力。《九章》的"术"是有效但未经论证的算法;刘徽的"注"则是对这些算法的论证性补充。通过注释,刘徽把"术"与"注"绑定在一起,使得《九章》不再是一部纯粹的算法汇编,而是一部兼具算法与理论的复合文本。这种文本形态,在数学史上是相当独特的。它既不同于纯演绎的《几何原本》,也不同于纯算法的印度数学著作,而是介于两者之间的一种混合体。
四、版本谱系:从唐宋官刻到戴震辑录
《九章算术》从汉代定本到清代定本,经历了一条复杂的版本流传链。理解这条链条,对于把握这部书在不同历史时期的"样貌"至关重要。
目前所知最早的《九章》刻本,是北宋元丰七年(1084 年)秘书省刊刻的《九章算术》。这个本子现在已无全本传世,只有部分残卷保存在日本和中国的图书馆中。从南宋开始,《九章算术》的刊刻进入了一个相对活跃的时期。鲍澣之在南宋时期(13 世纪初)先后刊刻过两个本子,后来成为明清时期各种传抄本的祖本之一。
唐代是《九章》版本史上的一个关键时期。唐高宗显庆元年(656 年),国子监算学馆奉敕刊刻了李淳风等人注释的《九章算术》。李淳风是唐代著名天文学家、数学家,他与太史令瞿昙悉达等人共同整理的《九章》注本,对后世产生了深远影响。李淳风的工作主要是对刘徽注释的补充和修正。在某些问题上,他接受了刘徽的判断;在另一些问题上,他提出了不同的看法。以勾股章为例,李淳风对刘徽的某些论证做出了几何上的简化处理,反映出唐代数学家对论证简洁性的追求。这种"刘注、李注"并存的格局,成为后世《九章》注本的基本结构。
李淳风整理本的一个特点是附图。中国古代数学著作常常配有"图",用以辅助理解。李淳风整理的《九章算术》特别注重图形的作用,这在方田、少广、商功等几何性较强的章节中表现得尤为明显。然而,由于印刷技术的限制和版本流传中的散佚,唐代《九章》中的许多图形已经失传,后世注本不得不依靠文字描述来重建。这是一个我们必须意识到的局限:今天我们读到的《九章》,其图形系统在很大程度上是后世(尤其是戴震)补充的产物,未必能完全还原唐代原貌。
进入明清时期,《九章》的版本流传出现了一个重大变化。宋代以来的刻本逐渐散佚,各种传抄本在内容上出现了不同程度的差异。清代乾隆年间开四库全书馆,从《永乐大典》等大型类书中辑录出了《九章算术》的"辑录本"。这个辑录工作主要由戴震(1724—1777 年)完成,收入《四库全书》子部天文算学类。
戴震的辑录工作并非简单的抄录,而是一次批判性的文本重建。他在《九章算术订讹补图》一书中,对各种传本进行了详细的比对,校正了多处讹误,并补充了部分失传的图形。这个本子在清代和民国时期成为最通行的《九章》读本,现代学者如钱宝琮的校点本,也都以戴震辑录本为主要依据。
```mermaid flowchart LR A[先秦算法传统] --> B[秦汉算书雏形] B --> C[西汉: 张苍耿寿昌删补] C --> D[东汉: 246问定本] D --> E[魏: 刘徽注 263年] E --> F[唐: 李淳风整理 656年] F --> G[北宋: 秘书省刻本 1084年] G --> H[南宋: 鲍澣之刻本] H --> I[明清传抄本] I --> J[清: 戴震辑录 1773年] J --> K[民国: 钱宝琮校点] K --> L[当代: 郭书春汇校] ```
戴震的工作虽然卓著,但也存在一个内在的局限。他依据的底本主要是《永乐大典》所辑的残本,而这些残本本身已经经过了明代的转抄和改动。换句话说,戴震的"定本"实际上是经过多重过滤的产物,而非宋代原貌的直接传递。这一局限性,直到二十世纪末才得到根本性的改变。
五、出土文献的冲击:《算数书》与里耶秦简
二十世纪八十年代以来的一系列考古发现,为《九章算术》的文本层位研究带来了根本性的冲击。其中最重要的两项发现,分别是 1983—1984 年湖北江陵张家山西汉初年墓葬中出土的《算数书》,以及 2002 年湖南龙山里耶古城出土的秦代简牍。
《算数书》是目前所知中国最早的数学文献实物之一。它出土于一座西汉早期墓葬(约公元前 202 年至前 186 年之间),共包含约二百余枚竹简,内容涉及田地面积、粮食换算、比例分配、工程土方等多个方面。从体例上看,《算数书》已经采用了"问、答、术"的基本结构,与《九章算术》高度相似。从内容上看,《算数书》中的许多算法可以在《九章》中找到对应的章节。
这一发现对《九章》文本史的冲击是颠覆性的。在《算数书》出土之前,主流学界普遍认为《九章算术》是中国第一部系统化的数学著作,其体例和内容都是独创性的。《算数书》的出现打破了这一预设。它表明,在张苍、耿寿昌"删补"之前,已经存在一部系统化的数学著作,而《九章》的"删补"工作,很可能是在这部已有著作的基础上进行的。
更具体地说,《算数书》与《九章》之间的关系,可以从几个层面来考察。第一是章节对应。《算数书》中的许多题目可以在《九章》中找到对应篇章,涉及田地面积的题目对应方田章,涉及粮食兑换的题目对应粟米章,涉及比例分配的题目对应衰分章。第二是表述差异。在某些具体问题上,《算数书》的表述比《九章》更为原始、朴素,显示出更早的文本形态。例如,《算数书》中关于环田的算法比较粗略,而《九章》中的相应算法已经包含"中周"和"周中"等更精细的概念。第三是算法演变。通过对比《算数书》和《九章》在同一类问题上的不同处理方式,可以追溯出某些算法的发展轨迹。
里耶秦简的发现则把《九章》文本史的考察进一步向前推进。里耶古城是秦代迁陵县的一个行政机构所在地,出土的简牍以行政文书为主,但其中也包含了一些数学计算的内容。这些计算内容大多是具体的工程计算和物资分配记录,反映了秦代地方政府的实际工作场景。
里耶秦简的数学内容虽然没有《算数书》那么系统,但它们的存在表明,至少在秦代,数学知识已经在行政体系中得到了广泛应用。这一发现支持了一个假说:《九章》的雏形,可能在秦代就已经存在于某些官方的"算书"之中,张苍、耿寿昌的"删补"工作,是对这些已有材料的整理和提升。换言之,所谓的"张苍删补",可能不是从无到有地创造一部经典,而是把分散在各地、各官署的算法知识汇总起来,纳入一个统一的框架。
两项出土文献对《九章》研究的另一个重要影响,在于它们为《九章》的"层位分析"提供了实证基础。在此之前,《九章》的文本层位主要依靠文献内部的逻辑推断;现在,我们可以通过与同时期或更早时期的出土文献进行比对,来验证这些推断。例如,《九章》中的某些表述如果与《算数书》高度一致,就可以推测这部分内容较早;某些表述如果与《算数书》差异较大,就可能经过了后世的修改。
不过需要注意的是,关于《算数书》与《九章》的具体关系,学界目前仍有分歧。一种观点认为,《九章》是在《算数书》的基础上增补、扩展而来;另一种观点认为,两者可能源自一个共同的更早的祖本,各自在不同方向上演化。这些分歧的解决,有赖于对更多出土材料的发现与研究。
六、体例的独特性:题—答—术—注
在数学史的全球视野中,《九章算术》最显著的特征之一是它独特的文本体例。这种体例既不同于希腊传统的演绎证明,也不同于印度传统的算法汇编,而是融合了两者的某些元素,形成了一种独具特色的题—答—术—注结构。
"题"是问题的提出,它给出具体的已知条件和待求量,通常以"今有……问……几何"或"今有……问得几何"的形式开头。"答"是问题的具体答案,给出数值结果。"术"是问题背后的一般性算法,以"术曰"或"其术曰"引出,具有可重复使用的普遍性。"注"则是后人对"术"的解释和论证,主要由刘徽和李淳风等人完成。
这种体例的特殊之处,在于它把具体问题与一般算法有机地结合起来。"题"和"答"是具体情境下的实例,"术"是从这些实例中抽象出来的普遍规则,"注"则是对规则为何成立的分析。通过这种结构,读者可以先看到具体的例子,再理解抽象的算法,最后通过注释把握算法背后的原理。这种从具体到抽象再到理论的认知路径,与现代数学教学中的"例子、方法、原理"模式有惊人的相似之处。
然而,这种体例也有其内在的局限。最突出的问题是,许多"术"虽然正确,但其正确性并没有在文本中得到严格的论证。例如,"方程"章中的"直除法"可以有效求解线性方程组,但为什么有效?"术"本身没有给出论证。在刘徽之前,这种局限性并没有被意识到;正是刘徽的注释工作,才把这个问题凸显出来,并尝试通过"析理"来弥补这一缺陷。
体例的另一个特征是各章内部的"小节"结构。除了"方程"和"勾股"两章之外,其余七章都包含若干"小节",每节处理一类相关问题。这种"章、节、题"的三级结构,使得整部书既有宏观的体系,又有微观的细节。例如,方田章分为"圭田""邪田""箕田""圆田""宛田""弧田""环田"等小节,分别处理不同形状的田地面积计算。这种细分表明,《九章》在编辑过程中,已经有了较为成熟的问题分类意识。
从更宏观的角度看,《九章》的体例还包含一种"问题驱动"的知识呈现逻辑。书中没有抽象的定义、公理、定理,只有具体的问题和解决这些问题的算法。这种呈现方式与现代数学的演绎结构形成鲜明对比。它更接近一种"问题求解"传统,把知识视为解决实际问题的工具,而非纯粹的逻辑体系。这种知识论上的差异,深刻地影响了中国数学后来的发展轨迹。宋元数学的繁荣,如秦九韶的大衍总数术、朱世杰的四元术,都可以追溯到《九章》所确立的"问题驱动"传统;而这种传统的局限,即对算法原理的忽略,也在元代以后逐渐显现出来。
本章小结
回到本章开头提出的问题:《九章算术》是一部怎样的书,它如何从口耳相传走向定本?
经过这一章的梳理,我们可以给出几个明确的判断。《九章算术》不是一部原创性的数学著作,而是一部层累型的算法汇编。它的内容来自先秦到西汉之间几百年的算法积累,经过张苍、耿寿昌等人的整理而初步定型,在东汉时期形成二百四十六问的基本格局。刘徽的注释工作把这部书从"算法手册"提升为"可理解的文本",李淳风的整理使其以更完善的形态流传,戴震的辑录则使其在清代重新获得权威地位。
这个看似简单的结论,实际上已经突破了传统叙事中的多个预设。《九章》不是张苍、耿寿昌从无到有的创作,而是对既有算法传统的整理和提升。《九章》的文本层位复杂,不同章节、不同时期的内容混杂在一起,不同章节的"年龄"并不一致。刘徽的工作不仅是注释,更是对《九章》的一次根本性重塑,他所确立的"析理"方法论,使得后世所有对《九章》的解读都必须以他的注释为出发点。
这些判断的意义不仅在于历史叙述本身,更在于它们对后文展开的导向。既然《九章》是一部层累型文本,那么阅读它的正确方式,就不是简单地接受其表面的叙述,而是要分辨哪些内容来自早期,哪些内容经过了后世的改造。既然刘徽的