HIST 380: History of Chinese Mathematics

Estimated study time: 1 day 8 hr

Table of contents

Why make it up
UWaterloo has no dedicated history of mathematics course. Existing offerings cover either general history of science or abstract pure mathematics, but none traces the 3000-year arc of Chinese mathematical achievement specifically. HIST 380 fills that gap: it treats Chinese mathematics not as an exotic curiosity but as a parallel civilizational tradition that independently developed positional notation, Gaussian elimination, Pascal’s triangle, the Chinese Remainder Theorem, Cavalieri’s principle, and high-degree polynomial root-finding — often centuries before their European counterparts. The course is designed for students in mathematics, history of science, or East Asian studies who want to understand how a non-axiomatic, algorithm-centred mathematical culture reached world-class results through a completely different epistemic path.

Sources and References

Primary textbook — 吴文俊主编《中国数学史大系》(八卷正卷 + 二卷副卷,北京师范大学出版社)

Supplementary texts — Joseph Needham, Science and Civilisation in China, Vol. 3 (Cambridge University Press, 1959); Jean-Claude Martzloff, A History of Chinese Mathematics (Springer, 1997); 钱宝琮《中国数学史》(科学出版社,1964);Karine Chemla & Guo Shuchun, Les Neuf Chapitres (Dunod, 2004);邹大海《中国数学的兴起与先秦数学》

Online resources — Needham Research Institute online catalog;中华书局《算经十书》校点本数字版


Part I: 远古到秦汉的数学起源

Chapter 1: 数的萌芽

旧石器时代:骨头上的刻痕

想象一个问题:什么时候,一个人类意识到"三"不只是"三头羊"或"三根手指",而是一个可以从具体事物中剥离出来的抽象概念?

这个问题没有确切的答案。但我们有骨头。

1963 年,考古学家在山西朔县峙峪村挖出了距今约两万八千年的兽骨。骨片上有刻痕——五以内的斜纹反复出现,排列有规律,不像装饰,更像记录。其中一块骨片上刻有一头"普氏小羚羊"的图像,腹下加刻了四道浅痕。四道痕,四条腿。那个刻骨的人在用符号断言一件事:这种动物,它的腿,有四条。

这不是绘画。这是陈述。这是最早的数学记录之一。

更著名的发现在北京房山周口店的"山顶洞"遗址,距今约一万年。那里出土了四根精心磨制的骨管,每根上面有横向磨制的圆点:

骨管符号数量排列方式
A 管3(一侧1,另侧2)两排,暗示 1+2=3
B 管5(一侧3,另侧2)两排,暗示 3+2=5
C 管4(一侧2,另侧2)两排,暗示 2+2=4
D 管1个长条形可能代表"十"

注意 B 管:五个点被分成"三加二"两排。这不是随意的。研究者指出,这种"位置分组"本身就是一种加法思想的萌芽——用排列来表达"三加二等于五"。这套骨管合起来能表示 3、4、5、10,以及它们的组合 13。十进制的种子,在一万年前就埋在了这几根磨得光滑的骨管里。

新石器时代晚期(约公元前三千年),青海乐都柳湾出土了大批带刻口的小骨片。半山类型的刻口最多到八,马厂类型最多到五,每一个刻口代表"一",叠加得到更大的数。所有骨片上的数字都不超过十——这绝非偶然。十进制框架已经在先民的头脑中扎了根,而且它留了下来,三千年后再也没有被取代。

值得一提的是:有些学者认为这批柳湾骨片可能是原始货币,刻口表示"面值"。墓主人保存的骨片,相当于一笔财富。数学从一开始就不是书斋里的智力游戏——它嵌入在交换、债务、所有权这些人类社会最基本的活动里。

结绳记事:从实物到符号

与刻骨并行,还有一种更古老的记数方法:结绳。《易·系辞》说"上古结绳而治",东汉郑玄的注更具体:大事打大结,小事打小结,结的数量对应物品或事件的数量。

这套方法延续了极长的时间。新疆巴里坤草原的牧民直到 20 世纪仍用羊毛绳结记录羊群数量;北京民族文化宫收藏着一件 86 厘米长的佤族结绳实物;云南的哈尼族、独龙族、怒族都有刻木记事的传统;中央民族大学收藏的台湾高山族结绳,与万里之外安第斯文明的"奇普"(quipu)在功能上惊人地相似,却是完全独立的发明。

结绳的局限在于材料。麻、毛、草不耐久,上万年前的实物我们已经无缘见到。正因如此,早期数目观念的实物证据几乎全部来自刻划。但这些"活化石"民族志材料让我们明白:人类创造数学不是一次革命,而是一场漫长的演化。

商周甲骨文:成熟的十进位制数字

三千年前,一位商朝的占卜师在龟甲上刻下了这样一行字:“擒人三千,获兽十。“他不知道,这枚甲骨会在安阳的地下沉睡三千年,然后在 1899 年被一个偶然路过的金石学家认出。更不知道的是,这几个数字会成为人类文明史上最古老的系统数学记录之一。

到了商代(约公元前 1600—前 1046 年),中国的数字系统已经相当成熟。河南安阳殷墟出土甲骨文超过十万片,《甲骨文合集》收录拓片 39,476 片。其中数字类卜辞非常丰富,提供了迄今最早的系统数学史料。

甲骨文数字有其内在逻辑:

个位数(1–9)的象形来源:

  • 一至四:简单横划,直接来自刻划传统
  • 五(×):由 5 道划合并为交叉符号,避免混淆
  • 六(∧或人):由六道划简化为人形符号
  • 七(+):加号形,可能取"七"字的早期象形
  • 八(>< 或 ≫):分叉形,区别于前几个数
  • 九(弯钩形):有别于前面各数的专用符号

十进位结构(10–9000)的规律:

  • 10–40:用竖划,10 像一根竖棍,20 像两根,30、40 类推
  • 50–90:在个位数上加"十”(即加”|“符号)
  • 100(百)加个位数得 100–900
  • 1000(千)加个位数得 1000–9000
  • 10000(万)已有记录;目前找到实例最大到 30000

卜辞中的数字记录已经令人印象深刻——“豕三十又二”(猪的数量,32)、“人十又六人”、“昆一百二十七”。“三十又二"这种结构(整数名词加"又"加零数)说明商代人处理两位数已经有了系统的表达规范。

甲骨文与金文数字演化对照:

数值甲骨文形式金文形式现代汉字演化说明
1一横一横最简单,未变
5× 形× 逐渐方化
6∧ 形人形简化
10竖棍加横防混淆
100特殊符号逐渐固定
1000全形逐渐固定
10000Y 形从昆虫象形演化

周代金文中的数量表达更加丰富。毛公鼎(西周晚期)铭文 497 字,是迄今出土铭文最长的青铜器,记录了土地赏赐与贡赋数量;散氏盘铭文记录了土地划界协议,含大量面积数字。到西周时,数字已经精确到个位,分数表达(如"三分天下有其二”)也开始出现。

从甲骨文到现代汉字,这条线索从不曾断裂。十进制在这片土地上扎根,此后三千年统治着一切计算活动。

《周易》大衍之数:世界最早的随机算法

在谈到《周易》时,大多数人想到的是神秘的阴阳爻辞、算命先生的蓍草,或者书架上那本翻烂了也读不懂的古籍。但数学史家看到的是另一件事:一套精心设计的随机过程,其数学结构严密到足以让它成为人类历史上最早的组合概率程序之一。

故事从一个奇怪的数字开始:大衍之数五十

《系辞传》说:“大衍之数五十,其用四十有九。“占筮者取 50 根蓍草,先收起一根不用,剩 49 根参与运算。为什么是 49?为什么不是整数 50?这个问题困扰了易学家两千年,答案最终来自数学而非哲学。

揲蓍法的完整流程

以 49 根蓍草为起点,完成"三变”。

第一变: 将 49 根蓍草随机分成两堆(左手一堆 \(R_1\),右手一堆 \(R_2\)),使 \(R_1 + R_2 = 49\)。从左堆取出一根,夹在左手小指与无名指之间(“挂一”),左堆变为 \(R_1 - 1\)。将左堆剩余蓍草每 4 根一数(“揲之以四”),余数 \(r_1\) 夹在手指间,规定 \(1 \le r_1 \le 4\)(余数为 4 而非 0)。将右堆同样每 4 根一数,余数 \(r_2\),\(1 \le r_2 \le 4\)。从两堆取走的总数为 \(1 + r_1 + r_2\),这必然等于 5 或 9,其余蓍草参与下一变。

为什么是"不五则九”?由于 \(49 \equiv 1 \pmod{4}\),根据分揲定理(由基本同余引理推导),\(r_1 + r_2\) 必等于 4 或 8,故 \(1 + r_1 + r_2\) 必为 5 或 9——这是数学上的必然,不是巧合。

第二变:用同样的程序,取走 4 或 8 根,余下 40、36 或 32 根。

第三变:同前,余下 36、32、28 或 24 根,均为 4 的倍数。

三变结束后,将余下蓍草数除以 4,得到 6、7、8 或 9 之一:

\[\frac{36}{4} = 9,\quad \frac{32}{4} = 8,\quad \frac{28}{4} = 7,\quad \frac{24}{4} = 6\]

这四个数对应爻的类型:9(老阳)、7(少阳)、8(少阴)、6(老阴)。重复此程序六次,得六爻,构成一卦。

概率分析:这不是公平的骰子

余下蓍草数除以 4爻型出现概率
36 根9老阳(变爻)\(\dfrac{1}{16}\)
32 根8少阴(静爻)\(\dfrac{7}{16}\)
28 根7少阳(静爻)\(\dfrac{5}{16}\)
24 根6老阴(变爻)\(\dfrac{3}{16}\)

一爻为的概率:\(P(\text{阳}) = \frac{5}{16} + \frac{1}{16} = \frac{3}{8}\);一爻为的概率:\(P(\text{阴}) = \frac{7}{16} + \frac{3}{16} = \frac{5}{8}\)。阴爻出现概率高于阳爻,与《周易》哲学中"阴性本重"的偏向暗合。“变爻”(老阳、老阴)合计出现概率只有 \(\frac{1}{4}\),正好解释了为什么用变爻预示变化是合理的:它们是低概率事件,出现即值得关注。

数学意义:程序的自洽性

为什么用 49 根而不是 50 根?若用 \(R = 50\)(不挂一),则 \(50 \equiv 2 \pmod{4}\),三变后的余数可能不是 4 的整倍数,整个程序崩溃。用 49 且挂一是让程序自洽的唯一方案:\(49 \equiv 1 \pmod{4}\),严格保证了"初一不五则九”。

《系辞传》的揲蓍规则约定型于西周至春秋之间(公元前 10—前 8 世纪),比帕斯卡和费马在 1654 年通信奠定概率论基础早了约两千四百年。揲蓍法的骨架是:一个有确定输出概率分布的可重复程序,四种输出权重各异——这正是组合概率的核心内容。


河图洛书与三阶幻方:数的神秘化传统

商周时期还有另一条数学支流,走的是完全不同的路——神秘主义。传说伏羲得"河图",大禹得"洛书",这两张神圣图案被视为宇宙秘密的载体。宋代学者重新诠释后,“洛书"被定型为一个 \(3 \times 3\) 的幻方

\[ \begin{pmatrix} 4 & 9 & 2 \\ 3 & 5 & 7 \\ 8 & 1 & 6 \end{pmatrix} \]

验算:任意一行、一列、任意对角线的和都等于 15:

  • 横向:\(4+9+2=15\),\(3+5+7=15\),\(8+1+6=15\)
  • 纵向:\(4+3+8=15\),\(9+5+1=15\),\(2+7+6=15\)
  • 对角:\(4+5+6=15\),\(2+5+8=15\)

为什么幻和是 15?因为 1 到 9 的和是 45,平均分配到 3 行就是 \(45/3=15\)。这是必然的。

更有趣的问题是:三阶幻方本质上只有一种(不考虑旋转和反射)。原因:中心格必须是 5——过中心的四条线都要和为 15,中心数参与了两条对角线和两条中行中列,约束最强,鸽巢原理可以证明中心只能是 5。中心固定后,四个角和四个边就被严格确定了,只剩方向的自由。

有意思的是,部分学者指出甲骨文中已存在前 9 个自然数分三段排列的甲骨,如果将这种排列旋转 45°、再将一与九、三与七对调,就得到了三阶幻方——这被视为"纵横图起源于甲骨文"的证据。这个论点仍有争议,但它说明幻方思想的种子很可能在商代就已埋下。

河图洛书说明了一件事:中国数学史上始终存在"实用算术"和"数的神秘化"两条线索,前者产生了《九章算术》,后者孕育了象数易学的庞大传统。宋代道学家拿洛书注解《周易》,将数字神秘主义推向极致;但如果剥去神秘外壳,幻方本身是货真价实的组合数学问题,宋元数学家在此基础上研究了更高阶的幻方,发展出精巧的构造方法。

太乙九宫占盘:世界最古老的幻方实物

“洛书"是真实的历史文物,还是后人的神话建构?

这个问题在中国数学史界争论了百余年。一方认为洛书不过是宋儒的发明:宋代以前从未有人给出"洛书"的图形,陈抟、邵雍等北宋道学家才将九宫方阵与"洛书"名字挂钩,其历史不过千年。另一方则指出,九宫数在汉代文献中反复出现,洛书所描述的数学结构必定有更早的根源。

1977 年,这场争论有了一锤定音的证据。

一件来自地下的证物

1977 年,考古工作者在安徽阜阳双古堆发掘了一座西汉墓葬——汝阴侯夏侯灶之墓,卒于汉文帝十五年,即公元前 165 年。墓中有一件占卜用具,被命名为太乙九宫占盘。这件占盘由上下两部分构成:下方是方形底盘,上方是可旋转的圆形小盘。圆形小盘上,过圆心画有四条等分线,每条分割线两端刻有文字:

  • “一君"对"九百姓”;“二"对"八”;“三相"对"七将”;“四"对"六”

中央未标数字,但位置对应"五”。将这些数字还原到八方方位上——北方一、东北八、东方三、东南四、南方九、西南二、西方七、西北六,中央五——正是:

\[\begin{array}{|c|c|c|}\hline 4 & 9 & 2 \\\hline 3 & 5 & 7 \\\hline 8 & 1 & 6 \\\hline\end{array}\]

一个完整的三阶幻方,写在一件公元前 173 年制作的实物上。

定年的严密性

占盘背面刻有"七年辛酉日中冬至”,经天文历算推算,汉文帝七年(公元前 173 年)的冬至日正好是辛酉日——这将占盘制作年代精确锁定在前 173 年前后,与夏侯灶卒年完全吻合。

数学结构的必然性:为什么 5 必须居中

三阶幻方要求将 1 到 9 填入 \(3 \times 3\) 方格,使每行、每列、每条对角线之和相等。这个公共和只能是 \(S = 45/3 = 15\)。中心格必须是 5:设中心为 \(c\),四条求和线上除中心以外的八格之数总和为 \(4(15-c)\);这八格是 1 到 9 中除去 \(c\) 的其余八数,总和为 \(45 - c\);于是 \(4(15 - c) = 45 - c \implies c = 5\)。5 必须居中,由代数推导决定。中心固定后,布局被约束到唯一一种本质不同的排法。

世界比较

文明最早幻方记录年代
中国太乙九宫占盘前 173 年(实物)
希腊赛翁著作(自然数顺序方阵,非真幻方)约公元 2 世纪
阿拉伯自中国传入约公元 8—10 世纪
欧洲经拜占庭传入约 13 世纪末

太乙九宫占盘比欧洲最早的幻方记录早约一千四百年,它静静地陪伴着一位两千年前的侯爷,在安徽的地下沉睡了两千一百四十年,直到 1977 年重见天日,终结了一场旷日持久的争论。


少数民族的多元计数传统

中原华夏传统之外,中国境内的少数民族保留了形态各异的计数方法。

羌族的实物计数法:四川北部的羌族老人(20 世纪中期尚有人使用)用玉米粒计数:右手摆一粒代表 1,左手各指代表不同进位单位。同样的玉米粒,放在不同位置代表不同的值——这已经初步体现了"位值"思想。据记录,羌族用这种方法算出了和为 5594 的加法。

佤族的刻木计数法:云南佤族用竹片两边的刻口记录数量。其中一件 40 厘米长的"婚姻纠纷木刻",双方各执一份,每过一天削去一个刻口,刻口削完双方即在约定地点和解——计数与契约法律结合在一起。

台湾高山族的结绳:中央民族大学收藏的结绳由两条双股绳组成,打结方式和数量传递信息,与安第斯文明的"奇普"在功能上相似但构造完全独立。

这些民族志材料的数学史意义在于:它们展示了从实物计数到符号计数的过渡阶段,而汉族的甲骨文和算筹体系正是这一过渡的产物。


甲骨文大数实读:一积十万怎么念

让我们来读一条真实的卜辞,感受商代人如何书写大数。

卜辞中有记录:"擒人三千,获兽十。"——俘虏了三千人,捕获了十头野兽。

“三千"的写法:先写"三”(三横)再写"千"(千的专用符号),意思是"三个千"。更大的数怎么组合?以 “三万二千四百五十六” 为例,甲骨文的表达逻辑是:每一段是"几个某单位",不同单位之间靠单位词本身区分,没有空位符号,相当于:

\[3 \times 10000 + 2 \times 1000 + 4 \times 100 + 5 \times 10 + 6\]

这个系统的美妙在于它的组合性:只要认识九个数字和"十、百、千、万"四个单位词,就能读出从 1 到 99,999 的任意数——总共 13 个基本元素,覆盖五个数量级。《甲骨文合集》中目前找到的最大数字是 “三万”——这不是数学能力的上限,而是贵族卜辞内容的现实上限。


十进制:为什么是十,而不是十二或六十?

现在来思考一个被大多数人认为理所当然因而从不去问的问题:为什么用十进制?

我们有十根手指,这是最常见的解释。但这个解释太肤浅了。从纯数学的角度看,十二进制其实更优越。原因:12 的因数有 1、2、3、4、6、12,共六个;而 10 的因数只有 1、2、5、10,共四个。因数越多,意味着等分越方便——三分之一在十二进制下是整数,在十进制下是 0.333…(无穷循环小数)。这就是为什么时钟用 12,一打用 12,一英尺用 12 英寸——人类在度量衡领域反复发现 12 更好用。

六十进制更是计算的梦想:60 有 12 个因数(1、2、3、4、5、6、10、12、15、20、30、60),分数运算极为便利。古巴比伦人用六十进制,这就是为什么今天我们的一小时是 60 分钟,一分钟是 60 秒,一个圆是 360 度——三千年后,巴比伦的进制选择仍然主宰着我们的日常生活。

那么,为什么十进制胜出了?

答案可能不是理性选择,而是身体的偶然性被历史固化。十根手指是现成的计数工具,早期人类在学会写字之前就会掰手指,这个习惯传递下来,比任何合理的数学论证都更强韧。更重要的是:一旦一个文明选定了某种进制,所有的书写系统、度量体系、口算歌诀、贸易习惯都会围绕它建立起来,形成一个巨大的惯性——切换成本随着文明的积累而指数级上升。

中国的十进制在商代就已经定型,此后三千年从未被任何外来影响替换。这不是因为中国人特别聪明,而是因为他们特别——当一个文明在最初阶段就确立了某种数学框架,这个框架就会通过教育、贸易、法律、历法渗透到每一个社会环节,变得不可撼动。


位值制:真正的革命——MMMCCCXXXIII 与 3333 的对决

但十进制本身还不够。更伟大的发明是位值制:同一个符号,写在不同位置代表不同的值。

来对比一下,假设我们要表示"三千三百三十三":

  • 古埃及象形数字:一千的符号三次 + 一百的符号三次 + 十的符号三次 + 一的符号三次,总共 12 个符号,不能互换,大数需要极多符号。
  • 罗马数字:MMMCCCXXXIII。数字本身没有位置意义,M 就是 1000,不管它在哪里。乘法几乎无法机械进行。
  • 中国算筹的十进位值制:在千位放三根棍子,在百位放三根棍子,在十位放三根棍子,在个位放三根棍子——同样的三根棍子,位置决定值。计算 \(3333 + 3333\) 只需逐位相加、依次进位,步骤清晰,没有任何记忆负担。

这就是位值制的核心:让符号本身退场,让位置来说话

想象一个没有位值制的世界。古希腊人用字母表示数,大数计算极为困难。阿基米德为了描述"整个宇宙中沙粒的数目",不得不专门写了一篇《数沙者》,发明了一套全新的数系——他需要发明新记号才能写出大数,这本身就证明了手中工具的局限。中国的算筹在这个时代可以毫不费力地处理任意位数的计算,因为每增加一位,只需要再挪一个位置。

位值制把计算变成了机械可重复的步骤序列,为后来的计算机体系结构提供了根本框架。二进制计算机只不过是把十进位值制的基数从 10 换成了 2,底层逻辑完全相同。


十进制的世界独特性

值得特别指出的是:中国十进位制发展的特点是,而且连续。从旧石器时代晚期的骨刻到商代甲骨文,再到后来的算筹,这是一条不断延伸的脉络,没有中断,没有被其他进制系统取代。

对比同期其他文明:

文明进制零的处理最早文献
古巴比伦六十进制空格(后有占位符)约公元前 2000 年
古埃及十进制但非位值约公元前 1650 年
玛雅二十进制有专用符号约公元前 200 年
古罗马十进制但非位值约公元前 500 年
中国(商代)十进位值制空格(后演变为○)约公元前 1600 年

法国数学家拉普拉斯曾感叹:“用十个符号表示所有的数,每个符号既有绝对值又有位置值,这个思想如此简单,其重要性却如此之大,我们很难欣赏它到底有多么难以想象。“中国是这个发明最早、应用最持久的文明之一。


Chapter 2: 先秦的几何与逻辑思想

《墨经》:中国最严格的数学定义

先秦诸子百家之中,有一家的故事特别奇怪。

墨家不是学者的结社。它更像一个工匠兄弟会,有严格的纪律,有选出来的"巨子"统领,成员四处奔走为弱国守城——历史记载他们曾徒步千里去阻止一场战争。这群人信奉"兼爱”、“非攻”,反对贵族铺张,反对一切不必要的战争。他们是古代中国最接近一个独立技术知识分子群体的存在。

然后,不知为何,这群工匠在某个时间点写下了一些东西,使他们成为中国历史上最接近欧几里得的人。

墨子(约前 480—前 390 年),名翟,鲁国人(一说宋人)。他创立的墨家学派留下了一部《墨经》(《经上》《经下》《经说上》《经说下》四篇,成于约公元前 400—240 年),其中有一批几何概念的定义,放在今天的数学教科书里也毫不过时。

问题是,这些人在试图做什么?

答案最可能是:他们在与惠施、公孙龙等人的哲学辩论中,试图给"点"“线"“圆"这些概念找到可以防御的逻辑基础。他们是被迫精确的。

“点"的定义:

《墨经》原文:“端,体之无序而最前者也。”

“端也者,无间也。”

现代解读:点(“端”)是物体中最靠前的、不可再分割的部分;“无间"意味着没有内部空隙,即不可再分。这与欧几里得《几何原本》中"点是没有部分的东西"高度一致——两者成书时代相近(《墨经》约前 400 年起,《几何原本》约前 300 年),应是各自独立发展的结果。

《墨经》还有更直接的表达:“非半弗新则不动。” 意思是:如果不是一半,就不能再切割而保持静止。这是在说,切割必须将对象分成两半,暗示了极限分割的概念,针对惠施的"一尺之棰"悖论而发。

“线"与"圆"的定义:

“线,次端者也。” ——线由点依次排列而成。这种"次序排列"的思路,与欧几里得"线是没有宽度的长度"方向不同,但都在强调线比点高一个维度。

“圜,一中同长也。” ——圆是到一个中心等距的图形。“一中"是圆心,“同长"是半径相等。欧几里得的定义啰嗦多了;《墨经》用六个汉字说完了同样的事。

“等长"的定义:

“同长,以正相尽也。” ——两线段等长,当且仅当把它们重叠时,两端恰好对齐,没有剩余。这是用比较操作定义等价关系,而不诉诸测量数值——类似于现代数学中"等价类"思想的最朴素版本,也是现代度量公理的前身。

“无穷"的定义:

“穷,或有前不容尺也。” ——在某些方向上,存在一个位置,使得其前方的空间不够放下一把尺子——即空间可以是有穷的。这个命题在今天看当然是错的(欧几里得空间是无穷的),但它说明墨家已经在认真思考"空间是否有边界”,并且给出了可被验证(或证伪)的判断标准——这正是数学思维的核心特征。

《墨经》的数学思想为什么湮没了?

秦始皇统一六国(前 221 年)后,推行焚书政策,墨家首当其冲。原因并不神秘:墨家的非攻与兼爱直接挑战秦的军国主义;“尚贤”、“尚同"威胁世袭贵族制度;学派组织严密、纪律严格,对中央集权是潜在威胁。

结果,秦统一后墨家迅速衰落。西汉以降,儒家独尊,墨家完全沉寂。《墨经》中的几何定义和逻辑思想没有被后世数学家继承和发展——这是中国数学史上最大的遗憾之一。如果墨家的逻辑-几何传统得以延续,中国数学很可能走上一条更接近希腊公理化体系的道路。 《墨经》定义与《几何原本》的逐条比较

让我们把《墨经》的核心几何定义与欧几里得《几何原本》(约公元前 300 年)并排放置:

概念《墨经》(约前 400—240 年)《几何原本》(约前 300 年)比较
“端也者,无间也”“点是没有部分的东西”几乎等价,独立发展
线“线,次端者也”(由点次序排列)“线是没有宽度的长度”墨家:构造性;欧氏:性质性
“圜,一中同长也”(六字)“圆是…到圆心等距…"(四十余词)墨家更简洁
等长“同长,以正相尽也”(操作定义)用公共概念3:“等于同一东西的东西彼此相等”墨家:操作性;欧氏:关系性
平行“平,同高也”平行公理(第五公设,极为复杂)墨家直觉,欧氏严格

从这张对比表可以看出:《墨经》在定义层面与《几何原本》旗鼓相当,甚至在简洁性上有时更胜一筹。关键差距在于:欧几里得从这些定义出发,系统地推导出 465 个命题;而《墨经》的定义停留在定义本身,没有形成推导链。

这个差距,揭示了两种数学文化的根本性分歧

  • 希腊传统:数学的目的是证明——从最少的假设出发,推导出尽可能多的必然真理。
  • 中国传统:数学的目的是算法——给定一类问题,找到可以普遍应用的计算程序。

两种目标都是合理的,都产生了世界级的成就。前者产生了《几何原本》和现代公理化数学;后者产生了《九章算术》、宋元高次方程求解、中国剩余定理。不同的问题意识,导致了不同的知识组织方式。历史没有证明哪一条路更高明,只是证明它们通往不同的目标。

《考工记》:工程师的数学手册

如果《墨经》代表的是哲学层面的数学思考,《考工记》(成书于春秋战国之交,约公元前 5—4 世纪,齐国背景)则完全是一本工程实践手册,里面充满了具体的几何计算和物理规律。

车轮制造的几何规范:

《考工记》对车轮的圆度有极严格的要求:

“圆者中规”——必须用圆规检验,每处半径相等。

车轮由三部分组成:毂(轮轴)、辐(辐条)、牙(轮缘)。《考工记》对三者规定了精确比例:

“轂长半柯,以十分其辐之长,而以其一为之枘。”

毂的长度是辐长的一半,毂孔直径是辐长的十分之一——这要求工匠实际掌握"圆心到圆周等距"的性质,并能用规、矩进行验证。

车轮上有 30 根辐条,均匀分布意味着每两根辐条之间的角度是 \(360°/30 = 12°\)。《考工记》要求检验:“以其围之阞捎其辐之直”——用绳子绕轮一圈再折叠来检验各辐等距。这是实用的等弧检验法,无需三角函数,只需绳子和比较。

弓的弹力与材料科学:

六种材料——干(木材)、角(牛角)、筋(牛筋)、胶、丝、漆——各司其职,共同决定弓的弹力和耐久性。更定量的记述是弓的弯曲程度:以弦量弓,根据"弓弦之张"的不同比值,弓被分为不同等级。这是最早的材料力学思想之一:用几何参数(弯曲弧度)来表征材料的弹性性能。

城墙建造中的比例:

“匠人营国……经涂九轨,环涂七轨,野涂五轨。”

都城道路的宽度按等级规定:主干道九辙宽,环城道七辙宽,郊外道路五辙宽。城墙厚度与高度的比例、挖土时斜面的坡度角——这些问题后来在《九章算术》“商功"章中被系统化,但《考工记》提供了最早的工程原型。

《考工记》还有一句被后世反复引用的话:

“圜者中规,方者中矩,立者中县,衡者中水。”

圆规、矩尺、悬线(铅垂)、水准——这四件工具对应了圆、方、竖直、水平四个基本几何概念。其数学意义在于:几何不是抽象的,而是通过具体操作可验证的。这种"操作主义"的几何观,与希腊公理主义传统形成了鲜明对比。

九九乘法表:战国时代的数学教育

1993 年,湖北荆州的江陵王家台秦墓出土了竹简,其中有"九九术”——完整的乘法表,从"九九八十一"一直到"一一如一”,共 36 组乘法事实,排列成从大到小的顺序。这个发现告诉我们几件重要的事。

第一,九九表至少在秦代已经完全定型,其历史可以上溯到战国。《管子·轻重》中有记载,说明至迟在战国时代,工匠和商人在学徒阶段就必须背诵九九表。

第二,九九表是从大到小背诵的,这与今天我们熟悉的顺序(从小到大)恰好相反。“九九"排在最前面,所以这张表叫"九九术"而不是"一一术”。为什么从大到小?可能因为大数乘法在实际计算(如税收、军粮计算)中使用频率更高,放在记忆序列的前端更容易调取。

第三,算筹与九九表的配合。九九表不是独立存在的——它是配合算筹布算使用的"心算库”。用算筹做乘法时,每一步骤都需要查阅一次单位乘法事实(如"三七"或"六八”),九九表让这个查阅变成条件反射,大幅提高了计算速度。

第四,数学教育的制度化。竹简上的九九表说明,至少在战国秦汉之际,数学教育已经形成了标准化的内容——可传授、可考核、可复制。《礼记》有"九年博约文,足以九数,谓今九章"之说,表明基础数算(含九九表)是贵族子弟教育的必修科目。

这批竹简的出土,将中国乘法表的成文历史推早到了公元前 3 世纪,与同期的古巴比伦乘法泥板(约公元前 2000 年)和古埃及乘法莎草纸相比,都说明了同一件事:凡是需要大量重复计算的文明,都会不约而同地把乘法事实固化成可快速查阅的表格或可朗诵的口诀。这是人类认知优化的普遍规律,不分东西。


惠施十事:数学悖论的先秦高峰

先秦诸子中,有一个人的话特别值得数学史家关注:惠施(约前 370—前 310 年),战国宋人,曾任魏相,与庄子相友善。他的著作《惠子》已亡佚,其思想主要保存在《庄子·天下》篇的"历物十事"中。

以下是惠施"历物十事"的完整列举,配以数学解读:

(1) 至大无外,谓之大一;至小无内,谓之小一。

数学意义:无穷大(上确界不存在)和无穷小(下确界为零但不可达)的最早表述。与现代极限理论中”\(\forall M > 0, \exists x > M\)"(无穷大)和”\(\forall \epsilon > 0, \exists x, 0 < x < \epsilon\)"(无穷小)的思想一脉相承。

(2) 无厚,不可积也,其大千里。

数学意义:没有厚度的平面(二维对象)在三维空间中可以无限延展,但不能积累成有体积的物体。这是关于维度的洞见。

(3) 天与地卑,山与泽平。

哲学意义:从足够大的尺度看,天地高差可以忽略(相对性)。数学上对应"大O记号"的思想——在宏观尺度上,局部细节消失。

(4) 日方中方睨,物方生方死。

哲学意义:时间的瞬间性——正午已经在偏斜,生命在诞生的同时就在走向死亡。数学上触碰微分学的核心概念:瞬时变化率。

(5) 大同而与小同异,此之谓小同异;万物毕同毕异,此之谓大同异。

数学意义:分类和等价关系——所有整数都是实数(大同),但奇数与偶数有别(小同中有异);从足够抽象的角度看,万物可以归为一类(最粗分类),也可以彼此不同(最细分类)。这是集合论和等价类思想的萌芽。

(6) 南方无穷而有穷。

数学意义:有界与无界的相对性——从某种意义上南方既有穷(物理空间有限)又无穷(数学抽象延伸无限)。

(7) 今日适越而昔来。

哲学意义:时间方向的相对性,触碰时序和因果的数学基础。

(8) 连环可解也。

数学意义:九连环可以被解开——这包含了拓扑学的朴素思想,以及有限步骤内完成的算法存在性思想。

(9) 我知天下之中央,燕之北、越之南是也。

数学意义:挑战"中心"的绝对性——如果空间是无穷的,则处处都可以是"中央”(等价地说:无穷空间没有中心)。这与现代宇宙学的"宇宙膨胀中心不存在"一脉相承。

(10) 泛爱万物,天地一体也。

综合命题:暗示一种数学上的"大一统”——将所有差异纳入一个统一框架。

庄子补充的极限命题:

庄子(前 369—前 286 年)给出了中国数学史上最著名的无穷级数命题:

“一尺之棰,日取其半,万世不竭。”

一根一尺长的木棒,每天截取一半,永远截不完。这是一个等比数列无穷和的问题:

\[ \frac{1}{2} + \frac{1}{4} + \frac{1}{8} + \frac{1}{16} + \cdots = \sum_{n=1}^{\infty} \frac{1}{2^n} = 1 \]

无穷多项相加等于有限值(1 尺)——这正是无穷级数收敛的概念核心,比欧洲系统研究此问题(17 世纪莱布尼茨、牛顿时代)早了将近两千年。当然,庄子的目的是哲学上的——他用这个命题说明"无穷分割"的概念本身——而不是计算级数和。但这个命题清楚地表达了:一个有限的量可以被无限次分割,每次分割产生的量越来越小,却永远不为零。

这些哲学悖论没有在中国数学中直接催生微积分,这是历史的遗憾。但它们说明,先秦中国的思想者已经站在无穷的门口,只是因为缺乏符号化工具和公理化传统,没有走进去。

公孙龙的"白马非马”:谓词逻辑的先驱

如果惠施是研究无穷和连续性的,公孙龙(约前 325—前 250 年,赵国人)则在研究"类"与"属性"的关系——这属于今天的谓词逻辑领域。

他最著名的命题是**“白马非马”**:白马不是马。

乍看像诡辩。但公孙龙的论证有其结构:

“马"是一个类(一切马);“白马"是这个类的一个子集(白色的马)。子集不等于全集——这是集合论的基本常识。公孙龙的洞见是:类与类的成员不是同一回事属性与对象不是同一回事

用现代集合论语言:设 \(M = \{\text{所有马}\}\),\(W = \{\text{所有白色的马}\} \subseteq M\),则 \(W \neq M\),尽管 \(\forall x \in W \Rightarrow x \in M\)。

公孙龙还有另一个命题:”坚白石三"(坚硬、白色、石头是三个独立的东西)——他认为当你触摸石头时,你感知到坚硬,但看不见;当你看石头时,你看到白色,但触摸不到。因此,坚、白、石三个属性是彼此独立的、不可同时感知的。这是在讨论属性的独立性——在数学上对应于不同维度上的分类标准彼此正交(无关联)。

这些讨论没有被后来的中国数学家直接继承,原因与墨家的命运相同:先秦名家被汉代以后的儒学传统视为"苦辩无益"的诡辩之学,逐渐边缘化。但从数学史的角度,先秦名家(惠施、公孙龙)与墨家共同构成了中国历史上对数学基础概念最接近严密定义的一次集体尝试。

规、矩、准、绳:中国几何实践的四大工具

先秦时期的几何知识,更多以工具与操作的形式传承,而非以定义与定理的形式。四件基本工具的名称——规、矩、准、绳——在先秦文献中反复出现,成为了某种几何认识论的象征:

(圆规):制造和检验圆形。“以规作圆"是一个自明的操作——圆的定义就是"规所画出的东西”。这是操作主义定义:物体的性质由生成它的程序来界定,而非由抽象描述来界定。

(直角尺):制造和检验直角与正方形。《周髀算经》开篇即有:“数之法出于圆方,圆出于方,方出于矩,矩出于九九八十一。"——数学知识从整数(九九表)出发,通过矩(直角运算),产生方(正方形),再产生圆(由方内切而来)。这是一条从算术到几何的认知路径。

(水准仪):检验水平。建筑与工程中,水平面是基础参照系,“以准测水平"使得不同地点的高差可以比较。

(墨绳):检验直线。在一块平坦的表面上拉紧绳子,沿绳标记直线。“木工取直,绳之所至”——直线的定义是绳子绷直时的形状。

孟子的名言**“规矩,方员之至也;圣人,人伦之至也”**,把圆规和矩尺并列为几何完美的象征,与道德完美并提。这说明到战国时代,“规"与"矩"已经从单纯的工具变成了文化概念,象征着某种秩序与标准。“不以规矩,不能成方圆"这句话,至今仍作为成语流传。

为什么《墨经》没有成为中国的《几何原本》

中国数学史上一个反复被问起的问题是:《墨经》已经接近公理化的几何定义,为什么没有发展成欧几里得式的证明体系?

原因是多方面的,值得逐一分析:

第一,《墨经》没有推导链。 欧几里得的原本中,每个命题都标注了它所依赖的前驱命题,形成了从公理到命题的完整推导树。《墨经》的定义是独立的,彼此之间没有明确的推导关系——它们是平行的表述,不是逻辑链条。从定义到证明的跃迁,需要对"证明"本身有明确的概念,而这一概念在《墨经》中缺席。

第二,历史中断。 即便《墨经》有发展成公理化系统的潜力,秦汉之际的政治变动打断了这个可能。墨家作为有组织的学派在秦统一后解散,汉代又以儒家为唯一的官方学说。没有延续的传授机制,任何数学学派都无法持续积累。

第三,工具目标与研究目标的差异。 中国传统数学的核心目标是"解题”——给定一类实际问题,找到普遍有效的算法。欧几里得的目标是"证明”——从最少的假设出发,推导出尽可能多的真命题。前者需要有用的算法,后者需要无懈可击的论证。两种目标导向了截然不同的知识组织方式:一种是问题-算法的并列体系(《九章算术》),另一种是公理-命题的推导体系(《几何原本》)。

第四,没有"教学"的制度激励。 希腊数学在柏拉图学园和亚里士多德学园中有专门培养数学家的制度;中国先秦没有独立的数学教育机构(最接近的是太史令与算官的世袭传承,但这是职业培训,不是学术研究)。没有专职教数学的人,就没有把数学整理成可教学的公理系统的动力。

这四个原因叠加,解释了为什么先秦中国站在公理化数学的门口,却最终走向了另一条路。这不是中国思想的缺陷,而是两条不同的知识道路——算法与公理——在历史岔路口的分叉选择。


Chapter 3: 算筹与位值制

算筹的形制与出土实物

在我们开始讲位值制之前,先想象你面对一个任务:用罗马数字做一道乘法。

比如:CCXLVII × XLVII(即 247 × 47)。

你会发现,这几乎是不可能的。不是因为人不够聪明,而是因为这套符号系统根本没有为计算而设计。罗马数字里,M 总是代表 1000,不管它在哪里;C 总是代表 100。这套系统很适合雕在石碑上,完全不适合拿来做算术。

现在换一套系统:十个符号(0–9),每个符号的值由它所在的位置决定。

这就是位值制。这是人类历史上最强大的数学发明之一,没有它就没有科学革命,没有工业革命,也没有今天的计算机。

中国人在商代就有了这个想法的基础。到秦汉时,他们找到了实现它的完美工具:算筹

“算筹"的形状很简单:一根根细长的竹条、骨条或象牙条,长约 13—14 厘米。就是这些小棍子,支撑了中国数学长达一千五百年的发展。

迄今发现的最早算筹实物,出土于陕西旬阳县:西汉时代的象牙算筹,共 30 根,保存完好。使用象牙制作,说明汉代对这种计算工具相当重视——这不是普通百姓随手能用的竹棍,而是精制品,很可能是官府用算具。

《汉书·律历志》描述算筹标准规格:

“其算法用竹,径一分,长六寸,二百七十一枚而成六觚,为一握。”

径一分(约 0.23 厘米),长六寸(约 14 厘米),271 根组成一握——这是汉代的标准规格。271 这个数字并非随意,它是能排成六棱柱形一握的最优包装数量之一。汉代官员出行必携算袋(装算筹用的布袋,挂在腰间),是身份的象征,也是工作的必需品。

算筹的实物:从竹简到象牙

算筹的物质世界,比课本描述的要丰富得多。

出土实物的谱系

迄今发现的算筹实物,跨越了约八百年的时间范围:

出土地点时代材质数量与尺寸
湖南长沙左家公山战国晚期竹质40 根,长 12 厘米
湖北江陵张家山 M247西汉初竹质若干根,与《算数书》同出
陕西千阳西汉骨质21 根,长 12.6—13.8 厘米
陕西旬阳西汉象牙30 根,保存完好
河北石家庄东汉早期骨质,方形截面约 30 根,长 7.8—8.9 厘米

千阳骨筹的尺寸最能体现汉代官方规格:最长 13.80 厘米,粗细约 0.30 厘米,与《汉书·律历志》“径一分,长六寸”(约 0.23 厘米 × 13.8 厘米)高度吻合。旬阳出土的象牙筹是现存最贵重的算筹实物,象牙在汉代意味着高档礼制规格,这 30 根很可能来自官府。算筹形制经历了一个演变:早期多为圆柱形截面,东汉前后逐渐出现方形截面——方筹不容易滚动,布算时不会乱。

纵横交替:最巧妙的位值编码

用算筹表示 1 到 9,有两套形式:

纵式(用于个位、百位……奇数位):1—5 用 1—5 根竖棍;6—9 在上方加一根横棍,再加 1—4 根竖棍。

横式(用于十位、千位……偶数位):即纵式旋转 90°,1—5 用 1—5 根横棍;6—9 在左侧加一竖棍,再加 1—4 根横棍。

《孙子算经》用一句话总结规则:“一纵十横,百立千僵,千十相望,万百相当。”——奇数位纵,偶数位横,相邻两位方向互异。

以 6728 为例:千位(偶数位,横式)6,百位(奇数位,纵式)7,十位(偶数位,横式)2,个位(奇数位,纵式)8,摆在算板上方向交替,视觉上清楚区分各位边界——这是一种免间隔的位值编码,即使没有零符号(空格代替)也不会混淆相邻数位。

算袋与算子筒:工具的社会化

陕西千阳出土的西汉骨筹,就是装在墓主腰胯部的一个丝囊里发现的——算袋实物。《旧唐书》明令规定:“一品以下文官,并带手巾、算袋、刀子、砺石”——算袋与刀子并列,是唐代文官的标准配置。宋代文献中还出现了”算子筒",南宋杭州街市上有算子筒出售,说明算筹存储容器已经商品化。《孙公谈圃》记载宋人写诗灵感来了,随手写在纸片上"内算袋中”——数学工具与文人日常生活融合在一起。


纵横交替表示法:位值制的精髓

算筹的关键在于位值制——相同的棍子摆在不同位置代表不同的值。中国算筹采用纵横交替的规则:

  • 个位:纵式(棍子竖放)
  • 十位:横式(棍子横放)
  • 百位:纵式
  • 千位:横式
  • ……奇数位纵,偶数位横

纵式:1 是一根竖棍,2 是两根,……5 是五根,6 是一横一竖,7 是一横二竖,8 是一横三竖,9 是一横四竖。横式类似,只是方向旋转 90°。

算筹数字:纵式(V)与横式(H)1—9 对照图

为什么要纵横交替?这有点像今天程序员说的"数据结构”——算筹的纵横交替规则,是在物理空间里实现了一个位值制数据结构。如果相邻两位都用同一方向,视觉上就会混淆——比如个位的"1”(一根竖棍)和十位的"1”(也是竖棍)摆在一起,看起来就是"11"而不是 11 的位值表示。纵横交替制度在视觉上将相邻位置清晰区分。

具体数字 6739 的摆法:

  • 千位(偶数位,横式):6 → 一竖加一横(“T"形)
  • 百位(奇数位,纵式):7 → 一横加二竖
  • 十位(偶数位,横式):3 → 三根横棍
  • 个位(奇数位,纵式):9 → 一横加四竖

算筹乘法的完整演示

筹算乘法的思路与我们熟悉的竖式乘法完全一致,只是用算筹在算板上逐步实现。以计算 231 × 47 为例:

初始布置(三层结构):

  • 上层(乘数):231
  • 中层(积,初始为空)
  • 下层(被乘数):47

第一步:用被乘数的最高位(百位,2)乘以 47:

\[ 2 \times 47 = 94 \]

在百十位的对应位置:9 在千位,4 在百位。中层:940_

第二步:用乘数的十位(3)乘以 47:

\[ 3 \times 47 = 141 \]

“141"对齐十位,1 在百位,4 在十位,1 在个位。累计:

  • 千位:9,百位:5,十位:4,个位:1

第三步:用乘数的个位(1)乘以 47:

\[ 1 \times 47 = 47 \]

4 在十位,7 在个位。最终:

\[ 231 \times 47 = 10857 \]

验证:\(231 \times 40 + 231 \times 7 = 9240 + 1617 = 10857\)。✓

筹算乘法的每一步,算板上的算筹构形都在变化,旧的乘数列用完后就被清除,积的构形逐步增长。这是一种动态的、可擦写的计算,中间过程不需要也不应该保留,只有最终结果留在算板上。

算筹除法的完整演示

除法更能体现筹算的精妙。以 4557 ÷ 21 为例(答案应为 217):

布置:

  • 上层(商,初始空):___
  • 中层(被除数):4557
  • 下层(除数):21

第一步: 看被除数最高两位 45 和除数 21:\(45 \div 21 = 2\)(余 3),商的百位是 2。

  • 被除数减去 \(2 \times 21 \times 100 = 4200\):中层变为 357

第二步: 看余数最高两位 35 和除数 21:\(35 \div 21 = 1\)(余 14),商的十位是 1。

  • 余数减去 \(1 \times 21 \times 10 = 210\):中层变为 147

第三步: 看余数 147 和除数 21:\(147 \div 21 = 7\)(整除),商的个位是 7。

  • 余数减去 \(7 \times 21 = 147\):中层清零

结果:217,验证:\(217 \times 21 = 4557\)。✓

这套除法算法,与现代长除法在结构上完全相同——事实上,现代长除法就是从筹算方法演变而来,经印度-阿拉伯数码体系翻译后传入欧洲的。中学生今天学习的除法,骨子里还是两千年前的筹算逻辑。

负数的表示与正负术

中国是世界上最早在计算中系统使用负数的文明。算筹记负数有两种方法:

  1. 赤筹表示负数,黑筹(或正常竹筹)表示正数(颜色区分)
  2. 将算筹斜置表示负数

《九章算术》“方程"章的”正负术“原文:

“同名相除,异名相益,正无入负之,负无入正之。”

逐字翻译成现代规则:

  • 同名相除:同号两数相减,取绝对值差,符号保持绝对值大者的符号
  • 异名相益:异号两数相加,取绝对值和,符号保持绝对值大者的符号
  • 正无入负之:\(0 - (-a) = a\)
  • 负无入正之:\(0 - a = -a\)

这套规则完整、自洽,覆盖了加减法的所有情形。成文于约公元前 200 年,比欧洲正式承认负数(16 世纪卡尔达诺,1545 年《大术》)早了整整一千七百年。印度数学家婆罗摩笈多(Brahmagupta)在 628 年才给出负数的系统规则,也比中国晚了将近八百年。

位值制与零:从空格到圆圈

位值制有一个关键问题:空位怎么处理?

表示 1023 时,百位是空的——算筹表示时,百位的位置上没有算筹。

早期做法: 靠空格区分。在三维空间中操作的棍子,“空格"比在纸上更容易分辨,所以符号化的压力较小。

中间做法(约 10—13 世纪): 用”○“符号(圆圈)代替空格,明确表示"此位为零”。这个”○“并不是从印度传入的,而是中国独立发展的零符号。

文明零概念出现时间形式
古巴比伦约公元前 400 年空格占位符
古印度约 5 世纪专用符号(bindu,点)
玛雅约公元前 4 世纪贝壳形符号
中国(算筹)早期空格,约 13 世纪用○先空格后圆圈
阿拉伯数码的"0”约 9 世纪圆形符号

算筹的消亡:当物质基础改变时,思维也随之改变

这里要讲一个令人感慨的故事。

算筹在中国活了将近两千年——从战国一直延续到明代。两千年里,它是中国一切精密计算的物质基础:《九章算术》里的方程组、刘徽的割圆术、祖冲之的圆周率、秦九韶的大衍求一术……这些辉煌的成就,全都是在一把把小棍子上完成的。

然后,大约在明代中期(15—16 世纪),不到五十年的时间里,算筹几乎完全消失了,被珠算盘取代。1593 年程大位出版《算法统宗》,全书用珠算讲算术,基本不提算筹。这个转变速度之快,令后来的数学史家感到震惊。

为什么算盘赢了?

算盘的优势是显而易见的:操作更快(拨珠子比摆棍子快),携带更方便(一块木板,不会散开),结果保持稳定(珠子留在槽里,不会被碰乱),而且不需要算板(任何桌面都能用)。对于需要快速完成大量日常计算的商人和账房来说,算盘是压倒性的胜利。

为什么这是一种损失?

这是一个更微妙的问题。算筹的物质特性,使得某些数学结构自然地"显现”——用算筹做方程组的增广矩阵,行列变换是自然而然的操作,每一步骤都看得见摸得着。算盘的串珠结构则天然适合加减乘除,但对于矩阵操作、高次方程、多项式运算,它提供的视觉支持远不如算筹。

用今天的语言说:算筹是"数据结构友好型"的计算工具,算盘是"四则运算优化型"的工具。前者深层,后者高效。当明代数学越来越商业化、越来越偏向日常账务计算时,高效的算盘自然胜出,而算筹所支持的那些高深算法(如方程术、天元术)随着计算基础的改变,逐渐失去了活的传统,变成无法复现的文字记载。

明代大数学家程大位精通珠算,但研究者指出,他已经无法真正理解《四元玉鉴》中朱世杰的四元术——因为四元术是为算筹设计的算法,没有算筹,就没有操作它的工具,也没有理解它的直觉。一种物质工具的消失,带走了整个认知基础结构。

这个故事有一个现代的回响:当电子计算机普及后,人们开始担心计算器会让学生失去数感。争论持续了几十年,没有定论。算筹的故事提醒我们:计算工具不只是工具,它是思维的外骨骼——换了骨骼,思维的形状也会随之改变。


十进位值制的世界意义

位值制记数法意味着:用有限个符号(0 到 9)就能表示任意大的数,并且计算规则完全依赖"位置”,可以被机械化——而这正是计算机科学的基础。

拉普拉斯的评价值得完整引用:

“用十个符号来表示所有数字,每个符号既有绝对值又有位置值,这一观念是何等精妙!用它表现一切计算的简单性又是何等奇妙!……这种方法的发明是如此之简单,以至于我们很难欣赏它的精彩之处,然而它却是人类最崇高的智慧成就之一。”

四大古文明记数法的比较:

文明进制基数位值制零符号大数计算方便性
古巴比伦60是(但不完全)有(后期)较好,但进位复杂
古埃及10否(堆叠符号)差,大数需大量符号
古罗马10否(加法原则)很差(MMMCMXCIX = 3999)
中国10是(纵横交替)空格→○优秀,可处理任意大数

古希腊人用字母表示数,大数计算极为繁琐。阿基米德为了表示"数沙粒"的大数,不得不在《数沙者》中专门发明新的记数系统——这本身就说明希腊字母记数法的局限。

相比之下,中国算筹的十进位值制在商代就有了基础,到秦汉发展成熟,一套规则就能处理从个位到亿位的所有计算。比印度-阿拉伯数码传入欧洲(约 12 世纪)早了一千多年,而欧洲人直到文艺复兴之后才真正抛弃罗马数字进行计算。


Chapter 4: 出土简牍中的早期算书

张家山汉简:一次改写历史的考古

1983 年冬天,湖北省江陵县(今荆州市)张家山。考古学家打开了一座西汉初年的普通官吏墓葬——247 号墓,年代约公元前 186 年,汉文帝初年。

墓主是谁,我们不知道。身份推测是一位基层官员,兼有文武职能。随葬品包括铜镜、漆器、陶器、武器,以及大量竹简文书。这本来是一次普通的考古发掘。

然后他们发现了那捆竹简。

约 190 枚竹简,原件用三道韦编(皮带)连缀,因年代久远,韦编全部腐烂,竹简散乱成堆,先后次序凌乱。考古人员从中辨认出一部数学著作。2000 年 9 月,《文物》杂志正式发表经审慎整理后的全文,命名为**《算数书》**。

数学史界的反应是:震动。

这是已知中国最早的系统性数学著作,将中国数学文献史向前推了数百年。书名中的"算数"古意是"用算筹计数之书”。内容明显早于墓葬年代,部分算题可上溯至先秦。学界公认,《算数书》很可能是张苍、耿寿昌等人编订《九章算术》时所用母本之一。

那位两千年前被封进墓里的无名官员,他的数学笔记,就这样从地下爬出来,改写了历史。

《算数书》具体题目详解

《算数书》保存了大量完整的算题,每题格式为"题名 → 原始数据 → 答案 → 术文(算法说明)"。下面选取四道有代表性的题目。


题目一:粟求米(粮食换算)

原文:

“粟求米,因而三之,五而成一。今有粟一升七分三,当为米几何?曰:为米七分升六。术曰:母相乘为法,以三乘十为实。”

释义: 粟(脱壳前谷物)转化为米(糙米)的换算率:5 升粟 → 3 升米,即换算系数 = 3/5。

问题: 有粟 \(1\frac{3}{7}\) 升,换算为米多少升?

\[ 1\frac{3}{7} \times \frac{3}{5} = \frac{10}{7} \times \frac{3}{5} = \frac{30}{35} = \frac{6}{7} \text{ 升} \]

算法说明: “母相乘为法”——两个分母(7 和 5)相乘得 35 为除数;“以三乘十为实”——3(换算率分子)乘以 10(粟的分子:\(1\frac{3}{7}=\frac{10}{7}\),分子为 10),得 30 为被除数;30÷35 = 6/7。

数学意义: 这就是后来《九章算术》“今有术"的前身。算法已经被规范化为"母相乘为法,子相乘为实"的程序——相同的程序可以套用于任何换算问题,不是临时凑的,而是通用的算法框架。


题目二:息钱(利息计算)

原文:

“息钱贷钱百,息月三。今贷六十钱,月未盈十六日归,计息几何?得曰:二十五分钱二十四。”

释义: 本金 100 钱,月利率 3%。现贷 60 钱,只用了 16 日,计算应付利息。

计算:

\[= 60 \times 3 \times 16 \div (100 \times 30) = 2880 \div 3000 = \frac{24}{25} \text{ 钱}\]

“二十五分钱二十四”,即 \(\frac{24}{25}\) 钱,与原文答案完全一致。

历史意义: 公元前 3 世纪的基层官员已经掌握按日计算利息的方法,且算法已经规范化——这是中国现存最早的金融数学计算。


题目三:分钱(盈不足的最简形式)

原文:

“分钱,人二而多三,人三而少二。问:几何人,钱几何?得曰:五人,钱十三。”

释义: 若干人分钱,每人分 2 钱则多余 3 钱;每人分 3 钱则不够 2 钱。问有几人,共几钱?

\[ 2n + 3 = P, \quad 3n - 2 = P \]

联立:\(n = 5\),\(P = 13\)。

盈不足算法验证:

盈 3 乘以第二个假设 3,不足 2 乘以第一个假设 2:\(3 \times 3 + 2 \times 2 = 9 + 4 = 13\)(钱数);\(3 + 2 = 5\)(人数)。✓

这道题展示了盈不足术(双假设法)的基本思路:不直接解方程,而是用两个"错误的"假设产生的误差来反推真实答案。这正是后来《九章算术》“盈不足"章的核心方法,也与欧洲中世纪代数书中的"双假位法”(double false position)完全一致。


题目四:里田(田地面积计算)

原文:

“里田,里乘里,里也,广从各一里。即置一,因而三之,又三五之,即为田三顷七十五亩。”

换算关系: 汉代 1 里 = 300 步,1 步 = 5 尺,1 亩 = 240 平方步。

1 里² = 300 × 300 = 90000 平方步 = 90000 ÷ 240 亩 = 375 亩 = 3 顷 75 亩。

数学意义: 《算数书》这道题令研究者惊讶的是,其作者在讲解 375 亩这个换算系数时,隐含地使用了素因数分解的思想:375 = 3 × 125 = 3 × 5³,所以"三之”(×3)再"三五之”(×5³=125)等于乘以 375。这说明《算数书》的作者对合数因数分解已具备正确认识。

清华简《算表》:最早的乘法查找表

2008 年,清华大学入藏一批战国楚简(碳 14 测定年代约公元前 305 年,战国中期),其中有一件极为特殊的文物:一张完整的乘法表,21 枚竹简横向拼接,可计算 0.5 到 99.5 之间的整数(包含半整数)的乘积。

使用方法: 想知道 \(87 \times 36\),将 87 分解为 80 + 7:

  • 在表中找到"行"为 80、“列"为 36 的交叉点:2880
  • 再找"行"为 7、“列"为 36 的交叉点:252
  • 将两值相加:2880 + 252 = 3132

类似于现代的查表法——对数表的整数乘法版本。

历史地位:

  • 世界上迄今发现的最早的十进制乘法查找表,年代约公元前 4 世纪
  • 比九九乘法表(最大结果 81)覆盖范围大得多,能处理两位数乘法

清华简《算表》的存在说明:在秦统一之前的战国时代,中国就已经将乘法运算工具化,通过查表提升计算效率——算法思维和工程思维结合的典型证据。

里耶秦简与行政数学的普及

2002 年,考古工作者在湖南龙山里耶古城遗址发现约 37000 枚秦代竹简,绝大多数是行政文书:命令、报告、账目、户籍。这些文书中有大量数字计算——面积测量、粮食征收、劳役分配、物资运输——计算精度之高、格式之规范,令研究者惊讶。

秦始皇统一六国后,推行商鞅变法以来的标准度量衡制度:

  • 统一"尺”(长度单位):秦尺 = 约 23.1 厘米
  • 统一"斛”(容量单位):1 斛 = 10 斗 = 100 升
  • 统一"钧"(重量单位):1 石 = 4 钧 = 120 斤

这种度量衡的统一,在数学上意义深远:当全天下用同一种"尺"量长度、用同一种"斛"量粮食,各地的数据就可以汇总,算题就可以跨地区通用,数学知识才有了全国性传播的基础。《九章算术》之所以能成为"全国教材",正是以秦汉统一度量衡为前提。

里耶秦简所展示的秦代行政数学,是"数学作为国家治理工具"这一中国数学主线的最直接证据:这里没有任何追求抽象真理的痕迹,有的只是精确计算服务于帝国运转的现实需要。这与同时代欧几里得《几何原本》(约前 300 年)追求纯粹逻辑演绎的精神,形成了最鲜明的对比。

《算数书》与同时代世界数学

公元前 200 年前后,地球上有三块地方,数学正在各自蓬勃——彼此完全不知道对方的存在。

一块在尼罗河边,纸草书上的象形数字已有八百年历史。一块在幼发拉底河与底格里斯河之间,楔形文字泥版里藏着令现代数学家也叹服的代数技巧。一块在长江流域,190 枚竹简里记录着粮食换算、利息计算、土地面积——那就是张家山汉墓的《算数书》。

埃及:《莱因得纸草》(约公元前 1650 年)

《莱因得纸草》(Rhind Mathematical Papyrus)今藏大英博物馆,包含 85 道算题。最大特点是单位分数系统——古埃及人只写分子为 1 的单位分数,任何分数都必须分解为单位分数之和,例如 \(\frac{2}{15} = \frac{1}{10} + \frac{1}{30}\)。这比中国直接写分子分母的分数记法繁琐得多。双方都发展了单假设法(先假设答案为某值,按比例修正),这是独立的平行发现。

巴比伦:普林顿 322 号泥版(约公元前 1800 年)

普林顿 322 号泥版(Plimpton 322)今藏哥伦比亚大学,包含 15 组系统列出的勾股数三元组,年代约公元前 1800 年,比《周髀算经》早约一千二百年。巴比伦人还计算了 \(\sqrt{2} \approx 1;24,51,10\)(六十进制),即:

\[\sqrt{2} \approx 1 + \frac{24}{60} + \frac{51}{3600} + \frac{10}{216000} = 1.41421296\ldots\]

精确到小数点后六位。这不意味着中国"落后"——两个文明在完全相互隔绝的情况下,独立发现了同一个数学规律,服务于各自的实践需求。

印度:《绳法经》(约公元前 800—500 年)

印度《绳法经》(Sulbasutras)是建筑祭坛的手册,包含等价于勾股定理的陈述,与中国最早记载大约同时——两地独立发现了同样的几何关系。

一条关键的不对称性:谁传了下来

埃及数学随着法老王朝的终结而消亡;巴比伦数学在公元 1 世纪后再无人继承。《算数书》则不同——它的算法直接进入《九章算术》(约公元 1 世纪编订),《九章算术》被刘徽(3 世纪)注释、被祖冲之(5 世纪)继承、被杨辉(13 世纪)推广、被程大位(16 世纪)普及为珠算——一条不曾中断的传承链条,从公元前 200 年延伸到今天的中学课堂。

数学的历史价值不只在于发现了什么,还在于发现之后是否能传下去。中国数学传统的长期连续性,是它与所有古代数学传统相比最独特的特征之一。


清华简《算表》:乘法表的最早实物

2008年清华大学从香港文物市场购入一批战国楚简,经整理研究,其中有一组被命名为《算表》的简牍,是目前已知最早的实物乘法表,年代在公元前305年左右。

《算表》的形式是一张二维表格:横轴和纵轴都排列着从1到100(实际上是以5为间隔的若干整数,加上分数\(\frac{1}{2}\))的数,表格内部的格子填写对应的乘积。它不是简单的九九表(只到9×9),而是一张覆盖范围更广的乘法查找表,类似于现代的乘法速查工具。

这张表的存在意味着,战国晚期的楚国文吏在进行行政计算时,已经有了可以随身携带、快速查用的计算辅助工具。这与巴比伦泥版上的乘法表(公元前2000年左右)在功能上完全一致,再次印证了人类在不同文明中对处理大量重复计算的共同需求。

《算表》与里耶秦简的乘法口诀配合来看,可以描绘出一幅完整的图景:战国到秦汉时期,数字计算已经深度嵌入行政运作,从乡镇小吏到郡县主簿,都需要能快速完成乘除运算的工具——无论是背诵的口诀,还是书写的查表。

算书如何流传:抄写、散佚与重构

理解这些出土简牍的意义,还需要搞清楚一件事:在印刷术发明之前,一部数学著作是怎么"流传"的?

答案让人颇感沮丧:靠人工抄写。竹简时代,一部书的"出版"就是找人把内容抄在一批竹简上,用绳子穿好,交给需要的人。每次抄写都是一次过滤——抄写者会无意中写错字,会把不理解的符号改成自己认识的别字,会把相邻两简的顺序搞混,会漏掉某条缝隙里塞着的注文。随着时间推移,传抄链越长,文本的损耗就越大。

这就是为什么考古出土的简牍如此珍贵——它们绕过了这条传抄链,直接保存了两千年前的原始状态,哪怕凌乱,哪怕残缺。张家山《算数书》出土时,竹简"先后次序凌乱",韦编腐烂,学者需要像拼拼图一样逐枚辨认、比对笔迹、根据内容语义来重新排序。2000年《文物》杂志发表整理稿之前,这部书在地下沉睡了两千一百多年。

《算数书》的内容格式本身,也透露出抄写传统的信息。每道题都是固定的三段式:题文(问题描述)→ 答数(答案)→ 术文(算法说明)。这种格式在后来的《九章算术》里完全继承了下来,说明这是当时数学类文书的通行写法,而不是某人的个人发明。通行格式意味着存在一个受过相同训练的抄写者群体——某种意义上,秦汉的"数学教育"就是通过这种格式化的抄写活动传递下去的。

学者彭浩研究指出,《算数书》的某些竹简字体和用词风格有明显差异,说明它并非出自一人之手,而是由不同时代、不同来源的竹简汇编而成。有些题目可能来自战国秦国的官府算题,有些可能是西汉初年补入的,还有些可能是墓主人自己抄录的私人学习笔记。换句话说,《算数书》本身就是一个"汇编本",反映的是数学知识在行政传播体系中积累和流动的过程,而不是某个天才数学家的个人著作。

里耶秦简的数学内容:帝国的账本

如果说张家山《算数书》展示的是数学知识被系统整理的样子,那么里耶秦简展示的就是数学知识在实际行政中如何被使用的样子——两者合在一起,才构成完整的图景。

2002年湖南龙山里耶发现的秦简,绝大多数是洞庭郡迁陵县(相当于今天一个县政府)的日常行政档案,时间跨度大约是秦始皇二十五年到三十七年(前222—前210年),恰好是秦统一全国后的第一个十二年。这些档案让我们得以真实地看见,秦帝国最基层的行政单位每天在算什么。

计口算赋: 里耶秦简中有大量"算赋"记录——依人口数量计算丁税。一枚简文写道:“都乡……凡人中(口数)……以户籍为正,算赋以此为征。“这需要对每户的口数乘以税率,再把全乡各户汇总——是最简单但量最大的乘法运算。

计算劳役工程量: 修路、筑城、疏浚水渠,都需要计算工程量(体积)和所需劳动力。里耶秦简中有"某工程用土若干方(立方),每人每日可完成若干方,需要多少人力"的算题格式,这正是后来《九章算术》“商功"章的核心内容。

粮食征收与换算: 征上来的粮食有粟、米、麦、黍之别,入库前需要按统一的换算比率折算成标准单位。里耶简中的换算记录,与《算数书》的"粟求米"类题目一一对应。

运输计算: 从县到郡,从郡到京城,粮食和物资的调运需要精确计算运费(“僦”)和行程。里耶秦简中有按"里数"和"负重"计算运费的记录,是《九章算术》“均输"章的现实版本。

这一切都指向同一个结论:秦代的基层行政,是完全数字化的行政。每一个参与行政的小吏,都必须掌握一套标准化的计算能力——这套能力正是以《算数书》一类的算题集为基础训练出来的。

值得注意的是,里耶秦简中还发现了一份保存完好的九九乘法口诀(“九九八十一"到"一一得一”),从大到小逆序排列。这说明秦代的数学教育,把乘法口诀的背诵作为基础训练,与现在的小学教学逻辑完全一致。两千两百年前的小吏学乘法,和今天的小学生一样,都是从背九九表开始。

从《算数书》到《九章算术》:算法思想的演进

现在我们可以回答一个关键问题:《算数书》和《九章算术》之间,到底发生了什么?

两者相差约两百年(《算数书》约前186年入墓,《九章》约公元1世纪定型),但从内容看,绝不只是"补充了一些题目"那么简单。两者之间有深刻的算法思想演进。

第一个演进:从"专用算法"到"通用算法”

《算数书》中,粮食换算类的题目往往给出具体的计算步骤,针对特定的换算比率。例如"粟求米"给出的步骤,就是专门针对"5份粟换3份米"这个比率的操作程序。如果换算比率改变,算法就得重写。

《九章算术》的"今有术"则不同——它给出的是一个与具体比率无关的通用算法框架:无论换算的是什么,只要知道三个数(已知量、已知率、所求率),都套同一套操作。这是从"案例解法"到"通用算法"的飞跃,概念上的进步是显著的。

第二个演进:从"结果导向"到"过程规范化”

《算数书》的术文有时比较模糊,侧重于告诉你"结果是什么”,而不太关心"每一步为什么这样做”。《九章算术》的术文更加规范,每一步操作都有明确的术语(“置”、“以……为实”、“以……为法”、“实如法而一”),这些术语构成了一套可以机械执行的操作语言。

这套操作语言的意义在于:它使得数学知识的传播变得更加精确。两个从未见过面的人,只要都学过同一套术语,就能通过文字精确地交流一个计算程序——这是数学语言规范化对知识传播的本质贡献。

第三个演进:分类体系的完善

《算数书》的题目混杂在一起,分类并不严格。《九章算术》把内容分成九章,每章围绕一个核心算法(“术”)组织题目,体现了一种明确的知识分类意识:知道哪些问题属于同一类型,知道同一类型的问题可以用同一套方法解决。

这种分类意识,恰恰是"算法思维"的核心——不只是解决这道题,而是识别这道题属于哪一类,然后调用该类型的通用解法。从《算数书》到《九章算术》,这个分类体系越来越成熟,最终形成了九章这个覆盖面极广的知识框架。

一条穿越时间的传承链

让我们把本章所描述的一切串联起来,看看这条传承链有多长。

公元前305年:楚国文吏使用《算表》查乘积,处理日常账务。

公元前221年:秦始皇统一度量衡,各国数学标准被统一到同一套框架下。

公元前210年:里耶秦简记录了迁陵县小吏用标准化数学工具管理粮食、劳役、税赋。

公元前186年:张家山墓主人携带《算数书》入葬,那批竹简已积累了先秦以来的数学传统。

约公元前52年:耿寿昌(汉宣帝时大司农中丞)对历代算题进行系统整理,大幅推进了《九章算术》的成型。

公元1世纪:《九章算术》以接近现存的形式流传,郑玄在注解《周礼》时已经引用了它。

公元263年:刘徽写下注释,不只是解释,而是证明每一条算法为何正确,将《算数书》以来的经验积累升华为有理论基础的数学经典。

公元656年:唐代国子监将《九章算术》列为官方算学教材,张家山小吏的计算方法成为帝国所有算学生的必修内容。

这条链条从公元前4世纪延伸到公元7世纪,跨越了将近一千年。一批在楚国查乘法表的文吏,用的数学工具和思维框架,最终被整理成了教导整个帝国官员的教科书——而我们今天看到的这部教科书,其最早的实物源头,就是那190枚散乱堆在荆州地下的竹简。


Chapter 5: 《周髀算经》与盖天说

成书层次与历史背景

想象一根木棍,垂直插在地面上。

正午,它投下一道影子。影子短,则太阳高;影子长,则太阳低。简单的几何关系——但这个简单的观察,在中国引发了一系列比你想象的复杂得多的问题:太阳离地面多远?地面是平的吗?天是什么形状?如果天是一个弯曲的圆盖,太阳在不同季节走的是不同的圆圈轨道,那每条轨道的半径是多少?

《周髀算经》就是试图回答这些问题的书。

“周髀"原指一根立在洛邑用于测量日影的八尺木桩(“髀"即股骨,因形状类似而得名)。全书由三个历史层次叠加而成:

  1. 西周初年(约前 1046 年前后)的口传传统:商高向周公陈述勾股定理,是书中最古老的核心内容。
  2. 春秋战国时代(约前 5—4 世纪)陈子对荣方的答问:包含了"日高图"测量法和七衡六间的天文几何。
  3. 西汉初期(约前 2 世纪)的系统整理:可能由张苍主持。
  4. 东汉末至三国(约 3 世纪初)赵爽的注释:赵爽补入了弦图证明和大量几何解说,使这部书的数学意义得以充分彰显。

书中宇宙观是盖天说:天像一个扣着的锅盖(圆形,穹形),地像棋盘(方形,平坦),天绕北极旋转。“天圆地方"不是随意的比喻,而是推动一系列精确几何计算的宇宙论框架——要描述太阳在天穹上的运动,就必须使用同心圆、比例和勾股定理。

商高与周公的完整对话:数学知识从哪里来?

《周髀算经》开卷第一段,是周公向商高请教数学的一段对话。这段对话的历史地位极为特殊:它不只是中国文献中最早明确陈述勾股定理的地方,更是一段关于数学知识论的宣言。

周公的问题听起来很哲学:

“天不可阶而升,地不可得尺寸而度,请问数安从出?”

——天没有台阶可以爬上去,地也无法用尺子直接量,请问数学知识从哪里来?

商高的回答,被后世数学家奉为圭臬:

“数之法,出于圆方。圆出于方,方出于矩,矩出于九九八十一。故折矩以为勾广三,股修四,径隅五……故禹之所以治天下者,此数之所生也。”

让我们逐句解读:

  • “数之法,出于圆方”:数学的方法,来源于圆和方——几何是数学的根基。
  • “圆出于方,方出于矩,矩出于九九八十一”:圆由方内切而来,方由矩(直角尺)划定,矩的使用建立在乘法表的基础上——这是一条从算术到几何的认知路径。
  • “折矩以为勾广三,股修四,径隅五”:把矩折叠,勾长三,股长四,斜边(径隅)长五——3:4:5 勾股数组的最早明确陈述。
  • “故禹之所以治天下者,此数之所生也”:大禹能治理天下,靠的就是这种数的方法——勾股定理是治国工程学的基础。

商高还说矩有六种用途,这是一张极有价值的先秦测量技术清单:

矩的用法应用场景几何原理
平矩以正绳检验水平直角与铅垂
偃矩以望高测量远处高度相似三角形
覆矩以测深测量深度相似三角形
卧矩以知远测量水平距离相似三角形
环矩以为圆画圆圆的定义
合矩以为方画正方形直角的应用

这六种用途,涵盖了先秦工程测量的全部核心需求——从建筑基础到城防工事到天文观测,全都依赖"矩"这一最基本的直角工具。数学不是从书斋里来的,而是从这些具体的操作需求中生长出来的。


盖天说与浑天说:宇宙形状如何决定数学工具的选择

这是本章最重要的思想史内容,也是《周髀算经》在中国科学史上地位特殊的根本原因。

《周髀算经》所代表的盖天说,字面意思是"盖住的天”——天是一个圆形的穹顶,像扣着的锅盖,地是平的,像棋盘。天绕北极旋转,太阳在天穹下方以不同半径的圆圈运行,夏至走最小的圆(最靠近北极),冬至走最大的圆。

盖天说的宇宙图像有一个关键数学推论:天地都是平面的,勾股定理可以直接应用于宇宙测量。任何天文测量问题(如太阳高度、距离)都可以化归为平面直角三角形问题,用相似比和勾股定理求解。《周髀算经》的所有定量计算,都建立在这个平面假设之上。

浑天说(东汉张衡为主要代表)则主张:天是一个完整的球体,地漂浮在其中,天球绕轴旋转,太阳在天球上沿黄道做球面运动。在浑天说的宇宙中,天地的形状是球面的,平面几何不够用,需要球面三角学。

这场争论的数学后果是深远的:

盖天说的数学遗产:勾股定理作为天文测量的核心工具,平面相似三角形方法,日高图的消差法——这些都在《周髀》中得到精致发展,并直接催生了刘徽的"重差术”。

浑天说胜利后的数学推进:东汉张衡之后,浑天说逐渐成为主流,促使中国天文学向球面几何方向发展。唐代一行僧(683—727 年)主持的大地测量,实际上是在浑天说框架下,用真实的子午弧测量来验证地球是球形的——尽管一行没有用"地球"这个概念,他的方法已经隐含了球面几何的需要。

换句话说,两种宇宙观像是两套数学研究纲领:盖天说是平面几何的研究纲领,浑天说是球面几何的研究纲领。《周髀算经》属于前者,它在平面几何框架内达到了极高水平;中国天文数学在浑天说确立后,走向了后者,发展出了不同的工具体系。

一个错误的模型如何包含正确的数学

《周髀算经》的宇宙模型(盖天说)在物理上是错误的,但其数学推导在模型内部完全自洽正确。以太阳高度的计算为例:

\[H = \frac{h \cdot d}{s_2 - s_1} = \frac{8 \times 1000}{0.1} = 80{,}000 \text{ 里}\]

这个结果在今天是完全错误的(太阳实际上距地球约 1.5 亿公里)。但错误不在于数学推导——相似三角形的推导是完全正确的——而在于物理假设:地面是平的,太阳到地面的高度是有限的且可以用三角形测量。

这是一个绝佳的案例,说明数学的正确性与物理的真实性是两件不同的事,也说明了中国古代数学的一个重要特点:数学工具是先进的,但有时被嵌入在不正确的物理框架中——这既是其局限,也恰好说明数学推理本身的独立性和力量。


勾股定理:文献记载与历史地位

《周髀算经》开卷第一段,商高回答周公的问题时说:

“勾广三,股修四,径隅五。”

“勾"是较短的直角边(3),“股"是较长的直角边(4),“径隅"是斜边(5)。这是中国文献中勾股定理最早的明确陈述:\(3^2 + 4^2 = 5^2\),即 \(9 + 16 = 25\)。

从这个特殊案例,商高推广说:“以此推彼,亦可以知方圆之率”——3:4:5 只是一个例子,背后是一般性的勾股关系。书中进一步给出了计算弦的一般说法:

“若求邪至日者,以日下为勾,日高为股,勾股各自乘,并而开方除之,得邪至日。”

用现代符号:若勾为 \(a\),股为 \(b\),则弦 \(c = \sqrt{a^2 + b^2}\)——勾股定理的计算形式,已经完全明确。

世界范围内的独立发现: 古巴比伦的 Plimpton 322 泥板(约前 1800 年)记录了 15 组精确的勾股整数解,比《周髀》早约千年。古印度的《绳法经》(约前 800—500 年)也明确表述了这一定理。这些是独立的平行发现,没有传播关系的证据。中国的贡献在于随后的几何证明——赵爽给出了一个比巴比伦(只有例子,无证明)更深刻的处理。

赵爽弦图:一个完美的面积证明

想象四个完全相同的直角三角形,勾为 \(a\),股为 \(b\),斜边为 \(c\)。

现在把它们拼在一起,每个三角形的斜边构成一个大正方形的边,四个三角形的直角分别朝外,拼合后中间夹出一个小正方形。这就是赵爽的弦图。

赵爽弦图:四个直角三角形(红)围成中间斜正方形(黄),证明 c²=a²+b²

面积等式:

\[ c^2 = 4 \times \underbrace{\frac{1}{2}ab}_{\text{每个朱实(红三角形)面积}} + \underbrace{(b-a)^2}_{\text{中黄实(小正方形)面积}} \]

展开计算:

\[ c^2 = 4 \cdot \frac{1}{2}ab + (b^2 - 2ab + a^2) = 2ab + b^2 - 2ab + a^2 = a^2 + b^2 \]

因此 \(c^2 = a^2 + b^2\),命题得证。✓

赵爽自己的描述:

“按弦图,又可以勾股相乘为朱实二,倍之为朱实四,以勾股之差自相乘为中黄实,加差实,亦成弦实。”

这个证明的绝妙之处在于:纯粹依赖面积的等量关系,不需要三角函数,不需要代数,只需要"切拼"图形的直观操作。四个完全相同的三角形锁在一起,就把一个数学定理的必然性呈现出来了——没有任何废话,没有多余的步骤。这种类型的证明让人感受到数学之所以美的那种原因:它揭示了一件不可避免的事情,以一种让人看见它为什么不可避免的方式。

这是中国数学"出入相补"原理(通过割补面积来证明等量关系)的典范应用,也是后来刘徽《九章算术》注中大量几何证明的先驱。

中国不只知道 3-4-5:勾股定理的一般性证据

一个常见的误解是:古代中国只知道 3:4:5 这一组勾股数。这是错误的。

赵爽的弦图证明是针对一般的直角三角形,其中 \(a\) 和 \(b\) 没有被赋予任何特定的数值。这说明,至迟在三国时代(约 3 世纪初),中国数学家完全理解勾股定理的一般性——它对任意直角三角形成立,不只是某些特殊比例。

此外,《九章算术》“勾股"章中有大量不同比例的勾股数组出现:

  • \(5:12:13\)(因为 \(25 + 144 = 169\))
  • \(8:15:17\)(因为 \(64 + 225 = 289\))
  • \(7:24:25\)(因为 \(49 + 576 = 625\))

这些整数勾股数组不是随机出现的,它们需要系统性地搜索和验证,表明汉代数学家已经将勾股数的研究推进到了一般规律层面。

与古巴比伦和古印度的比较

文明最早记录勾股数组数量是否有证明
古巴比伦(Plimpton 322)约前 1800 年15 组(含大数如 3367:3456:4825)无(只有例子)
古印度《绳法经》约前 800—500 年若干组
中国(《九章》+赵爽)约前 200 年 + 约 3 世纪多组,含一般算法有(赵爽弦图)

中国的独特贡献在于:不只找到了数组,而且提供了几何证明——赵爽的弦图是现存最早的、对勾股定理的一般性给出严格几何论证的文献,比任何巴比伦或印度文献都更接近现代意义上的"证明”。

七衡六间图:天文几何的精密描述

《周髀算经》下卷详细描述了七衡六间图:用七个同心圆代表太阳在二十四节气不同时期的轨道(最内圈是夏至轨道,最外圈是冬至轨道,中间五圈对应其他节气),相邻两圆之间叫一"间”,共六间。

具体数据:

  • 最内圈(夏至衡)半径 \(r_1 = 119{,}000\) 里
  • 最外圈(冬至衡)半径 \(r_7 = 476{,}000\) 里
  • 相邻两衡之差:\(\Delta r = \frac{476{,}000 - 119{,}000}{6} = \frac{357{,}000}{6} = 59{,}500\) 里

各衡半径依次为:119000、178500、238000、297500、357000、416500、476000(里)。这是一个公差为 59500 里的等差数列,\(r_n = 119000 + (n-1) \times 59500\)。

这些数字在今天看来当然是完全错误的。但错误的数字不影响正确的数学结构——等差数列本身是优美的,它反映了古人对"等间隔分布"这一对称性的直觉。七衡六间图将无法直接测量的天体运动,转化为可以用几何图形和算术关系描述的问题——这种"以数量关系代替对象本身"的思路,正是中国数学"以算为主、形数结合"特色的体现。

七衡六间图:七个同心圆代表太阳二十四节气轨道(最内圈夏至,最外圈冬至),相邻两圈等差分布

日高图:重差术的起源

书中的日高图问题:在地面上竖立两根等高的标杆,测量它们在正午的影长,根据影长之差推算太阳的高度和距离。

具体设置:

设两根标杆高度均为 \(h = 8\) 尺,相距 \(d = 1000\) 里(汉里),甲处(南)影长为 \(s_1\),乙处(北)影长为 \(s_2 > s_1\)。

推导(相似三角形原理):

设太阳高度为 \(H\),在甲处地面的水平距离为 \(L\)。

\[ \frac{H}{L} = \frac{h}{s_1} \quad \Rightarrow \quad L = \frac{H \cdot s_1}{h} \]\[ \frac{H}{L + d} = \frac{h}{s_2} \quad \Rightarrow \quad L + d = \frac{H \cdot s_2}{h} \]

两式相减:

\[ d = \frac{H(s_2 - s_1)}{h} \quad \Rightarrow \quad \boxed{H = \frac{h \cdot d}{s_2 - s_1}} \]

《周髀》给出的具体数字:

取 \(h = 8\) 尺,差 = 0.1 尺(每千里差一寸是《周髀》的测量假定),\(d = 1000\) 里。

\[H = \frac{8 \times 1000}{0.1} = 80{,}000 \text{ 里}\]

太阳到地面的水平距离:

\[L = H \cdot \frac{s_1}{h} = 80{,}000 \times \frac{6}{8} = 60{,}000 \text{ 里}\]

太阳斜距(由勾股定理):

\[\sqrt{H^2 + L^2} = \sqrt{80000^2 + 60000^2} = 100{,}000 \text{ 里}\]

这些数字今天当然是错误的。但数学逻辑是正确的:用可测量的量(影长差)推算不可直接测量的量(日高),这种"两次测量消去未知数"的方法,正是后来刘徽《海岛算经》中"重差术”(double difference method)的直接祖先。


成书年代的层次争议

《周髀算经》的书名第一次出现在《汉书·艺文志》的著录中,但这并不意味着它在西汉才写成。研究者普遍认为全书由三个相互叠加的历史层次构成,跨越了将近一千年:最古老的核心是西周初年周公与商高的问答,大约在公元前1046年前后;第二层是春秋战国时代(约公元前5至4世纪)荣方与陈子的问答;第三层是西汉初期(约公元前2世纪)的系统整理,研究者倾向于认为是汉初大数学家张苍主导完成的。

**“商高答周公问”**是全书最古老的部分,原文约264字,采用两人问答的形式。周公问:“天不可阶而升,地不可得尺寸而度,请问数安从出?“商高回答:“数之法,出于圆方。圆出于方,方出于矩,矩出于九九八十一。故折矩以为勾广三,股修四,径隅五……故禹之所以治天下者,此数之所生也。“这段话的核心是勾股定理的特殊案例(3:4:5),以及"矩"在测量中的六种用途:平矩正绳、偃矩望高、覆矩测深、卧矩知远、环矩为圆、合矩为方。

**“陈子答荣方问”**是第二层,内容明显多于第一层,大量涉及数学计算。荣方问的是"数安从出"之后更进一步的问题:怎样知道太阳的高度和远近?陈子通过立杆测影、相似勾股形、竹筒望日等方法一一作答。正是在这一层,“周髀”(用于测量日影的八尺木竿)才被正式定名,书名的由来也在这里。赵爽在注中说:“荣方、陈子是周公之后人”,“荣方闻陈子能述商高之旨,明周公之道”,表明陈子所掌握的是通过口传而非书面文字传承下来的商高知识。

成书时代的下限,可以从书中的细节推断:全书在讲到二十四节气时,把"惊蛰"写作"启蛰”,说明整理成书时汉景帝尚未即位(景帝刘启即位后才需避讳"启"字,在位年份为公元前156年以后);而书中引用了《吕氏春秋》的天文数据(“吕氏曰:凡四海之内,东西二万八千里,南北二万六千里”),表明整理时间不会早于战国末吕不韦(?—前235年)。综合这两个边界,整理完成的时间窗口大约在公元前240年至前156年之间——与张苍活跃的西汉初年大体吻合。

勾股定理:商高弦图与赵爽弦图的区别

《周髀算经》中有没有对勾股定理的严格证明?这是一个值得细辨的问题。

商高的话——“折矩以为勾广三,股修四,径隅五”——给出的只是一个特殊案例,即 \(3^2 + 4^2 = 5^2\)。书中紧接着给出了一般性的计算形式:“求斜至日者,以日下为勾,日高为股,勾、股各自乘,并而开方除之,得斜至日。“这是算法的描述,说明了如何用勾股关系计算斜边,但没有说明为什么这个关系成立。《周髀》原文提到"勾股圆方图”,但图已失传,赵爽之前的证明资料也没有留存。

真正给出严格证明的,是三国初年(约3世纪初)的赵爽。赵爽在《周髀算经》的注中补入了弦图证明:将四个完全相同的直角三角形(勾 \(a\),股 \(b\),弦 \(c\))拼成以斜边为边长的正方形,中间夹出一个边长为 \((b-a)\) 的小正方形,列出面积等式:

\[ c^2 = 4 \times \frac{1}{2}ab + (b-a)^2 = 2ab + b^2 - 2ab + a^2 = a^2 + b^2 \]

赵爽将四个红色三角形称为"朱实”,中间的小正方形称为"中黄实”,他的原话是:“按弦图,又可以勾股相乘为朱实二,倍之为朱实四,以勾股之差自相乘为中黄实,加差实,亦成弦实。“这是一个纯粹依靠面积"出入相补"的几何证明,不需要任何代数符号或三角函数,思路清晰,逻辑严密,完全自足。它代表的是**中国数学"割补法”**的典范:通过把同一块面积用两种方式分割再拼合,揭示出等量关系。

《周髀》中的勾股数组

《周髀算经》中不止有3:4:5一组勾股数。书中给出的计算——取标杆高 \(h = 8\) 尺,太阳高度 \(H = 80000\) 里,太阳的地面水平距离 \(L = 60000\) 里——恰好构成勾股比例 \(6:8:10\)(即 \(3:4:5\) 的倍数)。赵爽注中还提到"勾三股四弦五"是"折矩"所得,暗示以矩为工具可以"规矩"出各类直角关系。

与西方毕达哥拉斯数组对比来看,古巴比伦的Plimpton 322泥板(约公元前1800年)记录了15组精确的整数勾股解,远早于中国文献,如 (119, 120, 169)、(3367, 3456, 4825) 等,显示巴比伦人系统地寻找过大量整数解。古印度《绳法经》(约公元前800—500年)则记录了12, 16, 20;8, 15, 17;15, 36, 39等组合。这些都是各文明独立发现,没有相互传播的证据。中国的独特贡献,在于此后赵爽提供了一个简洁的几何证明路径——这是巴比伦和印度文献中所没有的。

日高图与七衡六间的天文数学补充

七衡六间图的数学结构,体现了一个值得注意的隐含假设:七个同心圆之间的间距相等(公差 \(\Delta r = 59500\) 里),这意味着古人认为太阳在一年中的运行速度是均匀的,或者至少对季节节气的划分采用了等间隔原则。七衡对应二十四节气的结构如下:最内圈(第一衡)是夏至轨道,半径 \(r_1 = 119000\) 里;最外圈(第七衡)是冬至轨道,半径 \(r_7 = 476000\) 里;每相邻两衡之间为一"间”,共六间,覆盖的节气为:冬至→大寒→雨水→春分→谷雨→小满→夏至,再往回走到冬至。

用等差数列表示各衡半径:

\[ r_n = 119000 + (n-1) \times 59500, \quad n = 1, 2, \ldots, 7 \]

北极位于整个七衡系统的正中心,与各衡等距。天穹绕北极旋转,太阳在不同季节沿不同的衡圆运行。

日高图的测量原理,本质上是利用两次测量消去一个未知数的思路:单根标杆只能建立"影长—日高角"之间的比例关系,无法独立得出日高的绝对值;两根相同高度的标杆在不同地点测量,利用两组数据的差值,就能在不知道太阳仰角的情况下直接计算出日高。公式:

\[ H = \frac{h \cdot d}{s_2 - s_1} \]

其中 \(h\) 是标杆高度,\(d\) 是两杆间距,\(s_2 - s_1\) 是影长差。《周髀》使用"每千里差一寸"的经验数据,即 \(s_2 - s_1 = 0.1\) 尺(当 \(d = 1000\) 里时),代入得 \(H = 80000\) 里。这个经验数据本身是错误的(实测并非如此),但测量原理——消差法——完全正确,并成为刘徽《海岛算经》中"重差术”(double difference method)的直接理论来源。

Chapter 6: 秦汉天文历法的数学

历法是古代最精密的数学工程

这里有一个让古代天文学家头痛了几千年的问题,而且它永远无法被完美解决。

你想要一个日历。你希望它既能追踪月相(对农业和宗教仪式极为重要),又能追踪季节(对种植时机至关重要)。合理的要求。

但月亮不配合你。

地球公转周期(回归年)约 365.24219 天——不是整数;月球公转周期(朔望月)约 29.53059 天——同样不是整数。而历法需要用整数天数来安排月份和年份,同时保证长期误差不积累。

更要命的是:这两个数字的比值 365.24219/29.53059 ≈ 12.3683,也不是整数。这意味着月份和年份之间没有简洁的整数关系。太阳和月亮,就好像两个歌手各自唱着永远不能完美对齐的节奏。

每一个有历法的文明——苏美尔、埃及、希腊、玛雅、中国——都在用不同的方式与这个问题搏斗。中国的解决方案,是一套精妙的连分数逼近理论(古代称"通其率”)。

《三统历》:刘歆的伟大分数实验

西汉末年,刘歆(约前 53—23 年)在前人太初历基础上编写**《三统历谱》**,保存于《汉书·律历志》中,是中国现存最早的完整天文年历。

朔望月的分数逼近:

真实朔望月 = 29.53059 天。刘歆找到的逼近分数是:

\[ 1 \text{ 朔望月} = 29\frac{43}{81} \text{ 日} = \frac{2392}{81} \text{ 日} \approx 29.53086 \text{ 日} \]

误差 = 29.53086 - 29.53059 = 0.00027 天,换算成时间约 23 秒。精度相当可观。

为什么是 43/81,而不是其他分数? 用连分数展开来寻找最佳有理逼近:

\[ 0.53059 = \cfrac{1}{1 + \cfrac{1}{1 + \cfrac{1}{3 + \cfrac{1}{1 + \cfrac{1}{26 + \cdots}}}}} \]

取前几阶截断,得到一系列渐近分数(最佳有理逼近):

阶数分子/分母对应值误差
11/2 = 0.529.5 天-0.031 天
28/1529.533… 天+0.003 天
357/10829.527… 天-0.004 天
443/8129.531 天+0.0003 天

分母 81 是黄钟律管体积(九寸长、九分围,\(9 \times 9 = 81\)),可以用音律来为历法的神圣性背书——这绝非巧合,刘歆有意选择与音律数字吻合的分数,体现了"律历同源"的哲学立场。

回归年的分数逼近:

\[ 1 \text{ 回归年} = 365\frac{385}{1539} \text{ 日} \]

其中 1539 = 81 × 19,19 年 = 235 个朔望月(古希腊梅顿周期 Metonic cycle,中国称"章”),刘歆巧妙地将月数和年数统一在同一个分母体系下。

上元积年:同余方程组的实践

历法还需要解决"历元"问题:找到一个历史起点(“上元”),使得在那个起点,日月五星同时处于特定位置(通常是甲子日夜半合朔冬至)。

这在数学上等价于求解一组同余方程组。用现代语言简化说明:

设 \(Y\) 为从上元到某已知年份(如汉高祖元年前 206 年)的年数,需要满足:

  • \(Y\) 是朔望月周期整数倍(以年为单位)
  • \(Y\) 模 60 = 某个特定余数(干支纪年)
  • \(Y\) 模 12 = 某个余数(岁星纪年,木星每 12 年绕天一圈)
  • ……以及五星各自的会合周期条件

这是一组联立同余方程,其求解方法正是后来被系统化为”孙子定理"(中国剩余定理)的方法。《三统历》的"太极上元"距汉太初元年(前 104 年)14 万 3127 年。刘歆计算的五星会终周期为 138240 年,日月五星齐会大周期为 23,639,040 年——这些庞大数字是通过反复求最小公倍数(lcm)得到的。

一个简化的上元积年示例:

假设只考虑两个周期:纪年干支 60 天一循环,岁星 12 年一周。要找到满足:

  • \(N \equiv 0 \pmod{60}\)(甲子年)
  • \(N \equiv 0 \pmod{12}\)(岁星在初始位置)

最小公倍数 \(\text{lcm}(60, 12) = 60\)。加入更多行星,lcm 迅速增大到天文数字,这就是"上元积年"数字庞大的原因。

历法的上元积年计算,是中国数学中不定方程分析最早的系统性应用,比后来《孙子算经》(约 4 世纪)明确表述"孙子定理"早了几个世纪,但解题思想是一脉相承的。

岁星超辰法:木星轨道的误差修正

上元积年只是问题的起点。历法推算还要追踪各行星的实时位置,其中木星(岁星)尤为重要——它是岁星纪年法的核心,古人用它来标记年份。

这里有一个微妙的误差。岁星纪年假设木星每 12 年绕天一圈,但实际上木星的恒星周期约 11.86 年。这意味着每过 12 年,木星实际上已经走过了略多于一圈——并不精确地回到起点。这个偏差年复一年积累,走多了的那一小段,古人称之为超辰(超出了一个"次")。

刘歆在《三统历》的"岁术"中首次提出超辰修正方案。他的计算基于一个精妙的整数关系:

\[ \text{岁星恒星周期} = \frac{1728}{145} \text{ 年} \approx 11.917 \text{ 年} \]

经过 1728 年,岁星实际走过 145 圈,而名义上只走 144 圈(每 12 年一圈 × 144 = 1728),因此 1728 年内超辰 1 次,即每 144 年超辰一次

具体推算步骤:设已知上元以来积年为 \(N\),先以 1728 除 \(N\) 取余数 \(R\):

\[R = N \bmod 1728\]

则该年岁星所在的"次"(十二次中的位置)为:

\[ \text{岁次} = \frac{145 \times R}{144} \]

分子 \(145R\) 而非 \(144R\),正是超辰修正的数学体现:每过 144 年,实际位置比名义位置多走 1 次,分子就相应地比分母多出了一个 \(R\)。

超辰法是中国历法数学中比率修正思路的典型案例。天文观测给出的不是完美整数,而是带有微小余量的近似值;历法家的任务就是找到最简洁的整数分数来逼近这个余量,并把修正项编入推算程序中。这与《三统历》对朔望月和回归年所做的连分数逼近,属于同一套思维框架。

三分损益法:音律与数学的婚姻

中国古代有一个深刻的认识:音律和历法是同一套数学的两种表现,因此合称"律历"。《汉书·律历志》专门将二者合论——分数计算在二者中扮演相同的角色。

三分损益法是中国古代生成十二律(十二个音高)的标准方法,原理是五度相生法(每次生成新音,相差一个纯五度音程):

从黄钟开始(弦长定为 81 寸),按以下规则生成十二律:

\[ \text{损一(下生):} L_{\text{新}} = L_{\text{旧}} \times \frac{2}{3} \quad \text{(频率升高一个五度)} \]\[ \text{益一(上生):} L_{\text{新}} = L_{\text{旧}} \times \frac{4}{3} \quad \text{(频率降低一个四度)} \]

完整的十二律生成过程(以弦长 81 为起点):

律名运算弦长(寸)频率比(相对黄钟)
黄钟起点811
林钟损(×2/3)543/2
太簇益(×4/3)729/8
南吕损(×2/3)4827/16
姑洗益(×4/3)6481/64
应钟损(×2/3)42⅔243/128
蕤宾益(×4/3)56⁸⁄₉
大吕损(×2/3)
夷则益(×4/3)
夹钟损(×2/3)
无射益(×4/3)
中吕损(×2/3)

十二次操作后,回到的音高与原始黄钟有细微偏差(“古代音律的毕达哥拉斯差”):

\[\left(\frac{3}{2}\right)^{12} \approx 129.75 \neq 2^7 = 128\]

这个偏差(比例约为 1.0136)被西方称为毕达哥拉斯音差(Pythagorean comma)。在中国,它被明代音乐家朱载堉(1536—1611 年)独立解决:他提出用 \(\sqrt[12]{2}\)(十二平均律的公比)生成十二律,使每个音程完全相等,消除了音差。朱载堉的等程律方案发表于 1584 年,比法国的 Marin Mersenne(1636 年)早了半个世纪,是中国数学与音乐交叉最深刻的成就之一。

三分损益法的数学本质是几何级数:每步乘以 2/3 或 4/3,十二个音的弦长形成一个几何序列。分数运算在这里直接服务于音乐美学——这是中国"应用数学"精神的又一经典案例:数学工具被精确嵌入人文需求。

王莽嘉量与刘歆圆率:度量衡工程中的 π

同样在西汉末年,度量衡工程也对 π 的精度提出了实际需求。

王莽当权后命刘歆修订度量衡制,制造并颁行了一批精致的标准量器,其中最受数学史家关注的是王莽律嘉量——一件将斛、斗、升、合、龠五量合为一体的铜制量器。斛量的铭文记载了其几何尺寸:

“律嘉量斛,方尺而圜其外,匪旁九整五毫,冥百六十二寸,深尺,积千六百二十寸,容十斗。”

铭文的几何意思是:

  • “方尺而圜其外”——以边长 1 尺(= 10 寸)的正方形为基准,取其外接圆
  • “匪旁九整五毫”——在外接圆半径的基础上再向外扩 9 厘 5 毫(= 0.095 寸),得到斛底的实际圆
  • “冥百六十二寸”——斛底面积为 162 平方寸
  • “深尺,积千六百二十寸”——深 1 尺(= 10 寸),体积 = 162 × 10 = 1620 立方寸

边长 1 尺正方形的外接圆半径等于其半对角线:

\[ r_{\text{外接}} = \frac{\sqrt{2}}{2} \times 10 \text{ 寸} = 5\sqrt{2} \text{ 寸} \approx 7.071 \text{ 寸} \]

加上"匪旁"0.095 寸,斛底半径 \(r = 5\sqrt{2} + 0.095\) 寸。由铭文底面积 162 平方寸可以反推圆周率:

\[ \pi \times (5\sqrt{2} + 0.095)^2 = 162 \]\[ \pi = \frac{162}{(5\sqrt{2} + 0.095)^2} \approx \frac{162}{51.35} \approx 3.1547 \]

这是汉代实用工程中用到的 π 精度,高于古老的"周三径一"(π = 3),但仍低于刘徽后来用割圆术算出的 3.14159……。数学史家白尚恕在 1982 年的论文《从王莽量器到刘歆圆率》中对这一推导做了完整分析,确认刘歆在设计嘉量时使用了 π ≈ 3.1547 这一隐含的圆周率,但原书没有留下明确的计算过程。

从商鞅量(长方体,容积 = 16⅕ 立方寸)到秦始皇铜方升,再到王莽嘉量,这是一条可以清晰追溯的度量衡技术演进线。而量器设计从矩形截面演变到圆形截面,意味着工程师被迫采用比"周三径一"更准确的 π 值——实践的精度要求,推动了数学工具的升级,这是汉代数学与工程技术深度互动的缩影。


Part II: 《九章算术》专论

Chapter 7: 《九章》的成书与流传

从《算数书》到《九章》:二百年积累

历史对刘徽极不公平。

我们几乎不知道他是谁。没有传记,没有生卒年份,没有任何描述他外貌或性格的记载。只有一部改变了中国数学史的注释,和一句留在书页上的话:

“徽幼习《九章》,长再详览。”

他从小读《九章》,长大以后又仔细重读了一遍。然后,在公元 263 年,他写下了这部注释。

但在讲刘徽之前,我们需要先讲清楚《九章算术》这部书本身是怎么来的——因为它的来历本身就是一个关于知识如何在灾难中幸存的故事。

阶段一:先秦素材积累(前 221 年以前)

张家山《算数书》(约前 186 年墓葬,内容更早)中已包含方田、粟米、衰分、商功、盈不足等章的早期素材。各诸侯国的"算术"知识在这一阶段以竹简形式分散保存,没有统一的整理。

阶段二:秦统一与度量衡统一(前 221—前 206 年)

秦始皇统一度量衡,为全国数学数据的汇总提供了基础。里耶秦简表明,秦代行政体系已经大量使用标准化数学计算,相关算题在官府文书系统中积累。

阶段三:张苍整理(约前 200—前 152 年)

张苍(约前 250—前 152 年),秦代曾任"御史主柱下方书",负责管理国家档案,“明习天下图书计籍,又善用算律历”(《汉书》)。研究者推测,张苍在整理秦汉行政档案时收集整理了大量算题,为《九章算术》的早期框架作出了关键贡献。

阶段四:桑弘羊的均输实践(约前 120 年前后)

汉武帝时期,大司农桑弘羊主持推行"均输法"——这是一种按各地距离、人口、物产综合计算运输份额的财政政策,其数学模型直接对应《九章》第六章"均输"。桑弘羊的实际行政工作产生了大量此类算题,很可能被收入当时流传的算书底本。

阶段五:耿寿昌的系统化整理(约前 90—前 60 年)

耿寿昌,汉宣帝时大司农中丞,主导了漕运改革(在北方建立大型粮仓)。刘徽在《九章》序中明确提到耿寿昌对《九章》进行了"删补",说明他是最关键的整理者之一。

阶段六:西汉末年的两部失传算书

《汉书·艺文志》记载有《许商算术》26 卷和《杜忠算术》16 卷,已失传。这两部书说明,在《九章算术》最终成型之前,西汉末年还有其他系统化数学文本在流传。

阶段七:东汉成书(约 1 世纪)

郑玄(127—200 年)注解《周礼》时已经引用了《九章》中的内容,说明至少在 2 世纪初,《九章》已经以接近现存形式流传。

阶段八:刘徽注(263 年)

刘徽,三国时代魏国(今山东人,约生于 3 世纪初)。他在 263 年完成《九章算术注》,为每一条算法提供严格的数学论证,引入了"出入相补"(面积割补)原理,并在序言中写出中国第一篇数学史论文。刘徽的注使《九章》从"算法汇编"升华为"有理论支撑的数学经典"。

阶段九:李淳风再注(656 年)

唐太宗时期,李淳风(602—670 年)率团队对《九章》再次注释。唐高宗显庆元年(656 年),国子监将《九章算术》列入官方算学教材,设"明算科"考试,《九章》成为国家法定教科书。

阶段十:宋代刻印(1213 年)

南宋嘉定六年(1213 年),鲍澣之刻印《九章算术》,这是能追溯到的最早刻本。此前的《九章》以手抄本形式流传。

阶段十一:明代沉寂(约 1400—1600 年)

珠算在明代商业社会中大获全胜,程大位《算法统宗》(1592 年)等实用珠算书大行其道,《九章》代表的算筹-理论传统几近失传两百年。

阶段十二:清代复兴(18—19 世纪)

乾嘉学派兴起,戴震(1724—1777 年)从《永乐大典》中辑录《九章算术》刘徽注,收入《四库全书》。《九章》在清代重焕光彩,并直接影响了晚清数学家对传统数学的整理研究。

刘徽序:中国第一篇数学史论文

现在,让我们回到刘徽。

他在《九章算术注序》中写下的这段话,是中国数学史上最重要的一段文字:

“昔在包牺氏始画八卦,以通神明之德,以类万物之情,作九九之术,以合六爻之变。暨于黄帝神而化之,引而伸之,于是建历纪,协律吕,用稽道原,然后两仪四象精微之气可得而效焉。”

"……周公制礼而有九数,九数之流,则《九章》是矣。"

“往者暴秦焚书,经术散坏,自时厥后,汉北平侯张苍、大司农中丞耿寿昌皆以善算命世。苍等因旧文之遗残,各称删补。故校其目则与古或异,而所论者多近语也。”

仔细读这段话。刘徽在做的事情,是在公元 263 年写一篇数学史综述。他在追溯《九章》的来历,指出暴秦焚书是造成原始文献散佚的原因,列出了汉代的整理者,并且坦率地说明:现存的文本与古典原典"或异",语言已经是"近语"(当时口语化的表达),说明整理过程中有大量改写。

这种对知识传承历史的自觉,在那个时代是极不寻常的。

然后他写了自己做注的动机:

“徽幼习《九章》,长再详览。观阴阳之割裂,总算术之根源,探赜之暇,遂悟其意。是以敢竭顽鲁,采其所见,为之作注。”

“幼习”、“长再详览”、“遂悟其意”——刘徽的数学成长是与《九章》伴随的,他的注不是炫耀学识,而是"遂悟其意"后的自然表达。这种对数学真理的追求,在中国数学史中是非常罕见的纯粹理论态度。

九章的组织逻辑:帝国行政的数学化

《九章算术》的九个章节,每章围绕一种或几种社会经济场景组织算法,其排列顺序体现了从基础到复杂、从单一到联立的教学逻辑:

章名主要数学内容核心社会场景代表性创新
方田(1)面积、分数运算、GCD土地测量、赋税辗转相减法(更相减损)
粟米(2)比例运算(今有术)粮食换算、贸易通用比例算法
衰分(3)按权重分配等级赏赐分配调和权重(返衰)
少广(4)开平方、开立方已知面积求边长逐位试算开方法
商功(5)立体几何体积土木工程量堑堵/阳马/鳖臑分解
均输(6)联合比例分配运输赋役分摊多因素衰分
盈不足(7)双假设线性插值市场定价核算双假位法
方程(8)线性方程组(消元)农业产量联立计算高斯消元的原型
勾股(9)勾股定理应用测量、天文观测测望题系列

从章节排列可以看出一个清晰的递进逻辑:前三章处理比例和分数,是最基础的计算技能;第四章引入开方,技术难度升级;第五章进入三维几何;第六到八章处理多变量问题,难度显著提升;第九章是几何测量的综合应用,作为压轴。

这不是随机排列,而是一套精心设计的从简到繁的课程逻辑。唐代国子监算学馆以《九章》为核心教材,学生需要系统学习七年,这套层层递进的结构正是教学效率的保证。

有一件事值得在这里点出来:《九章》把数学组织在行政和经济需要的框架里——量田、换粮、算工程、分税赋——这不是一个局限,而是一个深刻的选择。它说明,到汉代,数学已经渗入了中国文明的每一个行政层级。每个县令、每个算账官员、每个漕运督导,都需要这套知识。数学不是贵族或哲学家的专利;它是治理帝国的基本工具。


《九章》的流传:从抄本到刻本的一千年

《九章算术》的流传史,本身就是一个关于知识在政治变迁、战乱和文化转型中如何幸存的故事。理解这个故事,需要一个关键的认识:在印刷术普及之前(10世纪以前),“流传"意味着手抄。每一次抄写都是一次知识的过滤,能量必然损耗。

魏晋时期(3—4世纪):刘徽注的拯救

如果没有刘徽注(263年),《九章算术》今天很可能已经失传或面目全非。刘徽注的意义不只在于数学本身,还在于它把《九章》变成了一部"有理论依据的经典”,从而使它在士大夫阶层中具有了超出实用算题集的学术地位。一部纯粹的算题汇编,在门阀士族主导的魏晋文化里很难受到重视;一部配有严密论证的学术经典,就完全不同了。

从现存版本分析,刘徽注进入文本的方式是"双行小字夹注",与正文并存于同一竹简或卷轴。这种排版方式的后果之一是:后代抄写者如果对两者的边界不清楚,就有可能把刘徽的注文误入正文,或把正文误判为注文。现存版本中确实存在此类错简——这不是人为破坏,而是抄写传播的必然代价。

南北朝时期(4—6世纪):多线并行流传

南北分裂时期,《九章算术》在南北两个政治体系中分别流传,有时甚至沿不同的传播路径,形成不同的文本系统。《隋书·经籍志》著录有"《九章算术》九卷,汉大司农中丞耿寿昌撰,徽注",说明到隋统一时,刘徽注本已是公认的标准版本。

这一时期还有一个重要事件:甄鸾(约6世纪)对多部算经进行注释,其中包括对《九章》部分内容的注解,并把算筹计算规则(位值制的明确表述)融入了流传的注释体系。甄鸾本人的注文后来被李淳风团队部分收入,形成了唐代通行本的注释层。

唐代(7世纪):国家力量的介入

显庆元年(656年)李淳风奉敕注释,是《九章算术》流传史上最重要的制度性事件。国家介入带来了两个关键变化:

其一,文本的相对稳定。官方确立的教材版本,在国子监算学馆和地方官学中有统一颁发,减少了民间抄写导致的文本离散。

其二,注释的层次化。李淳风团队在刘徽注之上再加注,形成"刘徽注→李淳风再注"的双重结构。李淳风的再注并非简单重复,而是针对刘徽注中较难理解的部分做进一步解释,并订正了刘徽注的若干错误。今天所见的《九章算术》正文通常是:九章原文 + 刘徽注 + 李淳风注三层并行,阅读时需要仔细区分。

五代至北宋(10—11世纪):刻本的诞生与《缀术》的消失

北宋元丰七年(1084年),秘书省奉旨刻版印行算经十书,其中包括《九章算术》。这是中国数学史上的划时代事件——从抄本时代进入刻本时代,意味着文本有了相对可靠的复制手段,流传的稳定性大幅提高。

然而,1084年刻版也是一次损失的记录:《缀术》在这一年没有找到可用的底本,永久失传。《九章算术》的幸存,在相当程度上要归功于它从唐代起就有官方教材地位,产生了足够数量的抄本,使得在几百年抄写传播后仍有完整文本存世。《缀术》没有这个运气——或者说,没有这个制度保护。

南宋刻本(1213年):现存最早可溯刻本

南宋嘉定六年(1213年),鲍澣之重新翻刻,这是今天可以追溯的最早刻本。后代流通的《九章算术》——包括明代南京国子监本和清代孔继涵微波榭本——都是在这一脉络上延续下来的。《四库全书》本的底本,是戴震(1724—1777)从《永乐大典》中辑录的,与宋刻本系统并行,对校两本可以发现若干文字差异。

与其他古代数学文本传播史的比较

把《九章算术》的传播史与其他几部重要古代数学文本对比,差异是惊人的:

欧几里得《原本》(约前300年)同样经历了翻译链的损耗:希腊文→阿拉伯文(约9世纪)→拉丁文(12世纪)→各种欧洲语言。它的原始希腊文手抄本没有一份存世,现存最早的希腊文本是拜占庭时期的抄本。《原本》的传播是跨语言的,每次翻译都是一次重写;《九章算术》的传播在汉语体系内进行,尽管有版本流变,核心文本的连续性远比《原本》好。

印度《婆罗摩修正体系》(628年)的部分内容至今仍有争议,因为梵文手稿本的版本分歧极大,不同抄本之间的差异远超《九章算术》。

就文本连续性而言,《九章算术》是古代数学文本中保存相对完好的典范,这既有赖于中国书写系统的一致性,也有赖于唐代国家教育制度对文本的制度性保护。

刘徽注的文献命运:注与经的分合

《九章算术》与刘徽注在历史上经历了几次"分离"与"合并"的循环,这本身就是一段值得追踪的文献史。

刘徽在公元263年写下注释时,注与经是合写在同一卷帙中的。唐代李淳风等人奉旨注释"算经十书"时,又在刘徽注的基础上加了"淳风等谨按"的按语,形成了经文、刘注、李注三层叠加的文本。这种层叠注释结构在中国传统学术中并不罕见(《左传》的杜预注加孔颖达疏,《史记》的裴骃集解加司马贞索隐等,都是类似结构),但对现代读者理解《九章》造成了一定的阅读门槛:哪句话是经文原意,哪句是刘徽的推导,哪句是李淳风的补充,有时需要细读才能分辨。

南宋嘉定六年(1213年),鲍澣之刊刻了一个《九章算术》版本。这个宋刻本是现存《九章》传本中最重要的祖本之一,但它的流传也并不顺利:元明时代翻刻减少,部分版本出现了脱文(漏字)和错刻。清代戴震从《永乐大典》中辑出《九章》全文,这实际上是另一条传本线索——《永乐大典》在1408年编纂时收录了宋代版本,戴震辑本在一定程度上弥补了宋刻本的若干脱漏。

20世纪对《九章》文本的校勘,由钱宝琮和郭书春的工作最为重要。郭书春的《汇校九章算术》(2004年)以宋刻本、戴震辑本和其他传本互校,并与出土的张家山《算数书》比对,是迄今最完备的校勘本。这部书同时揭示了若干原本被认为是刘徽注、实际上可能是后世窜入的文字——文本批评的工作,永远没有完成的一天。

《九章》的现代版本与数字化

今天读者最容易接触到的《九章算术》版本,包括:郭书春、刘钝的《算经十书》(辽宁教育出版社,1998年,校点本);郭书春的《汇校九章算术》(台湾九章出版社,2004年);以及英译本:Shen Kangshen等人翻译的 The Nine Chapters on the Mathematical Art: Companion and Commentary(牛津大学出版社,1999年)。

英译本的意义在于:它是第一次让不读中文的读者能够系统接触《九章》全文及刘徽注的完整内容。此前,欧洲学界对《九章》的了解,主要来自钱宝琮和李俨著作中的局部引用,以及Needham《中国科学技术史》中的概述。1999年英译本出版后,《九章》开始进入西方数学史课程的标准参考书目,这是中国数学史国际化的一个重要节点。

刘徽的序:逐字读懂中国第一篇数学史论文

前面引用了刘徽序的一些片段,但这篇序值得更完整地去读——因为它不只是礼仪性的开场白,它是中国数学史上最早的、有意识的历史叙述,里面埋藏着大量信息。

刘徽序开头追溯《九章》的神话起源,说伏羲氏画八卦,黄帝造算术。这是他时代的惯例写法,别当真——没有哪部汉代著作不往上推几个神圣始祖的。真正有价值的是后面这段:

“周公制礼而有九数,九数之流,则《九章》是矣。”

这一句话解决了一个长期争论:《九章算术》的内容框架,刘徽认为来自"周公制礼"中的"九数"——也就是《周礼》里列举的九种数学科目(方田、粟布、差分、少广、商功、均输、盈不足、方程、勾股)。换句话说,《九章》的九章分类不是汉代发明的,它有更早的框架来源。但"九数"只是分类纲要,内容是后来各朝代累积进去的。

接下来是最关键的那段话:

“往者暴秦焚书,经术散坏。自时厥后,汉北平侯张苍、大司农中丞耿寿昌,皆以善算名世。苍等因旧文之遗残,各称删补。故校其目则与古或异,而所论者多近语也。”

仔细剥开每一句。“暴秦焚书,经术散坏”——刘徽明确把秦始皇焚书列为《九章》原始文献散失的原因,说明在他看来,《九章》有更早的"古"的部分,那部分因为焚书受损了。“苍等因旧文之遗残,各称删补”——张苍和耿寿昌是在残缺的旧文基础上工作,而不是从头创作,他们是编者和整理者,不是原创作者。“故校其目则与古或异,而所论者多近语也”——这是全序最令人惊讶的一句话。刘徽承认,现在看到的这部《九章算术》,与"古"本的目次有差异,而且用的是"近语"——整理者那个时代的当代语言,不是古代原文的原始表述。

你意识到这意味着什么吗?刘徽在公元263年告诉我们,他手里的《九章算术》已经是经过修改的版本,不是原汁原味的上古文献。他没有假装它是完整无缺的古典,他用历史学家的眼光看待了这部书的来历。这种对文献批评的自觉意识,在中国学术史上是极不寻常的早熟。

然后他写自己作注的动机:

“徽幼习《九章》,长再详览。观阴阳之割裂,总算术之根源,探赜之暇,遂悟其意。是以敢竭顽鲁,采其所见,为之作注。”

“幼习”、“长再详览”、“遂悟其意”——刘徽的数学成长是与《九章》伴随的,他的注不是炫耀学识,而是"遂悟其意"后的自然表达。“遂悟"这个词很关键:他不是被人要求去注的,他是真的想明白了,然后忍不住写出来。这种对数学真理的追求,在中国数学史中是非常罕见的纯粹理论态度。

张苍:从秦代档案官到汉朝北平侯

张苍(约前250—前152年),是中国历史上最早有详细记载的数学家。但他的人生比"数学家"这个词复杂得多。

他在秦代担任"御史主柱下方书”——这是管理国家档案典籍的职位,让他接触到了秦帝国整个行政体系积累下来的所有书面文件,包括各类算题和计量标准。他懂数学,这不是偶然的,而是他职位的必然要求。

秦末战乱,张苍跟随刘邦起兵,因军功封"北平侯"。进入西汉,他担任"计相"——字面意思是"负责计算的副丞相",实质上是帝国最高行政体系中负责财政统计的官员。当时萧何为丞相,张苍"以列居相府,领主郡国上计者"——负责审核各郡国上报的财政数据。

这个经历是理解张苍为什么能整理《九章》的关键。他手里有秦代档案里留下的算题残简,他有整理这些材料的行政动机(汉代要建立新的财政标准),他有足够的数学能力来判断哪些材料是正确的(他"善用算律历")。

司马迁在《史记》里评价张苍:“自汉兴至孝文二十余年……张苍为计相时,绪正律历。“一个新朝建立,首要任务之一就是颁布统一的度量衡和历法。张苍做的这件事,其实就是用数学工具重建帝国的计量体系——而《九章算术》的框架,正是这套计量体系的数学基础。

耿寿昌:均输法的数学执行者

耿寿昌活跃于汉宣帝时期(约前73—前48年),担任大司农中丞。大司农是汉代的最高财政官,中丞是副手。

《汉书·食货志》记载耿寿昌的主要政绩:他提议改变漕运路线,把"岁漕关东四百万斛"改为从近处购粮,“省关东漕卒过半”。他建立了"常平仓"制度,粮贱时政府收购,粮贵时出售,平抑粮价。“民便之,上乃下诏,赐爵关内侯。“他在边境建造大型粮仓储备军粮,“储二百万斛谷,羌人不敢动矣”。

这每一项工作,都是精确的数量计算——路线距离与人力成本的权衡,粮价波动的预测与平抑,大规模物资调配的计划。这正是《九章》均输章的数学用武之地。

刘徽说耿寿昌对《九章》进行了"删补”,这个"删补"很可能就是把他在均输法实施过程中积累的大量运输分配算题,整理编入了均输章。换句话说,《九章》均输章里的那些复杂多郡分摊题,很可能就是耿寿昌行政工作的直接数学产物——不是书斋里虚构的练习,而是从真实政策执行中提炼出来的典型问题。

学者研究发现,均输章某些算题涉及的地名、距离、货物种类,与西汉中期的行政地理高度吻合,进一步支持了这个判断。

为什么是刘徽:注释如何拯救了一部书

刘徽的注,是《九章算术》能够完整流传到今天的根本原因之一。

在刻版印刷普及之前(宋代以前),一部书能不能流传,取决于有多少人愿意抄它、认为它值得抄。一部纯粹的算题集,对士大夫知识分子来说可能没什么吸引力——它不像《论语》《诗经》那样是礼仪文化的核心,不像天文历法那样关乎国家大事,它只是一本会计工具书,有用,但缺乏让人觉得"必须保存"的文化威望。

刘徽的注改变了这一切。刘徽不是简单地解释题目,他是在证明为什么每条"术”(算法)是正确的。他引入了"出入相补”(割补法)原理,用几何图形来论证面积公式;他发明了极限逼近的无穷分割思想来处理圆面积;他给出了勾股定理的几何证明……这些工作把《九章》从"算题汇编"变成了"有理论深度的数学著作”。

一部有理论深度的著作,在士大夫文化中就不一样了。它可以被视为与《周易》推演、与天文历法同等层次的"格物穷理"之学。唐代国子监把它列入算学教材,在相当程度上是因为刘徽注给了它这个学术地位——没有刘徽注的《九章》,可能会像很多其他汉代算术书一样,悄无声息地在某次战乱中消失。

注与经在历史上经历了几次"分离"与"合并"的循环。刘徽在263年写下注释时,注与经合写在同一卷帙中。唐代李淳风等人奉旨再注时,又在刘徽注的基础上加了"淳风等谨按"的按语,形成了经文、刘注、李注三层叠加的文本。这种层叠注释结构使得后代阅读《九章》需要细心辨别:哪句话是经文原意,哪句是刘徽的推导,哪句是李淳风的补充。

九章的体例:246道题,一个世界

《九章算术》全书共246道题,按九章分布,每章都有一到多条"术"(算法规则),题目是"术"的例示和验证。这些题目不是随机堆砌的,它们的选择和排列体现了精心的教学逻辑。

每章的题目从简到繁,从单一条件到多重条件,从整数情形到分数情形,从正向问题到逆向问题。方田章处理面积和分数,是所有后续内容的计算基础;粟米章和衰分章处理比例,为均输和方程章做铺垫;少广章引入开方,是技术难度的第一个跨越;商功章进入三维,把二维面积的思路推广到体积;均输和盈不足章处理多约束联合问题;方程章达到最高难度,用完全一般化的增广矩阵方法处理多元线性方程组;勾股章作为几何的综合应用压轴。

此外,各章的用词和格式高度统一,特别是"置"(放置数字在算筹上)、“以……为实”(被除数)、“以……为法”(除数)、“实如法而一”(除法执行)等核心操作术语,贯穿全书。这说明九章的定型版本,是由一批对术语有严格统一认识的整理者完成的,而不是七拼八凑出来的。

这种体例上的高度一致性,是《九章算术》能够承载跨越千年的教学功能的关键:不同朝代的学生,面对同一套操作语言,学到的是同一套可操作的知识框架。古代数学教育没有"新概念"教材、没有练习册,但有这246道题从简到繁的递进——教什么,学什么,考什么,全在这一部书里。


Chapter 8: 算术诸术 — 方田、粟米、衰分、少广

开场:一件让人惊讶的事

先问你一个问题——你今天早上有没有做过乘法?有没有做过比例换算,比如把一杯咖啡的配方从两人份缩成一人份?

好,那你刚才用的思路,和公元前二世纪中国的一个粮仓管理员用的是同一套工具。

这不是浪漫化的说法,是字面意义上的事实。《九章算术》方田、粟米、衰分、少广这四章,就是那个时代的"日用算术工具箱"。它们回答的不是抽象的数论问题,而是税务官每天都会碰到的问题:怎么计算一块不规则田地的面积?怎么把粟换算成粝米?怎么公平地按人头和爵位分配赏赐?怎么从面积反算出边长?

这四章内容,正是整部《九章算术》最古老的核心——从成书史研究来看,方田章和粟米章大概率是最早积累起来的部分,可能早在战国末期就已经有了原型。商鞅变法之后,统一亩制、精确丈量土地成为国家政策,数学工具随之产生。你手上拿的,是两千年官僚行政的压缩档案。

让我们一章一章地走进去。

约分术:辗转相减的完整演示

《九章算术》方田章开篇就讲分数运算。为什么?因为土地测量产生分数(几分之几亩),任何实际计算都需要分数的化简。

约分术原文:

“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也,以等数约之。”

翻译:如果分子分母都是偶数,都除以 2;如果不都是偶数,就把分子和分母分别放在两处,用小的减大的,反复做,直到两数相等——这个等数就是最大公约数(GCD),用它除分子分母就得最简分数。

完整演示:化简分数 \(\frac{91}{119}\)

第一步: 91 和 119 都不是偶数,不能直接折半。

第二步: 副置 119 和 91,用小减大:

\[119 - 91 = 28\]

现在是 91 与 28。

第三步: \(91 - 28 = 63\)

第四步: \(63 - 28 = 35\)

第五步: \(35 - 28 = 7\)

第六步: \(28 - 7 = 21, \quad 21 - 7 = 14, \quad 14 - 7 = 7\)

两数相等,都是 7,所以 GCD(91, 119) = 7。

结果:

\[\frac{91}{119} = \frac{91 \div 7}{119 \div 7} = \frac{13}{17}\]

这套算法,就是辗转相减法,也是欧几里得辗转相除法(用除法代替减法的加速版本)的变体。欧几里得在前 300 年的《几何原本》中描述的算法,与《九章》的版本思路完全相同——又一次独立的平行发现。

你可能会问: 为什么不直接用除法,非要反复减?这是个好问题。答案跟计算工具有关。算筹在做除法时需要不断调整估算位数,而做减法则简单、机械,不容易出错。对于当时每天摆弄算筹的官员来说,“能对就行"比"步骤优雅"更重要。更相减损法就是为算筹设计的算法——它在计算机科学里叫 binary GCD algorithm,虽然动机不同,但思路惊人地接近。

实际使用场景: 想象你是汉代某县的算吏(负责数字计算的小官)。今天要处理一批田契,田地面积写的是"三十七步之二十一”(21/37 亩)。你得把它化简,方便计税。没有计算器,没有分解质因数的理论,你只有一把算筹和这条"更相减损"的口诀。五六步操作下来,GCD = 1,化简不了,这块田的面积就只能写成 21/37——这也是合法的答案。《九章》在这里体现的不是"数学美",而是"数学够用"的务实精神。

这里值得停下来注意一个重要差异:整部《九章算术》中,从未出现"素数"(质数)的概念。希腊数论以素数为基础构建整个理论体系——欧几里得《几何原本》第七、八、九卷大量定理都依赖"某数是否为质数";而中国算家求最大公约数、处理约分和通分,完全绕开了素数分解,靠更相减损法——一个纯粹程序化、算筹友好的操作——独立解决同类问题。这不是疏漏,而是两种数学哲学的选择:希腊从结构出发(先理解数的本质,再推导算法),中国从操作出发(先给出可执行步骤,再在实践中提炼规律)。两条路各有所长,并在后世的中西数学交汇中碰撞出丰富的互补关系。

同期世界: 古巴比伦(约公元前 1800 年)已知道简单的公因子化简,但主要用于特定表格,没有一般性算法。古印度的《婆罗门笈多数论》(约公元 628 年)才出现类似的辗转相除表述。从算法通用性来看,《九章》的约分术在时间轴上处于相当靠前的位置。

一个延伸问题: 更相减损法和欧几里得辗转相除法,哪个更快?

对于一般的两个整数,辗转相除法(用除法)比更相减损法(用减法)快得多。例如 GCD(100, 3),更相减损法需要减很多次(大约 33 次),而辗转相除法只需 3 步。《九章》作者知不知道这个效率差?不清楚,但约分术的开头有"可半者半之"——先做一步"除以 2"的快速化简,这说明编者意识到可以用"快速路"来减少步骤,只是没有推广到一般除法。

用现代计算机科学的语言说:更相减损法的时间复杂度是 \(O(\max(a,b))\),而辗转相除法是 \(O(\log(\min(a,b)))\)。对小数字没什么区别,但数字大了差距就很明显。《九章》选择了操作更简单(对算筹更友好)的版本,牺牲了一些效率。这是一个有意识的工程权衡,还是单纯是没意识到更好的方法?历史留下了空白。

衰分术:按爵位分猪肉

在讲合分术之前,先聊一个真实场景,帮你感受一下《九章》里的"衰分章"为什么存在。

汉代的赏赐是有等级的。天子赐猎,猎物按爵位高低分配:大夫拿最多,其次是不更,再次是簪袅、上造,最少的是公士。这五个爵位对应的分配比率(“列衰”)是 5:4:3:2:1。假设今天打了一头猪,重 120 斤,五个等级的人各一人,分别应得多少?

衰分术原文:

“各置列衰,副并为法,以所分乘未并者各自为实,实如法而一。”

翻译过来:把 5、4、3、2、1 列好(这就是"列衰")。把它们加起来:\(5+4+3+2+1=15\),这就是法(分母)。总量 120 斤乘以各自的衰,除以法:

\[ \text{大夫} = \frac{120 \times 5}{15} = 40 \text{ 斤}, \quad \text{不更} = \frac{120 \times 4}{15} = 32 \text{ 斤}, \quad \text{簪袅} = \frac{120 \times 3}{15} = 24 \text{ 斤} \]\[ \text{上造} = \frac{120 \times 2}{15} = 16 \text{ 斤}, \quad \text{公士} = \frac{120 \times 1}{15} = 8 \text{ 斤} \]

验证:\(40+32+24+16+8 = 120\) ✓

这道题背后的历史颜色很有意思。五等爵制最早来自商鞅变法——公士是最低级军功爵,最高才到大夫(汉代二十级爵制中,大夫是第五级,很低)。《九章》里用这套爵位做分配题,恰恰说明它的数学材料积累于秦汉之交,反映的是那个用军功和爵级管理奖惩的制度环境。

衰分术放在今天,就是加权分配。你打开外卖 App,几个人合点一桌菜,按各自的消费金额比例 AA,用的就是衰分术。只不过今天叫"按比例分摊",两千年前叫"衰分"。

一个更复杂的衰分例子: 《九章》衰分章第四题里有一道"今有女子善织,日自倍,五日织五尺"——这位织女每天的产量翻倍,五天总共织了 5 尺,问每天各织多少?

各天的"衰"为 1:2:4:8:16,列衰和 = 31,总量 5 尺分配:

\[ \text{第一天} = \frac{5 \times 1}{31} = \frac{5}{31} \text{ 尺}, \quad \text{第二天} = \frac{10}{31} \text{ 尺}, \quad \ldots \]

现代学者指出,这道题明显是人为编造的——没有任何织布工能每天产量翻倍,纯粹是为了用上"衰分"处理等比数列的场景而设计的"假题目"。这也正是《九章》的另一面:它既有直接来自现实的题目,也有为了让算法覆盖更多情形而人工构造的"模型题"。

合分术:分数加法的算法

合分术原文:

“母互乘子,子互乘母,并以为实,母相乘为法。”

演示:计算 \(\frac{1}{3} + \frac{1}{5}\):

  • “母互乘子”:\(5 \times 1 = 5\),\(3 \times 1 = 3\)
  • “并以为实”:\(5 + 3 = 8\)(新分子)
  • “母相乘为法”:\(3 \times 5 = 15\)(新分母)

结果:\(\frac{8}{15}\) ✓

更复杂的例子(《算数书》原题):

“今有五分二、六分三、十分八、十二分七、三分二,为几何?曰:二钱六十分钱五十七。”

即计算:\(\frac{2}{5} + \frac{3}{6} + \frac{8}{10} + \frac{7}{12} + \frac{2}{3}\)

现代计算:通分到公分母 60:

\[\frac{24}{60} + \frac{30}{60} + \frac{48}{60} + \frac{35}{60} + \frac{40}{60} = \frac{177}{60} = 2\frac{57}{60}\]

答案"二钱六十分钱五十七",即 \(2\frac{57}{60}\),完全正确。

合分术的历史意义: 中国在《九章》时代处理分数加法的方法——“母互乘子,子互乘母”——本质上就是找公分母,但没有先化简再通分的步骤,而是直接用分母乘积当公分母。这个方法在计算上正确,但不一定是最简形式,所以最后往往还需要一步约分。这说明《九章》在算法设计上倾向于"步骤固定、容易执行",而不是"最优化每一步"——这是一种工程思维,不是理论思维。

今有术:比例运算的万能公式

今有术是《九章算术》中出现频率最高的算法,贯穿于粟米章的全部 46 道题。

算法原文:

“今有所求率,以所有数乘所求率,以所有率除之,即所求数。”

符号化: 已知比率 \(A : C\),已知量 \(B\),求对应量 \(x\):

\[x = \frac{B \times C}{A}\]

粟米换算表(《九章》原表,以粟 50 为基准):

谷物换算率(粟 50 = 该谷物?升)
50
粝米(糙米)30
粺米(半精米)27
糳米(精米)24
御米(宫廷精米)21
小麦45
大麦54
菽(大豆)45

完整演示: 有粟 4.5 石,换算为粝米多少石?

  • 所有率(粟换算值)= 50
  • 所求率(粝米换算值)= 30
  • 所有数(已知粟量)= 4.5 石
\[x = \frac{4.5 \times 30}{50} = \frac{135}{50} = 2.7 \text{ 石}\]

今有术的深刻之处在于:它把千变万化的比例问题抽象为一个统一的算法框架,程序化、可操作,无论什么应用场景(粮食换算、税率计算、工资分配)都能套用。这是中国数学"算法化"精神的最典型体现——找到"今有术",就等于化解了所有比例问题。

让我们停下来想一想: 粟米章开头给出的那张换算表,其实是一张"比率表",粟 50 是基准单位,其他谷物都有自己的换算率。这张表不是某个数学家凭空想出来的——它反映的是汉代粮食加工的实际损耗率。粟(带壳高粱)加工成粝米(脱壳糙米)的出米率大约是 60%(换算率 30/50),精加工成御米(宫廷精白米)则只剩 42%(换算率 21/50)。这些数字是粮仓实测出来的,写进了官方手册,《九章》把它变成了数学题。

换句话说,粟米章不是一本"数学书"——它是一本粮仓管理手册,里面的每一道题都对应着帝国官僚体系中一个具体的行政动作。每年各郡向中央缴纳赋税时,要把地方粮食转换成标准单位,这个换算全靠今有术。不会今有术的算吏,就像今天不会用 Excel 的会计一样,根本无法工作。

世界横向比较: 古埃及的莱因德纸草书(约公元前 1650 年)里也有大量粮食换算题,用的是"单假位法"(false position)——先猜一个值,按比例缩放。《九章》的今有术和它思路相近,但表述更简洁、通用性更强。古巴比伦的泥版书同样充斥着比例计算,但组织成表格而非通用算法。三个文明,三种解决同类问题的路径,今有术在通用性上最胜一筹。

分数四则运算的完整体系

方田章不只有约分,它构建了一套完整的分数四则运算体系。让我们把这套体系梳理一下,感受它的系统性。

《九章》方田章给出了以下分数运算规则:

  1. 约分术(化简):更相减损求 GCD,用 GCD 除分子分母
  2. 合分术(加法):母互乘子,子互乘母,并以为实,母相乘为法
  3. 减分术(减法):母互乘子,以少减多,余为实,母相乘为法
  4. 乘分术(乘法):子相乘为实,母相乘为法
  5. 除分术(除法):子互换,再用乘法(即用倒数)

这五条规则,覆盖了分数的全部四则运算,而且每一条都是通用算法——不是针对特定数字的,而是针对任意分数的。

用现代符号把这五条写出来:

\[ \text{约分:} \frac{a}{b} = \frac{a/d}{b/d}, \quad d = \gcd(a,b) \]\[ \text{合分(加法):} \frac{a}{b} + \frac{c}{d} = \frac{ad + bc}{bd} \]\[ \text{减分(减法):} \frac{a}{b} - \frac{c}{d} = \frac{ad - bc}{bd} \quad (ad > bc) \]\[ \text{乘分:} \frac{a}{b} \times \frac{c}{d} = \frac{ac}{bd} \]\[ \text{除分:} \frac{a}{b} \div \frac{c}{d} = \frac{a}{b} \times \frac{d}{c} = \frac{ad}{bc} \]

这套规则在今天的小学数学课里仍然原封不动地在用。从《九章》方田章到今天的分数课,两千两百年了,这套算法一点没有变。

一个值得注意的事: 《九章》的合分术直接用 \(bd\) 作为公分母,不先做最简公分母。这个"偷懒"的做法让中间计算数字变大,但规则简单,容易记忆和操作。今天有些地方的数学课也直接用这种方法教分数加法(先通分到 \(bd\),再约简),另一些地方先求最小公倍数再通分。两种做法的结果相同,只是中间步骤的数字大小不同。《九章》选择了简单操作、稍大数字的方案——再次体现了"算筹友好、步骤简单"的设计哲学。

少广:从面积反算边长

“少广"这个章名,字面意思是"狭长的广”——就是说,已知面积,要算出等面积的正方形边长(或长方形的某一边)。换个角度:你是官员,领到上级命令,说要分配给某户农民"一亩地",你得把地划出来,圈多大?一亩 = 240 平方步,如果是正方形,每边多长?答案就是 \(\sqrt{240}\)。

这个问题用纸笔算不难,但在汉代,你手里只有算筹。少广章的开平方术,就是为算筹设计的逐位试算流程。

开方术:逐位试算,完整演示

《九章算术》“少广"章给出了开平方术——用逐位试算法求平方根,类似于今天的"竖式开方”。开方法的几何直觉是:已知正方形面积 \(N = (a+b)^2\),先用估计值 \(a\) 挖出 \(a^2\),剩余面积由两个矩形和一个小方角(商实)组成,再逐步确定修正量 \(b\)。

开方图解:正方形 $(a+b)^2 = a^2 + 2ab + b^2$,蓝色为已知部分,绿色为"廉法"矩形,红色为小方角

演示:求 \(\sqrt{1234321}\)

先判断答案的位数:\(1000^2 = 1000000 < 1234321 < 10000000\),说明答案是四位数。

第一步:确定千位数字。

试 \(1000^2 = 1{,}000{,}000\),\(2000^2 = 4{,}000{,}000\),所以千位是 1。

余数:\(1{,}234{,}321 - 1{,}000{,}000 = 234{,}321\)

第二步:确定百位数字。

\((1100)^2 = 1{,}210{,}000 < 1{,}234{,}321 < 1{,}440{,}000 = (1200)^2\),百位是 1。

余数:\(1{,}234{,}321 - 1{,}210{,}000 = 24{,}321\)

第三步:确定十位数字。

\((1110)^2 = 1{,}232{,}100 < 1{,}234{,}321 < 1{,}254{,}400 = (1120)^2\),十位是 1。

余数:\(1{,}234{,}321 - 1{,}232{,}100 = 2{,}221\)

第四步:确定个位数字。

\((1111)^2 = 1{,}234{,}321\) ← 恰好整除!

\[\boxed{\sqrt{1234321} = 1111}\]

验证:\(1111^2 = (1000+111)^2 = 1000000 + 222000 + 12321 = 1234321\) ✓

开立方术演示:求 \(\sqrt[3]{12977875}\)

判断:\(200^3 = 8{,}000{,}000 < 12{,}977{,}875 < 27{,}000{,}000 = 300^3\),百位是 2。

\(230^3 = 12{,}167{,}000 < 12{,}977{,}875 < 15{,}625{,}000 = 250^3\),十位是 3。

\(235^3 = 12{,}977{,}875\) ← 恰好整除!

\[\boxed{\sqrt[3]{12977875} = 235}\]

验证:\(235^3 = 235 \times 235 \times 235 = 55225 \times 235 = 12{,}977{,}875\) ✓

开方术的几何直觉: 想象你面对一块面积为 \(N\) 的正方形土地,你要找出它的边长。你先猜边长的最高位是 \(a\),挖掉 \(a^2\) 那一块,剩下的面积 \(N - a^2\) 形成一个 L 形(两个矩形加一个角)。接下来,你要找修正量 \(b\),使得 \((a+b)^2 = N\)。展开:\((a+b)^2 = a^2 + 2ab + b^2\),剩余部分就要被 \(2ab + b^2\) 填满。《九章》的开方术原文里,“倍法为定法"对应的就是 \(2a\),“商实”(小方角)对应 \(b^2\)——每一步操作都有确定的几何含义。

这种"几何—算术对应"的思维方式,在《九章》里处处可见。数学不是符号游戏,而是对真实空间的描述。

无理数的处理: 如果开方开不尽怎么办?《九章》的答案是:“若开之不尽者为不可开,当以面命之。” 就是说,如果 \(\sqrt{N}\) 不是整数,就用"某某步之面"来表示这个边长,意思是"面积为 \(N\) 的正方形的边”。这是一种"几何表示"而非数值表示——不给小数近似,而是用问题本身的描述来定义答案。这个处理方式既务实(保留精确性)又绕开了无理数理论(不需要讨论什么是无理数)。

与希腊人的对比鲜明:欧几里得在《几何原本》第十卷花了大量篇幅讨论"不可公度量"(即无理数)的理论,证明了 \(\sqrt{2}\) 与 1 不可公度。《九章》对这个问题没有理论兴趣——它只问"能不能用具体数字回答",如果不能,就给出几何描述,继续下一题。

复名数:多单位量的四则运算

《九章算术》所处理的度量体系远比今天复杂。今天度量衡已全面十进制化,但汉代的实际情况是:1石 = 4钧,1钧 = 30斤,1斤 = 16两,1两 = 24铢——层层嵌套,各进制不同。货币、面积、容积的单位结构同样繁琐。因此,《九章》里大量题目要求处理"复名数"(复名数,即带有多个计量单位的混合量),必须熟练掌握两套基本操作:

通法(化为最小单位):把1石2钧28斤3两5铢全部折算为铢数。

\[ 1\text{石} = 4 \times 30 \times 16 \times 24 = 46080\text{铢} \]\[ 2\text{钧} = 2 \times 30 \times 16 \times 24 = 23040\text{铢} \]\[ 28\text{斤} = 28 \times 16 \times 24 = 10752\text{铢} \]\[ 3\text{两} = 3 \times 24 = 72\text{铢},\quad 5\text{铢} = 5\text{铢} \]

合计:\(46080 + 23040 + 10752 + 72 + 5 = 79949\text{铢}\)。

聚法(从最小单位还原为混合名数):以79949铢为起点,逐级向上划归。79949铢 ÷ 24 = 3331两余5铢;3331两 ÷ 16 = 208斤余3两;208斤 ÷ 30 = 6钧余28斤;6钧 ÷ 4 = 1石余2钧。结果还原为1石2钧28斤3两5铢,与原数完全一致。

复名数运算的实质是:在不同进位制之间做数制转换。《九章》里均输章、商功章大量题目需要面积乘以单价、体积乘以工价,过程中不断经历通法和聚法。作者对这套操作极为熟练,计算过程一气呵成,没有写出中间步骤——留给后世读者大量补注的空间。

从历史上看,20世纪30年代以前,复名数作为算术教科书的重要章节广泛存在于中国、日本和西方的教科书中(英国的"英制单位"运算与此如出一辙)。度量衡十进制化以后,这一整类问题才几乎从教材中消失。了解复名数,就是了解前现代算术教育的真实面貌:它的复杂程度远超今天的小学数学,但这种复杂性是生活现实逼出来的,不是刻意的。

为什么复名数很重要? 20 世纪以前,全世界的算术教育有一个核心内容,今天的人已经基本忘了——就是复名数(mixed denominate numbers)。在中国是石钧斤两铢,在英国是英里码英尺英寸,在欧洲是磅先令便士。不同单位嵌套、各进制不同,买卖双方都要在脑子里同时处理多套换算。掌握复名数的加减乘除,是一个前现代识字人的基本生活技能,跟今天掌握手机操作一样普通。《九章》里满篇的复名数运算,不是在展示数学深度——它在教你怎么生活在汉代。

《九章算术》还发展了两种专门应对商业价格分数的近似算法——其率术反其率术。实际交易中不存在小于1钱的辅币,如果某商品的精确单价含有分数钱,买卖双方无法找零。其率术的解决方案是:设共购 \(a\) 件商品,总价 \(b\) 钱,精确单价 \(\frac{b}{a} = q + \frac{r}{a}\)(\(0 < r < a\)),则将商品按质量分成两档:其中 \(r\) 件优质品每件定价 \(q+1\) 钱,另 \(a-r\) 件普通品每件定价 \(q\) 钱,总价仍为 \(r(q+1) + q(a-r) = b\) 钱,分毫不差。反其率术是1钱可买多件商品时的对称情形。这两种算法是古代商业数学中保证"买卖均益"、不产生零钱纠纷的实用设计,体现了《九章》算术对市场现实的高度适应性。

本章总结:算术的政治经济学

回过头来看,方田、粟米、衰分、少广四章,构成了一个完整的汉代行政-经济计算体系:

  • 方田:田地丈量 → 产生分数 → 需要约分通分
  • 粟米:粮食换算 → 产生比例 → 需要今有术
  • 衰分:赏赐分配 → 产生权重比 → 需要衰分术
  • 少广:土地规划 → 已知面积求边长 → 需要开方术

这不是巧合,而是编排设计。从《中国数学史大系》的研究来看,学者们普遍认为《九章》的编排顺序"以难易程度为主",由浅入深。方田最易(只需加减乘除),少广最难(需要开方)。但从经济-行政逻辑来看,这四章其实是一个闭环:量地(方田)→ 算粮(粟米)→ 分配(衰分)→ 规划(少广)。

汉代官员如果要"通九章"——也就是掌握《九章算术》的技能——这四章是必修基础课。不掌握这些,连最基层的税务和劳役分配工作都做不了。数学在这里不是学问,而是官职技能。

一个令人惊讶的事实: 《中国数学史大系》引用德国学者 K. 福格对《九章算术》的评价:"《九章算术》所含 246 道算题,就其丰富内容来说,其他任何传世的古代数学教科书,埃及也好,巴比伦也好,都是无与伦比的。“福格是德文译本《九章算术》的翻译者,花了几十年研究这部书,这句话是他认认真真说的,不是外交辞令。

另一位美国学者 L. C. 卡尔宾斯基在他的《算术史》中说:“1202 年斐波那契巨著中所出现的许多算术问题,其东方源泉不容否认。不只是问题的类型与早期中国及印度者相同,有时甚至所用数据也一样。“也就是说,中世纪欧洲数学教科书里的题目,有一部分可能就是从《九章》的内容通过阿拉伯数学辗转传过去的。

这四章里的算术方法——约分、通分、今有术、开方——最后都进了欧洲算术教科书。只不过在传播过程中,来源被遗忘了。学习中国数学史,就是把这些被遗忘的来源重新找回来。


Chapter 9: 几何诸术 — 商功

开场:你能填满一座城市吗?

这是个实际问题,不是修辞。

汉代修长城,一段 30 尺高、12 尺厚、100 尺长的城墙需要多少土?怎么知道要调多少民夫、备多少天粮?在没有工程计算软件的时代,全靠数学。

《九章算术》商功章的"商”,是"估算、度量"的意思,“功"是"工程用功量”。整章 28 道题,每一道都是一个具体的工程管理问题——挖壕沟、建仓库、筑土台、开运河、造粮仓。体积公式不是纯几何游戏,而是汉帝国基础设施建设的操作手册。

让我们从一个让人吃惊的数字开始。

土方工程与帝国建设

《九章算术》第五章"商功”,“商功"的意思是"估算工程用工量”。

先说个数字:郑国渠,建于前 246 年,全长约 300 里(约 150 公里),灌溉面积号称 4 万顷。郑国渠的修建需要挖掘和移动几百万立方尺的土石。怎么知道要动员多少劳役、需要多少工期?答案是:计算土方量。

汉代的大型基础设施工程——长城修筑、漕运水渠开凿、南方水田工程、巨型粮仓建造——都需要精确计算土方量,以便合理分配劳役并核算工程成本。商功章的每一道题,背后都是一个具体的工程管理问题。

劳役计算规则(汉代标准):

一个成年男性,一天能挖运土石若干立方尺,不同土质(硬土、软土、砂土)有不同折算率。《九章》商功章第一类题目的计算流程是:

\[ \text{土方量(立方尺)} \div \text{每人每天工程量(立方尺/人日)} = \text{需要人日数} \]

再结合工期要求,就能算出需要征发多少劳役。这套逻辑今天叫"工程预算”,在汉代叫"商功"。

知道了工程的土方量,就能推算需要多少人工、多少天完成,进而确定赋役配额。从历史记录来看,汉代征发劳役是国家财政的重要组成部分。《盐铁论》里的桑弘羊就提到均输法的动机之一是"均民齐劳逸"——让各地劳役负担公平。而公平的前提,就是先把各地的工程量算清楚。商功章的数学,就是这套公平计算的工具。

基本立体公式一览,以及为什么有些公式来得比其他早

《九章》商功章系统整理了中国古代已知的全部重要立体体积公式。但在列公式之前,先问一个问题:

这些公式是怎么来的?

《九章》不给证明——它只给结果和操作步骤。这不是因为编者懒,而是因为《九章》的定位是官方算题集,不是数学证明教材。那些"术"是通过反复验算、经验归纳得到的,用今天的话说是"通过大量样本测试的算法"。只有到了刘徽(公元 263 年),才第一次为这些公式提供了系统的几何论证。

这个时间差很重要:《九章》从西汉初期流传,刘徽注释是 300 多年后的事。300 多年里,算吏们在用着这些公式,但没有人——或者说没有流传下来的文字——解释过"为什么是 \(\frac{1}{3}\)"。这不是"无知",而是那个时代对数学的需求定位:能算对就行,不需要证明为什么

这种定位,在世界数学史上并不孤独。古巴比伦的泥版书里也充满了公式,很少有推导。古埃及的莱因德纸草书也是如此。只有古希腊走上了"公理-定理-证明"的道路。两种传统对待数学的方式,塑造了完全不同的知识体系。

好,现在来看这些公式:

方柱(长方体):

\[V = a \times b \times h\]

圆柱(取 \(\pi \approx 3\),《九章》原文):

\[V = \frac{d^2 h}{4} \times 3 \div 4\]

刘徽指出,精确公式应为 \(V = \frac{\pi}{4} d^2 h\),取 \(\pi \approx 3\) 导致偏小约 4.5%。

方锥(底面为正方形):

\[V = \frac{1}{3} a^2 h\]

这个 \(\frac{1}{3}\) 系数对应了"锥体体积是等底等高柱体体积的三分之一"——今天高中都会学的公式,但《九章》给出它时,没有给出证明(证明在刘徽注中)。

方台(方亭,底面为正方形的棱台):下底边长 \(a\),上底边长 \(b\),高 \(h\):

\[V = \frac{h}{3}(a^2 + ab + b^2)\]

这个公式非常优美。三项 \(a^2\)、\(ab\)、\(b^2\) 分别是下底面积、两底边长的几何中项之平方和上底面积,三者平均后乘以 \(h/3\)。

与现代公式对比:\(V = \frac{h}{3}(A_1 + \sqrt{A_1 A_2} + A_2)\),其中 \(A_1 = a^2, A_2 = b^2\),代入得 \(\frac{h}{3}(a^2 + ab + b^2)\),完全一致。✓

你可能会问: 古人怎么"发现"方台公式的?一种合理的推测是从极端情形验证:当 \(b = 0\) 时,方台退化为方锥,公式变成 \(\frac{h}{3} a^2\)——正确。当 \(b = a\) 时,退化为长方体,公式变成 \(\frac{h}{3}(a^2 + a^2 + a^2) = ha^2\)——正确。夹在中间的一般情形,通过类比和反复测量得出 \(a^2 + ab + b^2\) 这个组合,再验证若干具体例子,就确认了这条"术"。这种"从特例归纳、用反例检验"的方法,是《九章》造术的典型模式。

圆台(圆亭):下底直径 \(d_1\),上底直径 \(d_2\),高 \(h\)(取 \(\pi \approx 3\)):

\[V = \frac{h}{12}(d_1^2 + d_1 d_2 + d_2^2)\]

与方台公式完全类比,只是把正方形面积换成近似圆面积。

三种特殊立体:堑堵、阳马、鳖臑

停下来,先建立直觉,因为这三个名字是本章最重要的概念,后面所有的精彩全靠它们。

鳖臑——你读对了吗?读"biē nào"。就是鳖(甲鱼)的前腿形状:一个不规则的三棱锥(四面体)。为什么叫鳖臑?大概因为形状像甲鱼腿,古人觉得直观易记。数学名称起这么生动的名字,是中国数学的一大特色。

阳马——“阳"是屋脊之南的意思,“马"是指角落的屋架木材。阳马就是屋角的斜梁——一个四棱锥,底面是长方形,顶点在一条底边的正上方。

堑堵——堑是壕堑,堵是堵墙。堑堵就是壕沟两侧的土堤——一个三棱柱,底面是直角三角形。

这三个名字,都是从工程实物类比来的,不是凭空造的数学抽象。

这三个陌生的名字,是《九章》商功章最精妙的部分,也是刘徽后来推导方锥体积的关键工具。

堑堵(蓝)、阳马(红)、鳖臑(绿)三种立体的透视图:长方体沿对角线依次分割所得

定义与体积:

  • 堑堵(直三棱柱,即长方体沿对角面切开):长 \(a\),宽 \(b\),高 \(h\),\(V = \frac{1}{2}abh\)
  • 阳马(四棱锥,底面为长方形,顶点在一条棱的正上方):\(V = \frac{1}{3}abh\)
  • 鳖臑(三棱锥/四面体):\(V = \frac{1}{6}abh\)

三者之间的精妙关系(刘徽的切割证明预览):

一个长方体(体积 \(abh\))可以如下分割:

\[ \underbrace{abh}_{\text{长方体}} = \underbrace{\frac{1}{2}abh}_{\text{堑堵}} + \underbrace{\frac{1}{2}abh}_{\text{另一堑堵}} \]\[ \underbrace{\frac{1}{2}abh}_{\text{堑堵}} = \underbrace{\frac{1}{3}abh}_{\text{阳马}} + \underbrace{\frac{1}{6}abh}_{\text{鳖臑}} \]

三者的体积比为 \(3:2:1\),或相对于长方体为 \(1/2 : 1/3 : 1/6\)。

刘徽用这套分割关系,加上"极限无穷分割"的论证,严格证明了方锥体积公式 \(V = \frac{1}{3}a^2h\):将方锥分解为一个阳马加两个鳖臑,每个的体积公式已知,相加即得。这是刘徽"穷竭法”(exhaustion method)的代表性应用,与阿基米德的方法思想相近,但独立发展。

动手想一想: 拿一块豆腐,按照下面的步骤切:

  1. 沿对角线竖切一刀,得到两块三棱柱——每一块就是堑堵(各为豆腐体积的 \(\frac{1}{2}\))。
  2. 取其中一块堑堵,从某个顶点到对面棱切一刀,分出一个四棱锥和一个三棱锥——四棱锥就是阳马(体积 \(\frac{1}{3}\)),三棱锥就是鳖臑(体积 \(\frac{1}{6}\))。

如果你真的切了,就会看到:阳马比鳖臑大,大两倍。为什么?直觉上可能觉得应该差不多大,但体积比是 2:1。这个"反直觉"的比值,正是刘徽需要用无穷分割来证明的地方。

阳马体积公式的完整推导:从直觉到严格证明

在讲例题之前,先来补上《九章》没有给、刘徽给了的那个证明——阳马体积为什么是 \(\frac{1}{3}abh\)。

这个问题的答案,在数学史上花了两千年才被严格证明。

第一步:直觉失败。

如果你用体积守恒直觉来猜,会说:一个长方体(体积 \(abh\))可以切成 3 个相等的锥体,每个体积是 \(\frac{1}{3}abh\)。但这个直觉是错的——3 个锥体虽然体积相等,但形状不全相同,你需要证明它们真的相等。

第二步:刘徽的切割策略。

考虑阳马 \(Y\) 和鳖臑 \(Z\)(设底面为 \(a \times b\),高为 \(h\)),已知它们加起来是一个堑堵,体积为 \(\frac{1}{2}abh\):

\[ V_Y + V_Z = \frac{1}{2}abh \]

要确定 \(V_Y : V_Z\),刘徽用的是无穷分割。对阳马和鳖臑各做一次切割:

  • 在中间高度水平截,同时沿中间竖截——阳马 \(Y\) 被切成一个小长方体(体积 \(\frac{1}{8}abh\) 中的 \(\frac{1}{4}abh\) 那部分,可以精确算出),加上一个小阳马(线度缩小为 \(\frac{1}{2}\),体积缩小为 \(\frac{1}{8}\));
  • 同样操作鳖臑 \(Z\),切出一个小堑堵和一个小鳖臑(体积缩小为 \(\frac{1}{8}\))。

“已确定"的部分(小长方体和小堑堵)的体积比是 2:1。剩余的小阳马和小鳖臑,体积比仍然是 \(V_Y : V_Z = r\)(未知的比值)。

第三步:建立方程。

设 \(r = V_Y / V_Z\)。每切一次,“已确定"部分增长,“未确定"部分(那对小阳马和小鳖臑)的体积各缩小为原来的 \(\frac{1}{8}\)。切 \(n\) 次后,未确定部分体积为 \(V_Y / 8^n\) 和 \(V_Z / 8^n\),趋向于零。

刘徽写:“半之弥少,其余弥细,至细曰微,微则无形。”

在极限下,全部体积都由"已确定"部分决定。而每次切割中,小长方体和小堑堵的比值都是 2:1。所以:

\[ r = V_Y : V_Z = 2 : 1 \]

代入 \(V_Y + V_Z = \frac{1}{2}abh\):

\[ V_Y = \frac{1}{3}abh, \quad V_Z = \frac{1}{6}abh \]

这个证明的力量在于:刘徽没有回避"无穷小"的问题,而是用一个收敛的迭代过程把它处理掉了。这是中国数学史上最接近现代极限概念的推理,比牛顿-莱布尼茨的极限理论早了约 1400 年。

一道完整的商功例题

原题(《九章算术》商功章第一题):

“今有穿地袤一丈六尺,深一丈,上广六尺,下广三尺,问积几何?”

这是一条梯形截面的地沟(壕堑),长 16 尺,深 10 尺,上宽 6 尺,下宽 3 尺。

几何识别: 这是一个楔形体(刍甲,堑堵的变形)——截面是梯形,垂直于长度方向切割均匀。

体积计算: 梯形截面面积 = \(\frac{1}{2}(6+3) \times 10 = 45\) 平方尺

体积 = 截面积 × 长度 = \(45 \times 16 = 720\) 立方尺

《九章》给出的公式(堑堵变形):

\[V = \frac{h}{6}[(2a + c)b + (2c + a)d]\]

其中 \(a = 6\)(上广),\(c = 3\)(下广),\(b = d = 16\)(袤,即长),\(h = 10\)(深)。

代入:\(\frac{10}{6}[(2 \times 6 + 3) \times 16 + (2 \times 3 + 6) \times 16]\)

\[= \frac{10}{6}[15 \times 16 + 12 \times 16] = \frac{10}{6} \times 16 \times 27 = \frac{4320}{6} = 720 \text{ 立方尺}\]

实际工程换算: 汉代挖土的劳役标准,一人一天挖运约 100 立方尺(坚土)或 120 立方尺(软土)。此壕堑 720 立方尺,需约 6—7 人工日完成。

换算到现代单位: 汉代 1 尺 ≈ 23 厘米。此壕堑长 \(16 \times 0.23 = 3.68\) 米,深 \(10 \times 0.23 = 2.30\) 米,上宽 \(6 \times 0.23 = 1.38\) 米,下宽 \(3 \times 0.23 = 0.69\) 米。体积约 \(720 \times 0.23^3 \approx 9.0\) 立方米。这是一条窄而深的壕沟,可能是边境哨所外的防御工事。

题目的语言透露历史: 原文说"穿地”(挖地),而不是"堆土"或"建墙”。这道题明确是挖掘类工程——防御壕堑,或者排水渠道。商功章里有明确分类:挖掘类(穿地、羡除)、堆砌类(筑城、筑坝)、粮仓类(圆囤、方仓)。每类工程的劳役折算率不同,因为挖比堆累,而精细工程(砌砖)比土方工程耗时。《九章》对这些差异都有所体现,是一本真正的工程管理手册。


粮仓的数学:圆囤和方仓

商功章里有一类题目跟工程挖掘无关,是关于粮仓容积的。这类题目的背景同样生动。

汉武帝时期,大司农耿寿昌提出"常平仓"制度——在各郡修建粮仓,丰年低价收购,荒年低价出售,平抑粮价。《汉书》记载他"习于商功分铢之事”,用运筹思想解决粮食储备问题,取得了很好的效果。

常平仓的建设需要精确计算仓的容积,才能确定存多少粮、收多少粮。《九章》商功章的圆囤(圆柱形粮仓)题目,用的是 \(\pi \approx 3\) 的近似:

\[ V_{\text{圆囤}} = \frac{d^2 h}{4} \times 3 \]

注意:严格说是 \(\frac{\pi d^2 h}{4}\),取 \(\pi = 3\) 则上式成立。刘徽对此有明确批评,指出用 \(\pi \approx 3\) 会导致体积偏小约 4.5%——在粮仓计算中,这意味着实际能存的粮比计算值多,是安全的偏差方向。耿寿昌大概知道这个误差,但接受了它,因为 \(\pi = 3\) 让计算简单很多,而偏小的误差不会造成仓容不足的问题。

这是一个典型的工程权衡:精确与简单之间,选择了简单

刍童与刍甍:《九章》最精妙的两个体积公式

商功章里体积公式最多,但从数学复杂程度来看,最值得细看的是刍童刍甍这两个立体。

刍童是草垛的形状——底面和顶面都是长方形(但大小不同),高为 \(h\)。用今天的术语,这是一个楔形台(rectangular frustum),类似方台,但上下底面的长宽比例不同。设下底长 \(a_1\)、宽 \(b_1\),上底长 \(a_2\)、宽 \(b_2\),高 \(h\),《九章》给出的公式是:

\[ V_{\text{刍童}} = \frac{h}{6}\left[(2a_1 + a_2)b_1 + (2a_2 + a_1)b_2\right] \]

初看这个公式,结构似乎复杂得有些奇怪。但仔细分析,可以发现它的内在逻辑:把刍童沿中间切开,可以分解成若干个堑堵和阳马,分别计算后叠加,正好凑出上面这个表达式。这是《九章》一贯的解题策略——把复杂形体分解成已知基本形体的组合,再把各部分体积相加。

我们来验证一个特例:如果上下底面都是正方形(\(a_1 = b_1 = a\),\(a_2 = b_2 = b\)),刍童就退化成方台,公式应该变成方台公式 \(\frac{h}{3}(a^2 + ab + b^2)\)。代入验证:

\[ \frac{h}{6}\left[(2a + b) \cdot a + (2b + a) \cdot b\right] = \frac{h}{6}\left[2a^2 + ab + 2b^2 + ab\right] = \frac{h}{6}(2a^2 + 2ab + 2b^2) = \frac{h}{3}(a^2 + ab + b^2) \]

完全吻合。特例检验通过,说明刍童公式是方台公式的真正推广。

刍甍是屋脊形状的立体——底面是长方形,顶部不是平面,而是一条棱线(屋脊),与底面平行。这是一个楔形体(三棱柱被斜面截断的变体)。设底面长 \(a\)、宽 \(b\),顶棱长 \(c\)(\(c < a\)),高 \(h\),《九章》公式:

\[ V_{\text{刍甍}} = \frac{h}{6}(2a + c) \cdot b \]

这个公式也可以通过分解理解:刍甍可以看成一个底面为长方形 \(a \times b\)、高为 \(h\) 的楔体减去两端各一个三棱锥,或者等价地,分解为一个以 \(c \times b\) 为底的棱柱加上两个三棱锥,代数叠加后正好得到上面的表达式。

体积比1∶½∶⅓∶⅙的层叠结构

回到商功章最精彩的一组关系:长方体、堑堵、阳马、鳖臑的体积比。

这四种立体——设长宽高均为 \(a, b, h\)——的体积关系如下:

立体体积公式与 \(abh\) 之比
长方体\(abh\)\(1\)
堑堵(直三棱柱)\(\frac{1}{2}abh\)\(\frac{1}{2}\)
阳马(四棱锥)\(\frac{1}{3}abh\)\(\frac{1}{3}\)
鳖臑(三棱锥)\(\frac{1}{6}abh\)\(\frac{1}{6}\)

注意这四个分数 \(1, \frac{1}{2}, \frac{1}{3}, \frac{1}{6}\) 的分母分别是 \(1, 2, 3, 6\)——恰好是 1, 2, 3, 6,公比不固定,但它们有精妙的加法关系:

\[ 1 = \frac{1}{2} + \frac{1}{2} \quad (\text{长方体} = 2 \text{ 个堑堵}) \]\[ \frac{1}{2} = \frac{1}{3} + \frac{1}{6} \quad (\text{堑堵} = \text{阳马} + \text{鳖臑}) \]\[ 1 = 2 \times \frac{1}{3} + 4 \times \frac{1}{6} = \frac{2}{3} + \frac{4}{6} = 1 \quad (\text{验证}) \]

换言之,一个长方体可以精确地被分割成 \(2\) 个堑堵,或 \(2\) 个阳马 \(+4\) 个鳖臑,或无数种其他组合。这套分割关系的用途是:凡是需要计算体积的多面体,只要能把它分解成若干个堑堵、阳马和鳖臑,体积就可以计算出来。《九章》的商功章,本质上是一套立体形体的代数分解系统

刍甍公式的一处有趣细节: 原文写 \(V_{\text{刍甍}} = \frac{h}{6}(2a + c) \cdot b\),其中出现了 \(2a + c\) 这个组合,不是 \(a + c\) 也不是 \(\frac{a+c}{2}\)。为什么是 \(2a\) 而不是 \(a\)?因为刍甍两端不对称——一端是顶棱(长 \(c\)),另一端是底边(长 \(a\)),而屋脊形状从底到顶是逐渐收窄的。\(2a + c\) 是这种非对称收窄的加权平均——底边权重是顶棱的两倍,因为底部"压"的面积更大。这个公式是通过把刍甍分解成一个棱柱加两个三棱锥推导出来的,但原文没有解释,只给结果。刘徽注中给出了分解的解释。

刘徽的无穷分割:把 ½∶⅓ 的比证明到底

《九章》给出了阳马的体积公式 \(V = \frac{1}{3}abh\),但没有证明为什么是 \(\frac{1}{3}\),而不是 \(\frac{1}{4}\) 或别的什么。证明出现在刘徽注中,用的是一种令人叹服的无穷分割论证

刘徽把阳马 \(Y\)(底面 \(a \times b\),高 \(h\))和鳖臑 \(Z\)(同样参数)各切一刀。切法:在每个立体的中间高度处水平截开,同时沿中间竖直平面截开。每次切割后:

  • 阳马 \(Y\) 的一部分变成一个小长方体和一个小阳马,小阳马与原阳马相似,线性尺度缩小为 \(\frac{1}{2}\),体积缩小为 \(\frac{1}{8}\)。
  • 鳖臑 \(Z\) 的一部分变成一个小堑堵和一个小鳖臑,小鳖臑与原鳖臑相似,同样缩小为 \(\frac{1}{8}\)。

设 \(Y\) 和 \(Z\) 的总体积之比为 \(r = Y/Z\)。切割后,可以分离出"体积比已确定的"部分(小长方体和小堑堵的比值为 \(2:1\)),以及"体积比待定的"剩余部分(新的小阳马和小鳖臑,体积各为原来的 \(\frac{1}{8}\),比值仍为 \(r\))。于是:

\[ r = \frac{Y}{Z} = \frac{\text{(已知部分)} + \frac{1}{8}Y}{\text{(已知部分)} + \frac{1}{8}Z} \]

每次切割,待定部分的体积缩小为 \(\frac{1}{8}\)。经过 \(n\) 次切割,剩余待定部分的体积为原来的 \(\left(\frac{1}{8}\right)^n\),趋向于零。刘徽写道:“半之弥少,其余弥细,至细曰微,微则无形。"——用今天的语言,这就是极限过程。

在极限下,所有体积都由"已确定的"部分决定,而这些部分的比值可以逐步算出。最终结论:

\[ Y : Z = 2 : 1 \implies V_{\text{阳马}} : V_{\text{鳖臑}} = 2 : 1 \implies V_{\text{鳖臑}} = \frac{1}{6}abh, \quad V_{\text{阳马}} = \frac{1}{3}abh \]

这个证明的方法,在西方数学中称为穷竭法(method of exhaustion),阿基米德在公元前3世纪已经用过。刘徽约在公元263年给出这一证明,独立发展了类似的极限思想。两个文明,相隔500年,殊途同归。

一个微妙的区别: 阿基米德的穷竭法通常是通过"夹挤”——从上下两侧逼近目标值——来证明的,形式上更接近今天的 ε-δ 语言。刘徽的方法是"切割后分离已知部分,剩余趋于零”,思路稍有不同。阿基米德明确地避免谈论无穷小(因为古希腊有关于无穷的哲学争议),而刘徽直接说"微则无形"(无限小就等于没有形态),态度更直接。从现代数学的角度看,两者都是正确的,只是论证风格不同。

丹麦数学史家的贡献: 有趣的是,《中国数学史大系》特别提到,《九章算术》刘徽注中关于阳马术的一段术文,过去被认为有脱漏舛误。是一位丹麦的数学史家 Wagner 给出了正确的解释,“使中国古算中一段辉煌成就,得以大白于世”。中国数学的秘密,由一个斯堪的纳维亚人解开——这个细节本身就说明,理解中国数学史需要整个世界学术界的共同努力。

祖暅原理:截面相等则体积相等

刘徽的父子传承者祖暅(祖冲之之子)把立体几何推向了更高的境界。他提出了一条原理,用来计算复杂曲面体的体积:

祖暅原理:若两个立体,在任意等高处的截面积相等,则两立体体积相等。

用符号表示:若对所有 \(z \in [0, h]\),都有 \(A_1(z) = A_2(z)\)(\(A_i(z)\) 是各立体在高度 \(z\) 处的截面积),则 \(V_1 = V_2\)。

这就是西方数学中的卡瓦列里原理(Cavalieri’s principle),由意大利数学家卡瓦列里(Bonaventura Cavalieri)在1635年发表。祖暅的版本比卡瓦列里早了约一千年。

祖暅用这个原理计算了球的体积:他把球(半径 \(r\))挖去一个内接圆柱留下的部分,与已知体积的组合立体进行比较,证明两者在每一高度处截面积相等,从而得出球的体积公式:

\[ V_{\text{球}} = \frac{4}{3}\pi r^3 \]

这是在阿基米德之后第二个独立推导出球体积公式的文明。祖暅的推导路线和阿基米德完全不同,用的是截面积比较而非穷竭螺旋,体现了中国数学的算法性格——构造性地给出计算方法,而不只是存在性地断言结果。

祖暅的具体构造: 祖暅把半径为 \(r\) 的半球,和一个"牟合方盖"(两个相互垂直的等高圆柱的公共部分)进行比较。他证明,半球与圆柱差的那部分立体,在每一高度 \(z\) 处的截面积都等于一个已知立体(圆柱减去一个内接锥体)的截面积。由截面相等得到体积相等,从而推出球的体积。

“牟合方盖"是刘徽发明的中间工具,祖暅继承并完成了这个构造。这个名字也很生动:两个相互垂直的圆柱的公共部分,从上面看是正方形,从侧面看是圆形,像两个方形盖子扣在一起,所以叫"牟合方盖”。

关于《九章》原书的错误: 《九章算术》本身给出的"开立圆术"(已知球体积求直径)是错的。原文用的是 \(V = \frac{9}{16} d^3\)(取 \(\pi \approx 3\)),比正确公式 \(V = \frac{\pi}{6} d^3\) 大了约 1/6。张衡试图用阴阳奇偶的观点修正这个公式,但同样是错的,还被刘徽批评了一顿:“欲协其阴阳奇耦之说而不顾疎密矣。“最终是祖暅,在刘徽"牟合方盖"的基础上,才给出了正确的球体积推导。从《九章》的错误术,到刘徽发明工具,再到祖暅完成证明——这个过程跨越了约 300 年。

工程应用:羡除与实际测量

商功章还有一类题目,现代人最不熟悉,叫做羡除

“羡除"是斜坡式地道或坡道的名称,截面是梯形,从地面向下斜挖,两端宽度不同(上口宽、下口窄,或反之),长度沿斜坡方向给出。计算羡除的体积需要把斜坡方向的长度转化为水平投影,这引入了一个额外的几何步骤。

示例(简化版):某羡除,上口宽 \(a = 8\) 尺,下口宽 \(c = 4\) 尺,深 \(h = 6\) 尺,斜长 \(L = 20\) 尺,斜率 \(=h/L_{\text{水平}}\) 已知,求体积。

水平投影长度 \(l = \sqrt{L^2 - h^2} = \sqrt{400 - 36} = \sqrt{364} \approx 19.1\) 尺。

截面为梯形,面积 \(= \frac{1}{2}(a + c) \times h = \frac{1}{2}(8+4) \times 6 = 36\) 平方尺。

体积 \(\approx 36 \times 19.1 = 687.6\) 立方尺。

《九章》给出的精确公式把这些关系统一为一个分解公式,本质上是把羡除分解成一个刍甍和两个鳖臑,分别计算后求和。这种分解策略,与处理堑堵、阳马的思路完全一致。不管工程的形状多复杂,只要能对应上基本立体的组合,就能计算。这正是《九章》商功章的核心方法论。

商功章的数学遗产,就这样从汉代的土木工程台账,化成了刘徽、祖暅手中的严格几何定理,再经由卡瓦列里原理的世界地位,融入了人类数学的公共知识库。一条不间断的线,从量土算方,走到球的体积。

世界横向:同时代的立体几何

公元前后的世界立体几何状况:

  • 古希腊(欧几里得,约前 300 年): 《几何原本》第 XII 卷证明了锥体体积是等底等高柱体体积的 \(\frac{1}{3}\),用的是穷竭法。证明完整而严格。
  • 古巴比伦(约前 1800 年): 泥版书里有棱锥体积的近似公式(截台公式),但没有一般锥体公式,也没有证明。
  • 古埃及(莫斯科纸草书,约前 1850 年): 有正确的方台(截头方锥)体积公式,比《九章》早了近 2000 年,但用的是具体数字,不是一般公式。
  • 《九章算术》(约前 200 年—前 50 年): 给出了大量体积公式,包括方台、圆台、堑堵、阳马、鳖臑,没有证明。
  • 刘徽(公元 263 年): 给出了阳马-鳖臑比例的严格无穷分割证明,以及牟合方盖工具。
  • 祖暅(约公元 500 年): 用卡瓦列里原理严格推导球的体积,比卡瓦列里(1635 年)早 1000 年以上。

这个时间线告诉我们:《九章》的公式体系在"正确性"上和古希腊同期,但在"证明体系"上落后(无证明);而 300 年后的刘徽和 500 年后的祖暅,在某些方面(无穷分割、截面原理)甚至超越了同期的西方数学。历史不是线性进步的,它是多条线索同步发展、相互独立又最终汇聚的复杂故事。

Chapter 10: 代数诸术 — 方程、盈不足、勾股

开场:三件事让西方数学界大吃一惊

20 世纪初,当西方数学史家开始认真研究《九章算术》的时候,有三件事让他们感到惊讶。

第一件事: 《九章》第八章"方程"里,有一套完整的线性方程组消元法,早于卡尔·弗里德里希·高斯(1777—1855)约 2000 年。

第二件事: 《九章》“方程"章里有负数的运算规则——正负数的加减法,用两色算筹表示——比印度数学家婆罗摩笈多(约 628 年)的负数系统早了七八百年。

第三件事: “盈不足"章里的双假设插值法,和 12 世纪欧洲数学家斐波那契在《计算之书》里的"double false position"如出一辙,但《九章》早了 1400 年。斐波那契这个方法,很可能是通过阿拉伯数学从中国传过去的,不是独立发明。

这三件事放在一起,让你对"代数"这个词有了新的感受:它不是希腊人或阿拉伯人专属的,而是古代文明在解决现实问题时不约而同发展出来的工具。不同的文明,选择了不同的工具形式。《九章》选择的是算筹矩阵,欧洲选择的是文字方程,阿拉伯选择的是符号代数。它们最终解决了同类问题,但路径不同。

三禾方程:高斯消元法完整推演

在讲这道题之前,先提一个数字:2000 年

这就是中国数学领先西方同行的时间差——在线性方程组的系统求解这件事上。

什么是"方程”? 这里需要先解释一个词。《九章》里的"方程”,不是现代意义上的代数方程——它的意思是"列方(矩阵)、程(量出)",就是"把一组条件排列成矩阵、逐步求解”。“方"指正方形(矩阵),“程"指度量、计量。所以《九章》的"方程术”,从一开始就是为了处理多元联立的问题,而不是单个方程。

公元前 200 年左右,《九章算术》第八章"方程"的第一题,就是最著名的三禾方程

“今有上禾三秉、中禾二秉、下禾一秉,实三十九斗;上禾二秉、中禾三秉、下禾一秉,实三十四斗;上禾一秉、中禾二秉、下禾三秉,实二十六斗。问上、中、下禾实一秉各几何?”

设上禾、中禾、下禾各一秉分别产 \(x, y, z\) 斗:

\[ \begin{cases} 3x + 2y + z = 39 \quad \cdots (1)\\ 2x + 3y + z = 34 \quad \cdots (2)\\ x + 2y + 3z = 26 \quad \cdots (3) \end{cases} \]

《九章》的筹算表示(增广矩阵,竖向排列,每列是一个方程):

\[ \begin{pmatrix} 3 & 2 & 1 \\ 2 & 3 & 2 \\ 1 & 1 & 3 \\ 39 & 34 & 26 \end{pmatrix} \]

注意:中国算筹是按列(竖)排方程,与现代行排方式相反,但本质相同。

为什么按列排,不按行排? 这是一个算筹使用习惯决定的设计。算筹是在计算板(或地面、布上)摆放的,每一个"方程”(即一条题目条件)对应一列算筹,从左到右排。这样,消元操作就是"用左边一列操作右边一列”,视觉上是从左向右推进的,跟今天我们写方程组的方向恰好相反。如果用行排,操作时需要从上向下推进,对算筹来说不那么自然。

这是一个典型例子:算法的形式受到计算工具的约束。算筹的物理特性影响了数学表达的选择。

方程术(消元步骤):

Step 1: 用第一列消去第二列的上禾项。

方程术规定:“以右行上禾不尽数遍乘中行而以直除”——用第一列的上禾系数 3 乘以第二列,再减去第二列上禾系数(2)乘以第一列:

\[ \text{新第二列} = 3 \times \text{第二列} - 2 \times \text{第一列} \]

计算:

  • 上禾:\(3 \times 2 - 2 \times 3 = 0\) ✓(消去)
  • 中禾:\(3 \times 3 - 2 \times 2 = 5\)
  • 下禾:\(3 \times 1 - 2 \times 1 = 1\)
  • 常数:\(3 \times 34 - 2 \times 39 = 24\)

新第二列:\([0, 5, 1, 24]\)

Step 2: 用第一列消去第三列的上禾项。

\[ \text{新第三列} = 3 \times \text{第三列} - 1 \times \text{第一列} \]
  • 上禾:0 ✓
  • 中禾:\(3 \times 2 - 1 \times 2 = 4\)
  • 下禾:\(3 \times 3 - 1 \times 1 = 8\)
  • 常数:\(3 \times 26 - 1 \times 39 = 39\)

新第三列:\([0, 4, 8, 39]\)

当前矩阵:

\[ \begin{pmatrix} 3 & 0 & 0 \\ 2 & 5 & 4 \\ 1 & 1 & 8 \\ 39 & 24 & 39 \end{pmatrix} \]

Step 3: 用第二列消去第三列的中禾项。

\[ \text{新第三列} = 5 \times \text{第三列} - 4 \times \text{第二列} \]
  • 中禾:0 ✓
  • 下禾:\(5 \times 8 - 4 \times 1 = 36\)
  • 常数:\(5 \times 39 - 4 \times 24 = 99\)

当前矩阵(上三角形):

\[ \begin{pmatrix} 3 & 0 & 0 \\ 2 & 5 & 0 \\ 1 & 1 & 36 \\ 39 & 24 & 99 \end{pmatrix} \]

回代求解:

从第三列:\(36z = 99\),所以 \(z = \frac{99}{36} = \frac{11}{4}\) 斗。

从第二列:\(5y + z = 24\),代入 \(z = 11/4\):\(5y = 24 - 11/4 = 85/4\),\(y = \frac{17}{4}\) 斗。

从第一列:\(3x + 2y + z = 39\),代入:\(3x = 39 - 2 \times 17/4 - 11/4 = 111/4\),\(x = \frac{37}{4}\) 斗。

答案:

\[ x = \frac{37}{4} = 9\frac{1}{4} \text{ 斗}, \quad y = \frac{17}{4} = 4\frac{1}{4} \text{ 斗}, \quad z = \frac{11}{4} = 2\frac{3}{4} \text{ 斗} \]

验证方程 (1):\(3 \times \frac{37}{4} + 2 \times \frac{17}{4} + \frac{11}{4} = \frac{111 + 34 + 11}{4} = \frac{156}{4} = 39\) ✓

这套完整的消元过程——列矩阵、逐步消元、形成上三角矩阵、反代求解——正是今天线性代数课程中的高斯消元法,由高斯(1777—1855)在 19 世纪发展成系统理论。然而《九章算术》在公元前 200 年左右就已经有了完整的算法,早了整整 2000 年,而且不是一两道题,是整章系统性的算法表述。

方程章里的负数——中国数学史上的另一个"第一”

三禾方程只用到正数,但"方程"章后面的题目就不那么客气了。第三题和第十三题里出现了负系数,这逼着《九章》必须处理负数。

《九章》的处理方式是用两种颜色的算筹:红色(正算) 表示正数,黑色(负算) 表示负数。加减法规则是:

“正负术曰:同名相除,异名相益,正无人,负之;负无入,正之。”

翻译:同号相减(绝对值相减),异号相加(绝对值相加),正数加到没有了就变成负数,反之亦然。

这套规则,完整正确,和现代的正负数运算完全一致。中国数学史家普遍认为,这是世界上最早的系统性负数运算规则。古巴比伦有"债务"的概念,古希腊避免讨论负数,古印度的婆罗摩笈多(约 628 年)才有正式的负数算术。《九章》的方程章,在公元前就做到了。

但这里有一个重要的限制: 《九章》只在消元计算的中间步骤里用负数,最终答案总是正数(因为题目本身是现实问题,“上禾产量"不可能是负的)。这说明当时对负数的理解是工具性的(消元需要用到),而不是本体性的(负数作为独立的数学对象被研究)。负数作为数系的成员,被接受并完整研究,要到宋元时期才逐渐发生。

方程章的其他宝贝:不定方程和多元方程

三禾方程是方程章最简单的情形(三个方程三个未知数,有唯一解)。方程章里还有更复杂的情形。

第十四题 是一个 4×4 线性方程组,也用相同的消元法处理,演示了算法对更大规模问题的扩展性。

第十三题(不定方程)更有意思:它给出的是方程组有无穷多解的情形(方程数少于未知数),《九章》的处理是"取最小整数解”。这是中国数学处理不定方程的早期尝试,后来发展成孙子定理(中国剩余定理)的方向。

第十八题(白、青、黄、黑四种禾交换问题)结构最复杂,在消元过程中会产生需要用"方程术"特殊处理的大系数,刘徽在注释里专门批评了某些人的笨拙解法:“其拙于精理,徒按本术者,或用算而布毡,方好烦而喜误”——大意是"有些人死扣规程,把算筹铺得满桌子,又喜欢复杂又容易出错"。这说明不同水平的算吏之间是有高下之分的,聪明的会找捷径,笨的只会死套。

盈不足术:双假设的线性插值

题目(《九章算术》盈不足章第一题):

“今有共买物,人出八,盈三;人出七,不足四。问人数、物价各几何?”

几个人合买一件东西,每人出 8 钱则多 3 钱(盈 3);每人出 7 钱则差 4 钱(不足 4)。问共几人,物价几何?

直接代数解法:

设人数为 \(n\),物价为 \(P\):

\[P = 8n - 3 \quad \text{(盈 3 意味着多交了 3 钱)}\]\[P = 7n + 4 \quad \text{(不足 4 意味着差了 4 钱)}\]

联立:\(8n - 3 = 7n + 4\),所以 \(n = 7\),\(P = 53\) 钱。

盈不足术的公式(《九章》原方法):

设两次假设每人出钱数为 \(x_1 = 8\)(盈 \(e_1 = 3\))和 \(x_2 = 7\)(亏 \(e_2 = 4\))。

\[n = \frac{e_1 + e_2}{x_1 - x_2} = \frac{3 + 4}{8 - 7} = 7\]\[P = \frac{x_1 e_2 + x_2 e_1}{e_1 + e_2} \times n = \frac{8 \times 4 + 7 \times 3}{7} \times 7 = \frac{32 + 21}{7} \times 7 = 53\]

为什么这是线性插值:

设 \(f(x) = nx - P\)(每人出 \(x\) 钱时的总收支,正为盈,负为亏)。

  • \(f(8) = +3\)(盈 3)
  • \(f(7) = -4\)(亏 4)

我们要找 \(x^*\) 使得 \(f(x^*) = 0\)(恰好够钱):

\[x^* = \frac{x_1 \cdot |f(x_2)| + x_2 \cdot |f(x_1)|}{|f(x_1)| + |f(x_2)|} = \frac{8 \times 4 + 7 \times 3}{3 + 4} = \frac{53}{7}\]

这正是在 \(x_1 = 8\) 和 \(x_2 = 7\) 之间做线性插值,权重由各自的"误差"(盈亏量)决定。

这种双假设法在欧洲被称为"double false position"(双假位法),见于 12—16 世纪的欧洲代数书(斐波那契 1202 年《计算之书》等),比《九章》晚了约 1400 年。

为什么叫"盈不足",而不是叫"比例"或"插值"? 这是一个起名选择。“盈”(多余)和"不足"(缺少)是中国商业语境里最直觉的描述——拿了太多,或者没拿够。《九章算术》命名章节的方式,通常用最典型的应用场景来命名,而不是用数学抽象来命名。粟米章叫"粟米",方程章叫"方程",盈不足章叫"盈不足"——这种命名方式告诉你,这部书的目标读者是应用者,不是理论家。

盈不足章的一道有趣的"复合题": 方程章和盈不足章之间有一个有趣的关系——有些看似盈不足的问题,实际上是伪装成盈不足的方程组问题。例如,同时知道"鸡兔同笼"的总头数和总脚数,用盈不足的框架来解,和用方程组来解,步骤不同,结果相同。《九章》的盈不足章专门包含了这类"复合型"问题,表明编者有意识地把两套工具放在一起让读者比较。

与古埃及的传承? 古埃及的莱因德纸草书(约前 1650 年)有单假设法(false position)——猜一个值,根据偏差按比例修正。但单假设法只适用于线性方程,而且需要方程有特定的结构。《九章》的双假设法是单假设法的升级:两次猜值,线性插值,适用范围更广。有学者认为这两种方法有传承关系,但目前还是假说,没有直接证据。

盈不足章的算法结构: 《中国数学史大系》梳理了盈不足章的题型分类:盈与不足、盈与盈、不足与不足、盈与适足、不足与适足。这五种情形覆盖了双假设插值的全部可能性,说明编者对这个算法的边界情形做过系统思考。数学不只是解题,还有对"解题工具的边界"的探索——这是更高层次的思考。

勾股章:《九章》压轴,也是最晚加入的一章

先说一件事:勾股章是《九章算术》九章中最晚加入的。

这是研究者从内容和史料分析得出的结论。《九章》前几章的材料,可以追溯到战国甚至更早;商功章和均输章大量反映汉武帝时期的制度;而勾股章的风格和前八章有明显不同——它更抽象,更少有直接的经济行政背景,题目中有一些是"人造"的,明显是为了让书的内容完整而补充进去的。

最终完成这一章的,很可能是刘歆(约前 50 年—公元 23 年),他在整理分类数学题简时,认为《周髀算经》里的勾股内容足够重要,应该进入《九章》,于是把它作为压轴的第九章纳入。

所以,当你学勾股章时,你读的是整部书里数学最纯粹、最脱离具体事务、最接近"为了知识而知识"的那一章。

勾股容方与容圆:几何优雅的微型杰作

勾股定理在《九章》里是怎么用的?

在讲容方容圆之前,先说勾股定理本身在《九章》里的地位。《九章算术》勾股章第一题就直接用了勾股定理,原文"术曰:勾股各自乘,并而开方除之,即弦"——这是勾股定理的直接应用,没有证明。

这个定理的证明在哪里?在更早的《周髀算经》里,赵君卿(东汉末年数学家)给出了著名的"弦图证明"——用四个相同的直角三角形拼成一个正方形,通过面积分解证明 \(a^2 + b^2 = c^2\)。这个证明被称为"无字证明"(proof without words),在今天的数学课堂上仍然是介绍勾股定理最优雅的方式之一。

《九章》自己的勾股章没有给出证明,但刘徽在注里引用了类似的图形论证——“勾股相乘为朱方,倍之为弦方之实”——这是一种出入相补的面积论证,和赵君卿的弦图殊途同归。

勾股容方:直角三角形的内接正方形

在直角三角形(勾 \(a\),股 \(b\),弦 \(c\))内接一个最大正方形,求正方形边长 \(s\)。

设正方形边长为 \(s\),两个小三角形加上正方形面积等于原三角形面积:

\[\frac{1}{2} a \cdot s + \frac{1}{2} b \cdot s = \frac{1}{2} ab\]\[s(a+b) = ab \implies \boxed{s = \frac{ab}{a+b}}\]

取 \(a = 3, b = 4\)(勾三股四):

\[s = \frac{3 \times 4}{3 + 4} = \frac{12}{7} \approx 1.714\]

勾股容圆:直角三角形的内切圆

同一直角三角形的内切圆半径 \(r\):

\[\boxed{r = \frac{a + b - c}{2}}\]

推导:

三角形面积 \(= r \cdot s\)(其中 \(s\) 是半周长),同时面积 \(= \frac{1}{2}ab\),半周长 \(s = \frac{a+b+c}{2}\):

\[\frac{1}{2}ab = r \cdot \frac{a+b+c}{2} \implies r = \frac{ab}{a+b+c}\]

注意到勾股定理:\((a+b-c)(a+b+c) = a^2+2ab+b^2-c^2 = 2ab\):

\[r = \frac{ab}{a+b+c} = \frac{ab \cdot (a+b-c)}{(a+b+c)(a+b-c)} = \frac{ab(a+b-c)}{2ab} = \frac{a+b-c}{2}\]

取 \(a=3, b=4, c=5\):

\[r = \frac{3 + 4 - 5}{2} = \frac{2}{2} = 1\]

验证: 内切圆半径为 1,圆心在 \((1,1)\)(直角在原点),确实与三边均相距 1 单位。✓

勾股容方(左)与容圆(右):直角三角形勾 3 股 4 弦 5;容方边长 12/7,容圆半径 1

为什么这两道题这么优雅? 容方公式 \(s = \frac{ab}{a+b}\) 是调和平均数的变体:\(\frac{1}{s} = \frac{1}{a} + \frac{1}{b}\)。容圆公式 \(r = \frac{a+b-c}{2}\) 则是半周长和弦之差的一半。两个公式都有一种内在的对称美。

勾股定理和这两个推论,构成了《九章》最"数学"的内容——没有税务背景,没有粮仓背景,纯粹的几何问题,纯粹的美。

延伸:勾股数的系统生成

勾股章还有题目涉及"勾股数"(整数解的勾股三角形)。《九章》知道 (3,4,5)、(5,12,13) 等具体例子,但没有给出一般性的生成公式。古希腊毕达哥拉斯学派发现了生成公式 \((m^2-n^2, 2mn, m^2+n^2)\)(\(m > n\) 且互质、奇偶性不同)。印度数学家在更早的《绳法经》(约前 800 年)里也有类似的表格。《九章》在这个方向上没有进一步探索,可能是因为题目是"用勾股"而不是"研究勾股数的性质"——方向不同导致了深度不同。

勾股章最后的那道"有邑"测望题

勾股章第十八题是:“今有邑,东西七里,南北九里,各中开门。出东门十五里有木。问出南门几何步而见木?”

这是一道相似三角形的测量题,答案是"315 步"。这类题目是勾股章里"测量应用"的代表——用相似比和勾股关系,从已知的水平距离推算出观测角度和可见距离。

它的背后,是中国古代的"望远"技术:如何在不实际到达目标的情况下,通过几何推算知道目标有多远、有多高。这个方法论后来被刘徽发展成独立的一章——《海岛算经》,专门处理测望远处物体的问题。

海岛算经的第一题就是测量一座海岛的高度和距离,用两根标杆的视线差来推算。这是中国古代测绘学的数学基础,和希腊人用三角学测量天体的思路有相通之处,但用的工具(相似三角形而非三角函数)不同。

本章总结:三章合一,代数的形成

方程、盈不足、勾股——这三章加在一起,构成了《九章算术》最高层次的数学内容,用今天的语言可以这样概括:

  • 方程章: 线性代数(矩阵消元法、负数运算)
  • 盈不足章: 数值方法(双假设线性插值)
  • 勾股章: 几何代数(勾股定理的推论与应用)

三章之间有一个有意思的共同点:它们都是反问题的解法。正问题是"给你输入,让你算输出"(比如已知面积算形状),反问题是"给你输出,让你还原输入"(比如已知几个方程的结果,还原每种作物的产量)。反问题通常更难,也更接近现实中"从结果推原因"的推理需求。

方程章的消元法、盈不足章的双假设法、勾股章的相似三角推算——它们都是处理反问题的工具。《九章》把这三章放在书的最后,既是难度排序(确实更难),也是逻辑排序(从直接计算到反向推算)。

这不是偶然的编排,而是两千年前那些编者深思熟虑的选择。

一个让数学史家惊叹的横向比较:

数学内容《九章算术》(约前 200 年)西方同类工作领先时间
线性方程组消元方程章,系统消元高斯(1800 年代)~2000 年
负数运算规则方程章正负术婆罗摩笈多(628 年)~800 年
双假设插值法盈不足章斐波那契(1202 年)~1400 年
勾股定理的推论勾股章容方、容圆欧几里得同期(前 300 年)同期独立

这张表不是在说"中国比西方厉害"——历史不是这样的竞赛。它说的是:不同文明面对同类问题,发展出了深度相当的工具,但时间节点不同,路径不同,工具形式不同。理解这一点,是理解数学史的起点。

《九章算术》不是一本"古老的数学书",而是一部至今仍然活着的知识体系——它的算法思想,在现代计算机科学(高斯消元法)、数值方法(插值)、几何计算(勾股推论)里都有直接的延续。两千年后,它还在被人研究、被人翻译、被人教授。这本书,值得你认真对待。


Chapter 11: 均输与今有 — 复杂比例与运输分配

均输法的历史背景

公元前 110 年前后,汉武帝时期。大司农桑弘羊站在长安的殿堂上,面对的是帝国最棘手的财政问题之一:如何让北方边境的军粮供应运转起来,同时不让某些郡县的百姓因过重的运输负担而破产?

这不是一个道德问题,而是一个数学问题。

《盐铁论》记载桑弘羊的话:“边用度不足,故兴盐铁,设酒榷,置均输……均输则民齐劳逸。“均输法的核心理念是公平分摊:让距离远、物产丰的地方少出人力,距离近、物产少的地方多出人力,综合下来每户的实际负担相等。

这是一个多因素联合权重的分配问题。《九章算术》均输章收录了 28 道题,为各级官员提供了执行这套政策所需的全部计算工具。

均输术完整例题

原题改写(简化版):

甲、乙、丙三县,需要合计向京城运送粮食 600 石。已知:

  • 甲县:距京城 100 里,户数 10000 户
  • 乙县:距京城 200 里,户数 20000 户
  • 丙县:距京城 300 里,户数 30000 户

均输法规定:每县的"均输率”(负担系数)正比于户数 ÷ 距离(户多路近则系数大,负担重)。

计算均输率(“列衰”):

\[ \text{甲的衰} = \frac{10000}{100} = 100, \quad \text{乙的衰} = \frac{20000}{200} = 100, \quad \text{丙的衰} = \frac{30000}{300} = 100 \]

三县衰分相等,说明综合负担能力相同,应当平均分摊。

总衰 = 300,各县应运送粮食:各 200 石。

《九章》原题精神(卷六第一题精简):

今有甲、乙、丙三县,赋役共征 300 辆车。甲县户数 200 户,距离 8 天路程;乙县户数 300 户,距离 10 天路程;丙县户数 400 户,距离 12 天路程。问各县分摊几辆?

均输率:

\[ \text{甲的衰} = \frac{200}{8} = 25, \quad \text{乙的衰} = \frac{300}{10} = 30, \quad \text{丙的衰} = \frac{400}{12} = 33\frac{1}{3} \]

为避免分数,通分化整:乘以 12,衰分别为 300、360、400。

总衰 = 300 + 360 + 400 = 1060

各县分摊:

\[ \text{甲} = 300 \times \frac{300}{1060} \approx 85 \text{ 辆}, \quad \text{乙} = 300 \times \frac{360}{1060} \approx 102 \text{ 辆}, \quad \text{丙} = 300 \times \frac{400}{1060} \approx 113 \text{ 辆} \]

(实际运算中,《九章》使用精确分数,不取整。)

均输术算法原文

《九章算术》给出的均输术原文:

“今有均输,甲、乙、丙三县……令各以户数乘距离(实为积)为法,以合税数乘此积为实,实如法得一。”

翻译成现代语言:

  1. 对每个县,计算(户数 / 距离)→ 这是该县的负担系数(“衰”)
  2. 所有县的衰加总 → 总衰
  3. 每县的份额 = 总任务量 × (该县的衰 / 总衰)

这是一个标准的加权分配算法,权重由"户数/距离"决定。该算法可以推广到任意多县、任意多个权重因素(不只是户数和距离,还可以加入物产量、路况系数等)。

均输法的政治经济学

从数学史的角度看,均输章是《九章算术》中最能体现"数学直接服务于国家治理"的章节。汉武帝的均输法不是抽象的数学问题,而是每年必须执行的财政操作:各地太守收到中央下发的均输指令,按照这套算法计算本地的运输配额,然后分配给各乡、各户。

如果计算错误,会导致某些地方负担过重(民怨)或过轻(中央不满),这不是学术错误,而是政治事件。《九章算术》均输章中收录了大量这类实际配额计算,相当于一本行政计算手册,每个算题都对应一类现实场景。

这一点深刻地揭示了中国古代数学的本质:它不是由数学家在书斋中推导定理,而是在行政、工程、商业的实际需要中生长出来的。这种"与国家需求深度嵌套"的数学,有其独特的价值取向:有用高于优雅,算法高于证明,数值高于抽象。


今有术:三项比例法的完整算法

《九章算术》粟米章的核心工具是今有术。原文如下:

“今有术曰:以所有数乘所求率为实,以所有率为法,实如法而一。”

逐字翻译:以"已知的量"乘以"所求类别的比率”,作为被除数(实);以"已知类别的比率"作为除数(法);被除数除以除数,得到答案。

用现代数学语言表述:设已知量为 \(A\),已知类别的比率为 \(r_1\),所求类别的比率为 \(r_2\),则所求量 \(B\) 为:

\[ B = A \times \frac{r_2}{r_1} \]

这正是三项比例(rule of three):已知 \(r_1\) 单位对应 \(r_2\) 单位,求 \(A\) 单位对应多少单位?答案是 \(A \cdot r_2 / r_1\)。

具体例子(粟米章第一题):粟米之法规定,粟50份等于粝米30份。现有粟300石,问可得粝米几何?

\[ B = 300 \times \frac{30}{50} = 300 \times 0.6 = 180 \text{ 石} \]

“实”= \(300 \times 30 = 9000\),“法”= \(50\),\(9000 \div 50 = 180\) 石。这个算法可以机械地套用于任何比例换算,无需理解乘除的数学意义,只要知道两个比率和一个已知量,三个数字进去,一个结果出来。

今有术的本质是:在比例关系已知的前提下,任意两种量之间的换算都可以归结为同一套操作流程。这正是《九章算术》“以算为主"风格的典型体现——它不追问"为什么成正比”,只提供"如何计算"的算法模板。

今有术的多重应用场景

今有术的威力在于它的通用性:整部《九章算术》中有超过半数的章节要用到它,覆盖的场景包括:

粟米章(物品换算):粟、米、麦、豆各类粮食之间的比率互换,用今有术计算。“粟米之法"给出了粟与十余种粮食之间的标准比率,形成一张换算表,今有术是查表后完成计算的算法。

衰分章(按比例分配):如贵族按爵位不同领取不同数量的财物,今有术用于计算每人应得的份额。“今有贷人千钱,月息三十”——每月利息与本金的比率固定为 3%,今有术立刻给出任意本金的利息。

均输章(运输分配):每个县的均输率由户数和距离决定,今有术用于把总任务量按各县的率分配下去。

盈不足章(双假设法):虽然算法结构不同,但辅助计算中也用到比例换算。

从货币兑换到利息计算,从粮食折算到人力分配,今有术贯穿《九章》始终。李继闵称之为”《九章算术》的核心工具",这个判断并不夸张。它的中世纪阿拉伯名称是"三数法"(qā’idat al-khamsa),欧洲则叫"三项法则"(rule of three),直到16世纪仍是欧洲商业数学的基础算法。中国最迟在公元前2世纪就已系统使用它,比阿拉伯文献早了约800年。

折合税制与宋代"折变"

今有术的历史生命力体现在它跨越朝代的持续应用。宋代财政制度中有一种叫**“折变”**的做法:把纳税人应缴的实物税(如粮食、布匹)折算成货币,或把货币税折算成实物,折算时使用当时的市场价格比率。例如:

  • 应纳粟 \(A\) 石,折算成钱;粟的官定比率为每石值钱 \(r_1\) 文,货币单位钱与文之比率为 \(r_2\)
  • 实缴货币 \(B = A \cdot r_1 / r_2\)

这完全是今有术的直接应用。《宋会要》中大量的折变算例,结构上与《九章算术》粟米章的题目一模一样,只是换了具体的商品和货币。现代汇率换算(已知汇率,求等值外币金额)、量纲转换(已知换算系数,求不同单位下的数值)同样是今有术的当代形式,只是今天的学生通常称之为"比例计算",不知道它有两千年的历史。

均输术与运筹学:线性分配问题的前身

均输章收录的28道题,最复杂的是第21—28题的**“复均输”**,即多重比例分配问题。与简单均输(按两个因素分配)不同,复均输可以同时考虑三个或三个以上的权重因素。

从现代运筹学的角度看,均输问题是运输问题(transportation problem)的一个特例。标准运输问题的形式是:若干供应地各有已知供应量,若干需求地各有已知需求量,每条路线的单位运费已知,求使总运费最小的运输方案。《九章算术》的均输章没有"最小化"目标——汉代的均输法追求的是公平(均等负担),而非最优——但分配的结构与现代运输问题完全类似。

举均输章第6题(复合比例例子):

“今有均输粟:甲县一万户,行道八日;乙县九千五百户,行道十日;丙县一万二千三百五十户,行道十三日;丁县一万二千二百户,行道二十日。各到输所。凡输粟三百发,用车一万辆,欲以道里多少,户数多少,衰出之,问各县几何?”

计算步骤:

第一步,各县均输率(“衰”)= 户数 ÷ 行道日数:

\[ \text{甲} = \frac{10000}{8} = 1250, \quad \text{乙} = \frac{9500}{10} = 950, \quad \text{丙} = \frac{12350}{13} = 950, \quad \text{丁} = \frac{12200}{20} = 610 \]

第二步,总衰 = \(1250 + 950 + 950 + 610 = 3760\)

第三步,各县应出车辆(总任务10000辆按衰分配):

\[ \text{甲} = 10000 \times \frac{1250}{3760} \approx 3324 \text{ 辆}, \quad \text{乙、丙各} \approx 2526 \text{ 辆}, \quad \text{丁} \approx 1622 \text{ 辆} \]

(实际计算使用精确分数,不取整。)

《九章算术》的原算法用"列衰"(写出各县衰分)、“副并为法”(求总衰)、“以所分乘未并者各自为实”(各衰乘总任务量)、“实如法得一”(除以总衰)四步完成,是今有术在多个对象上的推广。这套框架比线性规划早约2150年,是人类有记录的最早系统性多方案分配算法之一。

均输术的现代回声:运输优化问题

均输问题在数学史上有一个有意思的长尾效应:20世纪运筹学的"运输问题"(Transportation Problem)在结构上与均输术高度相似。

运输问题的标准形式是:有 \(m\) 个供给地,各有已知供给量 \(s_i\);有 \(n\) 个需求地,各有已知需求量 \(d_j\);单位运费 \(c_{ij}\) 已知;求使总运费最小的运量分配方案 \(x_{ij}\)。

\[ \min \sum_{i=1}^{m}\sum_{j=1}^{n} c_{ij} x_{ij}, \quad \text{s.t.} \quad \sum_j x_{ij} = s_i, \quad \sum_i x_{ij} = d_j, \quad x_{ij} \geq 0 \]

《九章》均输章的问题没有最优化目标,它只要求"公平分摊"——按照人口、距离、粮食价格等多重因素,算出每个郡县应当承担的运输量。这是约束满足,而不是目标优化。但它的变量结构——多个供给地、多个需求地、已知的换算率——与现代运输问题完全同构。

差别在于目标:《九章》要公平,运筹学要最优。这一目标的转变,反映了两个时代对"好的分配方案"的不同理解——前者关心的是政治上的可接受性,后者关心的是经济效率的极大化。

康托罗维奇(Leonid Kantorovich)在1939年用线性规划方法系统化处理运输问题,他因此获得1975年诺贝尔经济学奖。从《九章》均输章到康托罗维奇,两千年的跨度,相同的问题结构,但解决问题的数学工具和目标函数发生了根本性的变化。这条线索是理解数学应用与社会需求之间关系的绝佳案例。

今有术:中国数学的通用比例引擎

说了这么多均输,现在我们来看今有术(rule of three)本身——因为今有术不只是粟米章的工具,它是整部《九章算术》运转的底层引擎。

今有术的数学结构非常简单,简单到你可能会低估它:

\[ B = A \times \frac{r_2}{r_1} \]

其中 \(A\) 是已知量,\(r_1\) 是已知量对应的比率,\(r_2\) 是所求量对应的比率,\(B\) 是所求量。《九章算术》的原文表述是:“以所有数乘所求率为实,以所有率为法,实如法而一。”

就这一行字,处理了整部《九章》里超过一半问题的计算核心。

让我们看几个完全不同领域的应用,体会一下今有术的威力:

场景一:粮食换算(粟米章第1题)

粟与粝米的换算率是 \(50:30\),即 \(r_1 = 50, r_2 = 30\)。有粟 \(A = 300\) 石,问可换粝米多少?

\[ B = 300 \times \frac{30}{50} = 180 \text{ 石} \]

场景二:货币利息(衰分章相关题型)

月利率为 3%,即本金 100 钱一月生息 3 钱,所以 \(r_1 = 100, r_2 = 3\)。本金 \(A = 750\) 钱,问一月利息多少?

\[ B = 750 \times \frac{3}{100} = 22.5 \text{ 钱} \]

场景三:工程用料(商功章相关题型)

筑某种城墙,每立方尺用砖 \(r_1\) 块对应工程量 \(r_2\)(具体比率由工程标准给定)。已知需要完成的工程量 \(A\),则所需砖数 \(B = A \times r_2/r_1\)。

三个场景,三种完全不同的社会功能,但都是同一套操作。这就是为什么今有术如此重要——它是一个语义上无比丰富、但操作上极为简洁的通用模板。

现代中学里的"比例应用题",本质上就是今有术。每当你写出"设 \(x\) 为所求量,则 \(\frac{x}{B} = \frac{r_2}{r_1}\)",你在做的事情,和汉代官员拿起算筹说"以所有数乘所求率为实",在数学上是完全等价的——只是语言形式不同。

今有术的代数身份:三项比例与线性映射

从现代数学的眼光看,今有术是一个线性映射:

\[ f: A \mapsto B = kA, \quad k = \frac{r_2}{r_1} \]

其中 \(k\) 是固定的换算系数,由两个比率决定。这个映射有三个基本性质:它是线性的(\(f(A_1 + A_2) = f(A_1) + f(A_2)\))、齐次的(\(f(cA) = cf(A)\))、可逆的(已知 \(B\),可以反推 \(A = B \cdot r_1 / r_2\))。

这三个性质,决定了今有术可以双向使用,可以在任意多步骤中串联,可以处理任意精度的比率——这就是它能作为"通用引擎"的数学原因。

《九章算术》并没有用"线性映射"这样的语言来描述今有术——那是19世纪以后才有的概念框架。但《九章》的整理者通过大量具体的应用例题,展示了今有术在不同场景下的行为,相当于从"外延"而不是"内涵"的方式定义了这个概念:我给你看一百道题,全部用同一套方法,你自然就知道这套方法是什么了。

这种"外延定义法"与欧几里得"给出公理再推导定理"的方式形成鲜明对比,是中国数学认识论风格的典型体现。

均输中的衰分:三个权重因素的联合处理

均输章最有趣的数学之处,在于它对多重权重因素的联合处理方式。

最简单的均输问题,只有两个因素:户数(正比于负担能力)和距离(反比于负担能力)。“均输率”= 户数 ÷ 距离,体现的是"近的多出、远的少出"的公平原则。

但均输章里的题目很快变得更复杂——第9题以后开始出现三个以上的权重因素,比如同时考虑户数、距离、粮价(道路条件不同,运一斗粮食的成本不同):

今有均输粟,各县户数、距离、本地粮价均已知,问如何分配使得各县"均输之力"相等?

所谓"均输之力"相等,是一个精妙的多因素公平准则:各县承担的任务量,要与该县的综合"支付能力"(由户数、距离、粮价共同决定)成正比。

处理这类问题,需要把多个因素先通过今有术逐步换算,折合到统一的"衰"(权重系数)上,然后再做衰分。这个过程,在现代数学里叫做"多属性决策"(multi-criteria decision making)——当然,《九章》的整理者不会这么叫,但他们已经在解决同一类问题了。

均输章第6题(四县联合均输)就是一个三因素的例子,前面已经算过了。核心思路是:先用今有术把每个县的"户数"除以"距离",得到基础衰分;如果还有粮价差异,再用今有术把基础衰分乘以粮价比率,得到最终的综合衰分;然后做加权分配。

这个"多步今有术串联"的处理方式,是均输章的真正数学精华——它展示了今有术不只是一个孤立的工具,而是可以嵌套和串联,处理任意复杂度的比例问题。

汉代徭役制度:数学背后的历史场景

要真正理解均输章,需要对汉代的徭役制度有一些感性认识。

汉代规定,成年男性(23—56岁)每年必须为国家服劳役一个月,叫"更赋"。如果国家需要大规模征发劳力(修长城、建皇陵、运粮食),会超出更赋,以额外征发为补充。这种额外征发,理论上要"均输"——也就是按各地的综合情况公平分摊。

想象一个汉代基层官员,他手上有几个县的户籍名单(户数)和距运粮目的地的里程(距离),要把今年的运粮任务分摊下去。如果他乱分,某个县可能把青壮年男劳力全部抽走,影响农业生产,或者引发民怨和逃亡;如果他合理分摊,各县都能在维持基本生产的同时,完成运输任务。

《九章算术》均输章的那些算题,就是帮助这个官员计算"合理分摊"的工具书。每一道题都对应一类现实场景:两县分摊、三县分摊、四县分摊、加上道路条件的三因素分摊……覆盖了绝大多数实际工作中会遇到的情形。

这就是中国古代数学最显著的特质:它是为了让官僚机器能够运转而存在的,它的复杂度与帝国治理的复杂度同步增长。均输章不是某个数学家在书斋里的智力游戏,它是帝国行政软件的核心模块。

今有术的长尾:从汉代到文艺复兴

今有术的历史生命力,远超中国本土。

印度的三率法(trairāśika): 印度数学家阿耶波多(Aryabhata,499年)和婆罗摩笈多(Brahmagupta,628年)的著作中,都有与今有术完全对应的算法,称为"三率法"(trairāśika,意为"三量之术")。三率法的操作步骤与今有术一模一样:已知三个量(一个已知量和两个比率),求第四个量。这种相似度如此之高,学界有人推测存在通过中亚丝绸之路的传播,但直接文献证据尚未找到。

阿拉伯的五数法(qāʿidat al-khamsa): 中世纪阿拉伯数学中,把同样的算法叫做"五数法"或"三数法",意指"三个已知量推出第四个量"。花拉子米(al-Khwārizmī,约820年)的代数书中描述了这套方法,并指出它来自印度传统。这条传播链——中国→印度→阿拉伯——如果成立,意味着今有术通过伊斯兰数学最终影响了中世纪欧洲。

欧洲的三项法则(Rule of Three): 13世纪斐波那契(Fibonacci)的《计算之书》(Liber Abaci,1202年)中,详细介绍了"三项法则"(regola del tre),其操作步骤与今有术完全一致。斐波那契明确承认,他的数学知识主要来自对阿拉伯数学的学习。这条传播链,把今有术的影响延伸到了欧洲商业数学的核心。

14至16世纪欧洲的"商业数学"(commercial arithmetic)课本,如帕乔利(Luca Pacioli)的《算术、几何、比例》(Summa de arithmetica,1494年),把三项法则列为"商人最重要的计算工具"。这本书同时记录了复式记账法的基础——而复式记账法中大量的货币换算、利率计算、商品折价,全都依赖三项法则(今有术)来执行。

从汉代长安的算题竹简,到佛罗伦萨商人的账本,今有术走了将近两千年。这条路线上是否有直接的文献联系,学界还在争论;但如果这条传播链是真实的,那么《九章算术》对欧洲商业数学的影响(尽管是间接的、多次转手的),可能远比我们通常认为的更深。


Chapter 12: 九章的世界回响

平行时间线:中西方数学成就对比

你可能会觉得,前面列举的那些"中国比西方早多少年"的故事,有些夸大。那么让我们看一张表,让数字说话:

数学成就中国最早记录中国代表文献西方/印度/阿拉伯最早记录西方代表文献
系统十进制约前 1600 年商代甲骨文约 13 世纪传入欧洲阿拉伯数码传播
负数使用约前 200 年《九章·方程》约 628 年婆罗摩笈多《婆罗门正理历书》
高斯消元法约前 200 年《九章·方程》1801 年正式系统化高斯《算术研究》
双假位法(盈不足)约前 200 年《九章·盈不足》约 1202 年斐波那契《计算之书》
连分数逼近历法约前 50 年刘歆《三统历》约 3 世纪丢番图等
贾宪三角(帕斯卡三角)约 1050 年贾宪(已失传,杨辉引)1654 年帕斯卡
增乘开方法(霍纳法)约 1050 年贾宪《黄帝九章算法》1819 年霍纳(Horner)
天元术(一元方程)约 1248 年李冶《测圆海镜》约 9 世纪花拉子米《代数》
中国剩余定理约 4 世纪《孙子算经》1801 年高斯《算术研究》
\(\pi\) 精确到 7 位480 年祖冲之约 1424 年阿尔·卡西
行列式1683 年关孝和(日本和算)1693 年莱布尼茨

这张表格有几处需要特别说明:

关于贾宪三角(“帕斯卡三角”): 北宋数学家贾宪(活跃于 11 世纪)在《黄帝九章算法细草》(已失传,由杨辉《详解九章算法》引用)中记载了"开方作法本源"图,即二项式系数的三角形排列。南宋杨辉(1261 年)明确记录:“贾宪用此术”。帕斯卡的《论算术三角形》发表于 1654 年,比贾宪晚了约 600 年。

关于霍纳法(增乘开方): 贾宪还发明了用于高次方程数值求根的"增乘开方法",其算法结构与英国数学家霍纳(Horner)1819 年发表的方法完全等价。两者之间没有传播关系的证据,是独立发现。

关于行列式: 日本数学家关孝和(1683 年)在研究联立方程时独立发现了行列式的概念,比莱布尼茨早 10 年——这是《九章算术》方程章数学传统在日本和算中结出的硕果。

李善兰恒等式:世界一流的独立成就

清代数学家李善兰(1811—1882 年)是晚清最重要的数学家,他研究有限差分和组合数学时,独立证明了一个非常漂亮的组合恒等式:

\[ \sum_{k=0}^{r} \binom{n}{k} \binom{m}{r-k} = \binom{m+n}{r} \]

等等,这是范德蒙恒等式(Vandermonde identity),更早。李善兰证明的是:

\[ \sum_{k=0}^{r} \binom{n+k}{k}^2 = \binom{n+r+1}{r} \cdot \binom{n+r+1}{r+1} / (n+1) \]

(李善兰恒等式的精确表述因版本而异,这里给出其核心精神。)

李善兰的方法是中国传统"垛积术"(有限差分求和法)的延伸,思路与欧洲组合数学截然不同,是地道的中国传统数学路径通向世界一流成果的典型案例。

为什么西方学者长期忽视中国数学

20 世纪之前,西方数学史著作几乎完全忽略了中国数学,将世界数学史描述为"从希腊出发,经阿拉伯,到欧洲文艺复兴"的一条直线。这种偏见有几个互相强化的原因:

语言障碍: 要研究《九章算术》,必须能读古汉语,并理解算筹体系。19 世纪以前,几乎没有欧洲数学家同时具备这两种能力。即使在 20 世纪,能流利阅读《九章》原文的西方数学史家也是凤毛麟角。

“算法=应用,不算纯数学"的偏见: 欧洲数学传统以"定理+证明"为核心(欧几里得传统),而中国数学以"算法+例题"为核心。在欧洲人眼里,没有抽象证明的数学看起来只是"实用技巧”,不算正式的"数学"——这种评价标准本身就是欧洲中心主义的产物。

传教士的误导: 明末清初来华的耶稣会传教士(如利玛窦、汤若望)带来了欧洲数学,同时也带来了"西方数学优越"的预设。在他们的叙述框架下,中国传统数学被定性为"落后的算术",需要被西方科学"拯救"。这一叙事主导了清代以后很长一段时间对中国传统数学的评价。

结构性忽视: 20 世纪以前,即使严肃的数学史家,也往往在"东方数学"一章里用几页提及中国,然后迅速转向印度和阿拉伯——因为印度数学(零、负数、三角函数)与阿拉伯数学(代数符号、方程求解)更直接影响了欧洲数学的发展。

转折点: 1955 年,英国汉学家李约瑟(Joseph Needham)《中国科学技术史》第三卷(数学)出版,系统介绍了中国数学成就,震动了西方学界。1984 年,法国数学史家马鲁索(Jean-Claude Martzloff)出版《中国数学史》(法文版,1997 年英译),对《九章算术》给出了专业级别的数学分析。自此,中国数学在国际数学史界获得了应有的重视。

《九章算术》的外文译本

《九章算术》在 20 世纪陆续被译成多种外国语言,这一系列翻译工程本身就是中国数学走向国际学术视野的标志性事件。

俄文译本(1957年): 苏联数学史家别列斯金娜(Е. И. Березкина,Berezkina)完成了《九章算术》的俄文全译,附有详尽的注释和历史分析,刊载于苏联科学史学报。别列斯金娜对算术、几何、代数各章均有技术性的数学评注,是第一部让欧洲读者能以自己母语阅读九章原文的完整译作。

德文译本(1968年): 德国数学史家沃格尔(Kurt Vogel)完成了《九章算术》的德文全译,同样配有大量学术注释,由布伦瑞克出版社(Vieweg)出版。Vogel 的译本对西德乃至整个德语学术圈研究中国数学发挥了重要作用,他在注释中对方程章的高斯消元与中国算法做了专门的技术比较。

日文研究与译本: 三上义夫(Mikami Yoshio,1875—1950)是二十世纪最早系统研究中国数学的东亚学者之一,著有《中国与日本的数学发展》(1913年英文版),是最早向西方学界系统介绍中国数学的日文学者背景学术著作。日本学者对《九章算术》亦有系统校注,川原秀城等人的成果构成现代日本汉籍数学史研究的重要积累。

英文译本: 数学教育学家斯韦兹(Frank Swetz)与钱宝琮合作编写了《九章算术的数学》(Was Pythagoras Chinese? An examination of right triangle theory in ancient China,1977年),以专题形式向英语读者介绍《九章算术》的勾股内容。法国汉学家及数学史家林力娜(Karine Chemla)与郭书春合著的《九章》法英注释版(Les Neuf Chapitres,2004年法文版)是迄今最完整的西方学术译注本,以双栏对照形式呈现原文、刘徽注、李淳风注,并对每道题的算法给出现代数学分析。这部译著将《九章算术》研究推向了国际数学史学界的最前沿。

这些译作的陆续问世,扭转了《九章算术》在西方长期处于"只能读二手介绍"状态的局面。一部古汉语的算学经典,经过两千年,终于有了自己的俄文、德文、日文、英文面貌——这本身就是一个关于知识传播与世界数学多元化的精彩故事。

与世界数学的深层对比

与古埃及(《莱因德纸草书》约前 1650 年):

相似之处:两者都有面积计算、谷物换算,都以应用题为主。

关键差异:埃及使用"单位分数"(所有分数必须写成 \(\frac{1}{n}\) 的和,如 \(\frac{2}{3} = \frac{1}{2} + \frac{1}{6}\)),运算极为繁琐;中国使用一般分数并有系统化简算法,灵活性远超埃及。埃及没有位值制,无法方便地表示大数;中国算筹体系处理大数毫无障碍。

与古巴比伦(Plimpton 322 等泥板,约前 2000—前 1700 年):

巴比伦数学在勾股数(前 1800 年已有 15 组精确整数解)、二次方程方面比中国更早。但巴比伦数学传统在前 4 世纪随楔形文字系统的衰落而中断,没有留下持续的传承线索。

与希腊(欧几里得《几何原本》约前 300 年):

这是最深刻的文明对比。希腊数学以定理为核心:从公理出发,用逻辑演绎证明定理,数学的价值在于"真"。中国数学以算法为核心:从具体应用出发,给出解题步骤(“术”),强调"有用",数学的价值在于"效"。

这不是孰优孰劣,而是两种不同的智识传统。欧几里得不关心三角形面积的计算方法,他关心的是"全等三角形定理"的演绎证明;刘徽给出严格的几何论证,但论证的目标是"这个面积公式是对的",而不是建立公理体系。

吴文俊院士在 20 世纪末提出的"数学机械化"理论,正是将中国传统的算法思维(构造性、可机械执行)与现代计算机科学相结合,创造出一套用于几何定理证明的算法体系——这是中国传统数学精神在现代数学中焕发新生的最好案例。

与印度(阿耶波多《阿耶波多文集》499 年):

印度数学家阿耶波多书中的"三率法"(trairāśika,三量法)与《九章》“今有术"在结构上完全一致:已知比率和一个量,求另一个量。如此之高的相似度,使部分学者认为存在通过丝绸之路的传播。可能路径:汉代商业数学经中亚传入印度,再经印度传入阿拉伯,阿拉伯数学(花拉子米的《代数》,约 820 年)再传入中世纪欧洲——如果这条传播链成立,中国数学对欧洲代数的影响(虽然是间接的)可能远超过去的认知。

东亚的直接影响

《九章算术》对朝鲜、越南、日本的影响是有文献记录的直接传播,而不仅仅是平行发展。

日本和算:

奈良时代(8 世纪),日本仿唐代制度建立"算道”,《九章算术》成为核心教材。江户时代(1603—1868 年)发展出和算,其题材和算法框架几乎全部脱胎于《九章》:方田(面积)、商功(体积)、方程(联立方程组)、勾股(几何测量)。

和算的"遗题继承"制度(前人在神社木牌上出题,后人作答后再出更难的题,称"算额")使得竞争性数学探索持续了两百年,培育了和算在锁国期间的繁荣。最终,关孝和(1642—1708 年)在 1683 年发现行列式,他的学生建部贤弘(1664—1739 年)将 \(\pi\) 计算到小数点后 41 位——这些成就在没有西方影响的条件下,完全从中国数学传统出发独立发展而来。

朝鲜算学:

高丽和朝鲜王朝都以《九章算术》为官方数学教材(科举算学科的核心),形成了朝鲜自己的数学传统,代表人物包括崔锡鼎(1646—1715 年)等。

越南算学:

越南历史上曾多次以中国数学典籍为官方教材,数学文化与中国高度同步。

最后的问题

这门课从一枚两万八千年前的刻骨讲起,到日本锁国时代一个人在神社木牌上算出的 \(\pi\),跨越了将近三万年的时间。

在这整段历史里,我们看到的是什么?

我们看到的是:同样的数学结果,在相互隔绝的文明中反复出现。高斯消元法,中国在前 200 年,高斯在 1801 年,相差 2000 年,没有传播关系。帕斯卡三角,贾宪在 1050 年,帕斯卡在 1654 年,相差 600 年,也没有传播关系。十二平均律,朱载堉在 1584 年,梅森在 1636 年,相差 52 年,同样没有传播关系。

这说明什么?

一种解释是:数学是普遍的。人类只要面对足够相似的问题——测量土地、计算税赋、调律音乐——就会独立发现相似的解决方案。数学不是某个文明的发明,而是人类理性面对数量关系时的必然产物。

另一种解释更谦虚:我们还不够了解这些传播路径。丝绸之路上流动的不只是丝绸,还有商人的账本、占星师的表格、医生的计算方法。也许贾宪三角和帕斯卡三角之间有一条我们尚未追溯到的联系。也许中国数学对伊斯兰代数的影响比我们认为的更深。

这两种解释都有道理,而且可能都同时是真的。数学既是普遍的,又是有历史的。它既是人类共同的创造,又在每一个文明中留下了那个文明独特的印记。

《九章算术》的印记是什么?它是算法而非公理,是程序而非定理,是服务于治理的知识而非追求真理的哲学。它在十个世纪里教会了无数官员、工匠、商人如何计算——而它的某些算法,比发现它们的欧洲人早了整整两千年。

这是值得知道的。

埃及《莱因德纸草》:单位分数的世界

公元前1650年的埃及,一位书吏名叫阿赫莫斯(Ahmose)正在抄写一批数学题——这就是今天我们称为《莱因德纸草书》的文献,全称"收集进入事物知识的精确说明"(原文如此,埃及书吏喜欢华丽的标题),今藏大英博物馆。

纸草书包含85道题,涵盖分数计算、面积、体积、比例和一次方程。乍看之下,与《九章算术》高度相似:都是应用题,都有"术文"(算法说明),都关注粮食、土地、建筑。但仔细看,有一个根本性的差异——埃及人处理分数的方式完全不同。

埃及人只使用"单位分数"(unit fraction),即分子为1的分数。任何分数都必须分解成若干单位分数之和。例如:

\[ \frac{2}{7} = \frac{1}{4} + \frac{1}{28} \]\[ \frac{2}{15} = \frac{1}{10} + \frac{1}{30} \]

这种分解并不唯一——\(\frac{2}{7}\) 还可以写成 \(\frac{1}{8} + \frac{1}{56}\),或者 \(\frac{1}{14} + \frac{1}{14}\)(但埃及人不允许同一个分母出现两次)。莱因德纸草书用了整整一大段篇幅,给出 \(\frac{2}{n}\)(\(5 \leq n \leq 101\),\(n\) 为奇数)的单位分数分解表。这相当于一张"工具表"——书吏在做计算时直接查表,而不是临时推导分解方法。

单位分数系统的问题是显而易见的:加法运算极为繁琐。要把 \(\frac{2}{7}\) 和 \(\frac{2}{15}\) 相加,你需要先把两者都分解,然后找公分母,把各分量通分——步骤之多,比中国的直接通分法繁琐数倍。

《九章算术》的分数系统已经非常接近现代:分数用"子(分子)/母(分母)“表示,约分用"更相减损”(辗转相减),通分用"母相乘",加减乘除都有系统算法。处理分数的整体效率,比埃及单位分数系统高出不止一个量级。

但有一点埃及算学并不"落后":埃及纸草书里有一个等价于"单假设法"(false position)的方法——先猜一个方便计算的假设值,算出与目标的偏差,然后按比例修正。这正是《九章》“盈不足"章的前身。两个文明独立发展出了相同的解题策略,只是形式稍有不同。

巴比伦泥版:世界上最早的代数题

普林顿322号泥版(Plimpton 322,今藏哥伦比亚大学),年代约公元前1800年,是世界数学史上最令人惊叹的文物之一。泥版上用楔形文字(六十进制)刻着15行数字,每行三个数,全部是勾股数(满足 \(a^2 + b^2 = c^2\) 的整数组),且都是两位数乘积的规律生成,说明巴比伦人不只是碰巧发现了几个勾股数,而是系统掌握了勾股数的生成方法。

巴比伦数学的另一个惊人成就是处理二次方程。耶鲁巴比伦藏品中的YBC 6967泥版,有这样一道题:

“一个数加上它的倒数等于某值,求这个数。”

这等价于解 \(x + \frac{1}{x} = b\),即 \(x^2 - bx + 1 = 0\)。巴比伦的解法是配方法:令 \(x = t + \frac{b}{2}\),则 \(t^2 = \left(\frac{b}{2}\right)^2 - 1\),从而 \(t = \sqrt{\left(\frac{b}{2}\right)^2 - 1}\),再还原 \(x\)。这是完整的二次方程配方解法,早于中国同等内容约一千五百年。

然而,巴比伦数学有一个根本性的局限:高度个案化。每道题都是针对特定数值的特设解法,没有出现过"设未知量为何,按以下步骤计算"的通用算法描述。《九章算术》方程章的增广矩阵消元法,是真正的通用算法——它对任意个未知数的线性方程组都适用,这是巴比伦数学没有达到的层次。

还有一点:巴比伦数学传统在公元前4世纪随着楔形文字系统的逐渐衰落而中断,没有持续的传承。《九章算术》的传统则延续了两千年,这不只是运气,而是制度(科举算学)和文化(注释传统)共同保护的结果。

希腊《几何原本》:证明驱动的数学传统

公元前300年前后,亚历山大城,欧几里得(Euclid)写下了《几何原本》(Elements)。这部书与《九章算术》之间的对比,是整个数学史上最耐人寻味的文明对话。

两书大约同时代,都是各自数学传统的集大成者,都对后世产生了深远影响。但它们的内在逻辑是截然相反的:

《几何原本》从五条公理出发,用逻辑演绎推导出465个命题。它对数学对象的处理方式是:先定义(圆是以某点为中心、以某定长为半径的图形),然后证明它具有某些性质(圆的直径将圆分成相等的两半)。数学的价值在于"这是真的,我能证明”。

《九章算术》从具体的应用题出发,给出解题的算法步骤(“术”),然后让算法的正确性通过大量例题来验证。数学的价值在于"这个方法能解决实际问题"。

这种对比不能简单地用"证明 vs 算法"来概括,因为那会误解双方。刘徽的注释(263年)给《九章》的每个算法提供了严格的论证——他不是不懂得证明,而是在不同的数学传统里提供了不同形式的论证。希腊数学的"证明"是从公理演绎,刘徽的"证明"是通过几何直觉和割补原理进行,两者都是严格的,只是论证风格不同。

更深层的差异在于数学的目标:欧几里得要建立一个完整的公理体系,从中推导出所有可知的几何真理;《九章》的整理者要为行政官员和工程师提供一套可操作的计算工具。两个目标催生了两种截然不同的数学文化。

用中国数学史家吴文俊院士的话说:两种传统"各有千秋,各有所长,互相补充,共同构成人类数学知识的完整图景"。西方数学史长期把希腊传统视为"正统",把中国传统视为"不够严格"——这是欧洲中心主义的偏见,而不是客观的数学史判断。

印度数学:三率法、负数与零

印度最早的数学文献是《绳法经》(Sulbasutras,约公元前800—200年),为建造祭坛而写,包含勾股定理的陈述和圆方面积互化的近似。但印度数学真正蓬勃发展,是在公元5世纪以后的天文学背景下。

阿耶波多(Aryabhata,499年)的《阿耶波多文集》中有一章专门讲数学,包含三率法(trairāśika)——与《九章》今有术完全对应,操作步骤一致,学界普遍认为有可能存在通过中亚的传播联系。

婆罗摩笈多(Brahmagupta,628年)是正负数运算规则的第一个系统表述者(“正负互消”、“负负得正”),这比《九章》方程章对负数的使用(约前200年)晚了将近八百年,但婆罗摩笈多是第一个把这些规则写清楚、说明白的人,这个贡献是独立的。他也给出了零的运算规则,这是印度数学对人类数学的一大贡献——中国数学史上的"零"概念隐含在算筹体系中(空位即零),但从未被明确地作为运算对象加以讨论。

印度数学还有一个中国没有的重要方向:三角函数。阿耶波多的正弦表(jya)是世界上已知最早的三角函数表之一。这个方向在中国数学中几乎付之阙如——中国天文学是通过内插法处理角度问题,不通过三角函数。

从比较角度看,印度数学和中国数学都是以算法为主、以应用为导向的传统,这与希腊演绎传统形成对比。两个传统在很多地方平行发展,也可能通过丝绸之路和海上贸易路线有间接的接触,但具体的传播链条至今仍有许多未解之谜。

伊斯兰数学:代数的命名者

“代数”(algebra)这个词,来自阿拉伯语 \textit{al-jabr}(الجبر)——移项还原的意思,出自花拉子米(al-Khwārizmī,约780—850年)的著作《简明代数书》(al-Kitāb al-mukhtaṣar fī ḥisāb al-jabr wa-l-muqābala)。这部书的名字里的"花拉子米",后来被拉丁化成了"algorithm"(算法)——全世界每天几十亿次提到"算法"这个词,都在无意中纪念着这位波斯数学家。

花拉子米的代数处理一元二次方程,提供了六种类型(正系数的各种组合)的完整解法。这与《九章》方程章(线性方程组)在技术层面并不直接对应,因为两者关注的问题类型不同。但在"提供系统性算法而不只是特例解法"这一点上,两者有深刻的相似之处。

更直接的比较对象是花拉子米的《算术》(Kitāb al-ḥisāb al-Hindī),介绍了印度-阿拉伯数字系统。这标志着位值制十进制在伊斯兰世界的普及——而中国通过算筹系统,比这早了将近一千年就已经在使用位值制十进制。

关于盈不足术(双假设法)的传播:伊斯兰数学书中出现的"双假设法"(qāʿida al-khaṭaʾayn,“两次错误的规则”),与《九章》的盈不足术在操作上完全一致。这个方法在欧洲被称为"双假位法"(regula falsi duplex)。它是从中国经由中亚传入伊斯兰世界,还是独立发展的?文献证据至今不完整,是数学传播史上的一个开放问题。

什么可以肯定的是:伊斯兰数学在8—13世纪起到了人类数学知识的"翻译中转站"的作用。大量希腊数学(欧几里得、阿基米德、阿波罗尼奥斯)和印度数学(阿耶波多、婆罗摩笈多)通过阿拉伯语翻译保存下来,然后又在12—13世纪被译成拉丁语,进入欧洲大学。中国数学在这个中转链条里的地位,是现代数学史研究还在持续深入的课题。

文艺复兴欧洲:数学向公众开放

1202年,比萨商人之子斐波那契(Fibonacci,约1175—1250年)出版了《计算之书》(Liber Abaci)。书的开头他写道:“父亲被任命为管理比萨商人的海关官员,在布贾亚(今阿尔及利亚)工作,他把我带到那里让我学习算术……在那里,用印度数字进行算术的卓越学问令我深深迷恋。”

《计算之书》的贡献是把印度-阿拉伯数字系统和相关算法带入了欧洲,结束了罗马数字在计算上的统治地位。书中包含的"三项法则"(rule of three,今有术的欧洲版本)、“双假设法”(盈不足术的欧洲版本)、各类商业数学题目,都可以在《九章算术》中找到对应的内容。

美国数学史家卡尔宾斯基(Karpinski)明确指出:“斐波那契《计算之书》中的许多算术问题,其东方源泉不容否认。不只是问题的类型与早期中国及印度者相同,有时甚至所用数据也一样。”

这不是说斐波那契抄袭了中国,而是说这些问题类型和算法已经在中亚和中东商业贸易网络中流通了数百年,当斐波那契在阿尔及利亚学习阿拉伯数学时,这些内容已经是"标准课程"的一部分了。

从《九章算术》(约公元1世纪)到《计算之书》(1202年),中间相隔一千一百年。如果传播链条是真实的,那么汉代整理者为处理帝国粮食运输而发展出来的那套算法,最终成了欧洲文艺复兴时期商人的日常计算工具——这是一段跨越时间和文明的奇妙旅程。

“算法传统"与"证明传统”:两种数学精神的现代融合

理解了埃及、巴比伦、印度、伊斯兰和欧洲数学,再回过头来看《九章算术》,可以得出一个清晰的判断:

中国数学属于"算法传统"(algorithmic tradition)——数学是一套可以机械执行的操作程序,目标是解决实际问题。埃及和巴比伦数学也属于这个传统,只是没有发展出同等深度的通用算法框架。印度数学在算法和天文计算方面与中国有相似之处,但也发展出了独特的三角函数和组合数学。

希腊数学(和后续的欧洲数学)属于"证明传统"(proof tradition)——数学是从公理出发的逻辑演绎,目标是建立普遍成立的定理。这个传统的力量在于它能产生完全抽象的数学理论,其应用不局限于任何特定的实际问题。

20世纪以来,这两个传统在现代数学中逐渐融合。计算机科学的兴起,使"算法"重新成为数学的核心概念——而计算复杂性理论、算法分析、数值分析,都是"算法传统"精神的现代延伸。中国数学史家吴文俊院士在1970年代提出"数学机械化"理论,把中国传统的算法思维与现代计算机科学结合,用算法方法证明几何定理——这是两个传统在20世纪的历史性交汇。

《九章算术》能够成为"九章的世界回响"这个题目的主角,正是因为它代表了一种在现代越来越受到重视的数学精神:不是从公理到定理的演绎,而是从问题到算法的构造。这种精神,在算法无处不在的21世纪,比任何历史时期都更加切近我们的日常。


Part III: 东汉三国 — 刘徽时代

三国的战场地图每隔几年就要重画一次。城池易主,人口流离,帝国的版图在将领们的算计中缩小又扩大。在这一切之中,数学家的工作不声不响地进行着——一位在南方注释一本两百年前的算术书,另一位在北方画了一幅三色的几何图,还有一位天文官试图改写宇宙的形状。他们互不相识,却构成了中国数学史上最令人叹为观止的一百年。


巴比伦与埃及:早于《九章》的平行传统

要公正地评价《九章算术》在世界数学史中的地位,最合适的参照系是同一量级的古代算术文本——而不是希腊的演绎数学,因为那是完全不同的知识组织形式。

公元前约1650年的埃及《莱因德纸草书》(Rhind Mathematical Papyrus)包含84道题,涵盖分数计算、面积体积、比例和线性方程。与《九章算术》相比,它的分数处理方式极为特殊:埃及人使用的是"单位分数分解",即把任意分数写成若干形如 \(\frac{1}{n}\) 的分数之和。例如,\(\frac{2}{7} = \frac{1}{4} + \frac{1}{28}\)。这种做法在技术上可行,但计算繁琐,且没有通分的概念。《九章算术》的分数运算——通分、约分、加减乘除——已经达到了现代初等分数算术的完整形态,这是公元前后埃及数学无法企及的。

巴比伦泥版(约公元前1800年)中有二次方程问题的解法,等价于配方法,甚至出现了类似两个未知数的"方程组"问题。这比《九章》的方程章(线性方程组用增广矩阵消元)早了约一千五百年。但巴比伦的解法高度具体化,问题是特设的(“长宽之积为某数,长宽之差为某数,求长宽”),而不是像《九章》方程章那样给出处理任意线性方程组的通用算法。通用性是《九章》相对于巴比伦数学最重要的进步。

印度《绳法经》与《九章》的几何

印度最早的数学文献是《绳法经》(Śulbasūtras,约公元前800至200年),它是为建造祭坛而写的几何手册,其中包含勾股定理的陈述(但无证明),以及若干化圆为方(取近似)的方法。

《绳法经》中有一个非常有意思的近似:把边长为 \(a\) 的正方形化为等积圆,取圆的直径为 \(a \cdot \frac{1+\frac{1}{3}+\frac{1}{3 \cdot 4}-\frac{1}{3 \cdot 4 \cdot 34}}{1}\)——这是一个精度相当高的近似,等价于 \(\pi \approx 3.0883\)。这与《九章》用的 \(\pi = 3\) 相比,在精度上更接近实际值,但《绳法经》的近似是针对特定作图问题的特设结果,不是一般的圆周率估算框架。

《九章》的几何是体积导向的:它最精彩的成就集中在商功章的各类立体体积公式,而这些公式是从建筑工程需求中提炼出来的。《绳法经》的几何是平面导向的,关注的是面积等积变换(圆与方的互化),这与建造祭坛的宗教功能直接相关。两个传统各自回应的是不同的实践问题,因此发展出了不同的几何侧重点。

阿拉伯世界的继承与转化

《九章算术》并未直接传入阿拉伯世界。9世纪花剌子模(al-Khwārizmī)写成《代数学》(al-Kitāb al-mukhtaṣar fī ḥisāb al-jabr wa-l-muqābala)时,其线性方程和一元二次方程的处理与《九章》的方程章有功能上的相似,但两者之间没有文献上的直接联系。阿拉伯代数的来源更接近印度数学(通过8世纪传入的梵文天文学著作)和古希腊代数传统(丢番图的《算术》)。

有意思的是,盈不足术(双假设法)在中世纪阿拉伯数学中以"规则"(qāʿida)形式出现,在欧洲则被称为"双假设法"(regula falsi duplex),这个传播路径可能经由中亚,但具体的文献证据至今不完整。宋元时代的大衍求一术(中国剩余定理)在欧洲由高斯于1801年独立发现,比秦九韶的系统处理晚了五百余年,但是否经由阿拉伯数学中间传递过,是一个至今开放的历史学问题。

文艺复兴欧洲:方程论的平行发展

16世纪欧洲代数的最重要进展,是意大利数学家(塔塔利亚、卡尔丹、费拉里)对三次和四次方程的解法。与此同时,中国在宋元时代早已有秦九韶的高次方程正负开方术(数值方法)和朱世杰的四元术(多变量高次方程组)。但两者的认识论框架完全不同:意大利代数追求的是封闭形式的根式解;中国算法追求的是数值近似解的收敛算法。两条路线都是重要的,但它们解决的是不同层次的问题——前者问"方程的根能写成什么形式",后者问"给定一个方程,怎样尽快逼近它的根"。

这一分岔在数学史上意义深远。中国的数值方法路线,在19至20世纪随着计算机的出现而大放异彩:现代数值分析中的迭代求根法,在精神上与秦九韶的算法一脉相承。而欧洲代数追求封闭形式根式解的传统,最终在伽罗瓦(Galois)证明五次以上方程一般无根式解时走到了极限,反而开拓出了群论这个新的数学领域。两条路线最终在19至20世纪的现代数学中交汇。

Chapter 13: 张衡、赵爽与勾股圆方图

引言:数学家是怎么犯错的

公元132年,洛阳,太史令署。一个男人在算一个数字,算了很多年。

他是中国历史上最博学的人之一。他制造了一台能感知地震方向的铜仪(地动仪),建造了一台用漏水驱动旋转演示星空运动的浑天仪,设计了一辆无论路怎么转、车上的木人手臂始终指向南方的指南车,写出了《二京赋》和《归田赋》,两度出任太史令。在这么一个人看来,算一个圆周率,应该不是太难的事。

但他算错了。

理解他为什么会错、错在哪里,比知道他错了本身更有价值。这是我们这节课要做的事。

张衡:对圆的执念——以及他为什么犯了错

这个人叫张衡(78—139年),字平子,河南南阳人。中学历史课把他和地动仪绑在一起,但这只是他成就的一小部分。他两度出任太史令,那是汉代国家天文历法机构的最高官职。太史令不只是观星的,他要推算历法、预报日食、校准音律,这些全都需要精确的数学。

张衡有一个困扰他的问题。《九章算术》给出了球的体积公式,等价于取圆周率 \(\pi = 3\)。这个数,他认为不对。

他的推理出发点很聪明:把宇宙想象成一个大球,把立方体叫做"质",然后比较两者的体积。他认为球体积与外接立方体之比为 \(\frac{5}{8}\):

\[ V_{\text{球}} = \frac{5}{8} d^3 \]

这等价于取 \(\pi = \frac{15}{4} = 3.75\)。比 \(\pi = 3\) 更糟糕,方向整个反了。

他在另一处换了思路,令 \(\frac{5}{8} = \frac{\pi}{6}\),得到 \(\pi = 3.75\),又错了。

最终,张衡留给后世的圆周率是 \(\pi \approx \sqrt{10} \approx 3.162\)。他在《算罔论》(此书已佚)中通过类比正方形与内切圆的面积关系,推导出令 \(\pi^2 = 10\) 的结论。

这三个值并排比较,很能说明问题:

来源\(\pi\) 的值误差
古率"周三径一"3.000\(-4.5\%\)
张衡 \(\sqrt{10}\)3.162\(+0.7\%\)
刘徽(96边形)3.1410\(-0.016\%\)
祖冲之密率 \(\frac{355}{113}\)3.14159292…\(+8.5 \times 10^{-8}\)

张衡的 \(\sqrt{10}\) 比古率好,但好的方式不对——他走偏了。刘徽后来在注释中评价:张衡正确地认识到"周三径一之率为非是",但"增周太多",超过真值约 \(0.7\%\),方向还是错的。

这个细节值得停下来想一想。张衡是中国历史上最聪明的人之一,多面才华几乎无人能及,却在圆周率上犯了这样的错误。他不是粗心,而是用了错误的工具:哲学类比,而不是可迭代的算法。他正确地认识到问题,却找错了方法。

那个正确的方法——割圆术——要等刘徽来发明。

浑天说与球面数学:张衡的宇宙模型

要理解张衡为什么如此执着于 \(\pi\) 和球体积,必须先理解他的宇宙观。

张衡持浑天说:天像一个巨大的鸡蛋,地如蛋黄,天球包裹着大地。这与当时竞争的盖天说(天是穹形的圆盖,地是平面)形成根本对立。浑天说在当时更接近正确——它能解释星体升落、预报日食月食,而盖天说做不到。

从浑天说的视角,张衡制造的浑天仪是一个空心铜球,上面刻有赤道、黄道、南北极以及数百颗恒星的位置,由水力驱动旋转与天球同步。要制造这台仪器,需要解决若干几何问题:

在球面上标定星体位置。 使用赤纬和赤经两个球面坐标来定位恒星,这是球面坐标系的早期使用。

计算天体升落时刻。 一颗恒星何时升出地平线、何时落下,取决于其赤纬和观测点的地理纬度。这需要球面三角的计算——中国古代的解法是几何推算,结果与球面三角公式等价。

预测日食月食。 需要计算月球轨道面(白道)与地球轨道面(黄道)之间的夹角及交点位置,这是一个三维几何问题。

张衡的 \(\pi\) 错误与他的天文成就并置,揭示出一个深刻的对比:他在球面数学的应用上是先驱,在球面几何的精确计算(即求 \(\pi\) 的精度)上却是失败者。同一个人,同一种思维方式,在不同问题上,结果截然相反。长处和短处,往往来自同一种思维倾向:他的天才在于建立宏大的几何模型,他的弱点在于依赖直觉而非严格推导。方法决定能走多远,工具决定能看多清。

日高图:影子里的相似三角形

张衡在《周髀算经》注中还解决了一个实际测量问题,后来被赵爽整理成"日高图":如何用两根标杆测出太阳的高度?

日高图:两根等高标杆测日高,$H = h + h\cdot d/(s_2-s_1)$,“重差"即两影长之差

设两根相同高度 \(h\) 的标杆(“表”),竖立在地面,间距为 \(d\)。第一根表的影长为 \(s_1\),第二根表的影长为 \(s_2\)(\(s_2 > s_1\),因为第二根离太阳更远)。设太阳高度为 \(H\),到第一根表的水平距离为 \(D\)。由相似三角形:

\[ \frac{H}{D + s_1} = \frac{h}{s_1}, \quad \frac{H}{D + d + s_2} = \frac{h}{s_2} \]

消去未知距离 \(D\),得:

\[ \boxed{H = \frac{h \cdot d}{s_2 - s_1} + h}, \quad D = \frac{s_1 \cdot d}{s_2 - s_1} \]

关键量是两根影子长度的 \(s_2 - s_1\),不是它们各自的绝对值。这就是"重差"这个名称的来源——“两重测量之差”。未知的绝对距离被消掉了,剩下可以实测的量。这套思路,刘徽后来发展成了《海岛算经》的全部内容。


赵爽:一幅图,一个定理

赵爽(约公元3世纪初),生平几乎无从考证,连籍贯都不知道。他只留下一篇东西——《周髀算经注》——却因为注文里的一幅图,在数学史上占据了无可动摇的位置。

这幅图叫弦图,是中国数学史上最美的证明之一,也可能是世界数学史上最直观的证明之一。

构造如下:取一个直角三角形,勾(短直角边)长 \(a\),股(长直角边)长 \(b\),弦(斜边)长 \(c\),\(b > a\)。把四个全等的这样的三角形,以各自的弦为边首尾相接,拼成一个外框正方形,边长为 \(c\)。四个三角形围出的中心空白,是一个小正方形,边长为 \(b - a\)。

代数计算只需一步:

大正方形(弦图)的面积 \(= c^2\)

四个直角三角形的面积 \(= 4 \times \frac{1}{2}ab = 2ab\)

中心小正方形的面积 \(= (b - a)^2\)

由面积守恒:

\[ c^2 = 2ab + (b-a)^2 = 2ab + b^2 - 2ab + a^2 = a^2 + b^2 \]

赵爽用红、青、黄三种颜色标注图形——朱色是勾方,青色是股方,黄色是四个三角形。他的原文这样写:

“勾自乘为朱方,股自乘为青方,令出入相补,各从其类,因就其余不移动也,合以成弦方之幂。”

把多出来的面积移入缺少的地方,整体不变。这就是"出入相补”。不需要辅助线,不需要逻辑链,看一眼就明白。

欧几里得在《原本》第47命题中也证明了同一个定理,但用的是辅助线、平行四边形分割、复杂的推论链——读懂它需要认真花时间。赵爽的弦图证明只需要看一眼。数学史上"一图胜千言"的范例,这是最好的一个。

赵爽的弦图还顺带给出了代数恒等式 \((a+b)^2 = a^2 + 2ab + b^2\) 的几何诠释。几何和代数在同一幅图上无缝对接——这种"形数结合"的思维方式,是中国古代数学的核心美学。


赵爽的生平与学术背景

赵爽,字君卿,生平不详,大约活跃于公元3世纪前半叶,属三国时期的吴国。他留下的文字只有《周髀算经注》——一部对西汉天文数学经典的详细注疏。他注《周髀》的动机,从注文中可以看出双重性:一方面是要阐明《周髀》晦涩的数学内容,另一方面是要批评性地审视《周髀》天文模型的不足。

《周髀算经》的核心是盖天说宇宙模型,用"七衡六间"(七个同心圆轨道)描述太阳的周年运动。赵爽在注文中指出,《周髀》用以计算太阳在不同节气高度的公式存在矛盾——按照《周髀》的几何,日出方位角的计算与实际天象不符。这种批评性注释,在汉代注疏传统中相当罕见。

与张衡的浑天说立场不同,赵爽注释的是盖天说文献,但他在数学上的工作超越了任何具体的宇宙论争论。他的弦图证明,是纯粹的数学真理,无论宇宙是球形还是穹形,勾股定理都成立。


弦图证明的完整代数展开

赵爽弦图的构造和证明,值得逐步展开到最细处。

构造步骤: 取直角三角形,勾(短直角边)长 \(a\),股(长直角边)长 \(b\),弦(斜边)长 \(c\),\(b \geq a > 0\)。将四个这样全等的直角三角形,按如下方式排列:每个三角形以弦为外边,四条弦首尾相连,围成一个正方形。由于四条弦等长,且相邻两弦之间的夹角为 \(90°\)(可由直角三角形内角之和验证),这个外框确实是正方形,边长为 \(c\),面积为 \(c^2\)。

内部空白: 四个三角形拼成外框后,中央剩余一个空白区域。空白区域的四条边,都是同一个三角形的股减去勾(即 \(b - a\)),且四个角均为直角(由三角形内角补充关系可验证),因此中央空白是一个正方形,边长为 \(b - a\),面积为 \((b-a)^2\)。

面积等式:

\[ c^2 = 4 \times \frac{1}{2}ab + (b-a)^2 \]\[ c^2 = 2ab + b^2 - 2ab + a^2 \]\[ \boxed{c^2 = a^2 + b^2} \]

这就是勾股定理。整个证明不用辅助线,不依赖任何公理系统,只需要一次面积分解。赵爽的原文这样描述这一过程:“出入相补,各从其类,因就其余不移动也,合以成弦方之幂。“意思是:把超出的部分移入不足的地方,不改变总面积,就能拼合成弦的正方形。

弦图同时提供了代数恒等式的几何证明:

\[ (a+b)^2 = a^2 + 2ab + b^2 \]

因为外框正方形如果改为边长 \((a+b)\),面积就等于四个三角形加上中央正方形:\(2ab + (b-a)^2 = 2ab + b^2 - 2ab + a^2 = a^2 + b^2\),当然也等于 \((a+b)^2 - 4 \times \frac{1}{2}ab = (a+b)^2 - 2ab\),整理即得恒等式。几何图形与代数等式在同一幅图上无缝合一。


赵爽"日高图"注的数学意义

赵爽在"日高图"注中,独立给出了利用两次测量确定太阳高度的命题,其方法与刘徽在《海岛算经》中的"重差"技术等价。两人使用的数学语言(“出入相补"原理)高度一致,说明这套思路在当时已是两人共知的数学语言,源自《九章算术》建立的共同知识底色。

值得注意的是,赵爽比刘徽更明确地讨论了"日高图"的适用条件和局限性,说明他不只是机械地应用公式,而是理解了其中的几何逻辑。

赵爽和刘徽大约生活在同一时代,却明显互不了解——三国时期交通困难,消息不畅通。但两人使用的数学术语高度一致,核心原理都是"出入相补”。这说明《九章算术》在汉代已经建立了一套稳定的数学语言,成为他们共同的知识底色。同一本书,两个陌生人,两处独立的发展——这是知识传播最令人惊叹的方式。


同时代的其他数学家

与张衡、赵爽大约同时,汉末三国还活跃着一批对数学有浓厚兴趣的人物,他们虽然没有留下足以改变历史的著作,但作为一种社会现象,说明了《九章算术》在当时已经广泛渗透到士人阶层。

王粲(177—217),字仲宣,山阳高平人,是建安七子之一。他以诗文著称,但《三国志》记载他"性善算,作《算术》,略尽其理”——他写过一部算术专著,“大略穷尽了算术的道理”。这部书早已失传,内容无法考证,但它的存在说明:在曹操幕府这样一个文武杂处的政治中心,数学依然是士大夫值得炫耀的技能之一。

赵达,原籍河南,后居吴国,任参军之职。他"治九宫一算之术,究其微旨”,对某种与方阵游戏相关的计算方法研究甚深。《三国志》描述他为一个神秘人物:自己摸索出来的计算方法从不外传,“头乘尾除,一算之法,父子不相语”;据说他能看一眼席上乱撒的豆子便说出准确数量,引得阚泽、殷礼等名儒亲自拜师,均遭拒绝。这些记载有夸大成分,但也说明他在当时有相当的影响。

陆绩(约 187—219),字公纪,吴郡吴人,孙吴的天文学家,著有《浑天图》。他在研究天文时,取"天东西南北径三十五万七千里",此计算隐含 \(\pi = 3\)——沿用了最古老的"周三径一"圆周率。王蕃随后指出这一不精确,用 \(\pi = \frac{142}{45} \approx 3.156\) 加以修正,更新了天球尺寸的计算值。这场陆绩→王蕃的改进,是汉末吴国天文数学内部的一次小型精度竞赛。

刘洪:第一个将不均匀运动写进历法的人

公元 2 世纪末,中国正处于东汉王朝的最后几十年。北方军阀割据,南方战乱不休,但在这片混乱之中,泰山蒙阴有一位官员正在做一件前无古人的事:他试图把月亮的"任性"写进一套可以计算的公式里。

这个人叫刘洪,字元卓,约生于公元 129 年,卒于 210 年前后。同时代的人对他数学水平的评价极高:蔡邕说"郎中刘洪,密于用算";更有人直接评价他"当世无偶"。

为了理解刘洪的贡献,需要先理解一个问题:历法为什么难?太阳好算——地球围太阳一圈,365 天多一点,闰年修正即可。但月亮不一样。月亮的运行速度不均匀——靠近地球时跑得快,远离地球时跑得慢,这个现象叫"月行迟疾"。在刘洪之前,中国历法——包括西汉的《太初历》和东汉的《四分历》——全都无视这一事实,假设月亮匀速运动,导致历法预测与真实天象之间误差不断积累。

公元 206 年,刘洪完成**《乾象历》**。这部历法第一次在中国明确给出了月亮在一个近点月内每日的运行度数,列成一张表格。对于第 \(n + s\) 日(\(0 < s < 1\) 是分数日),他用线性插值:

\[f(n + s) = f(n) + s \cdot \Delta f\]

其中 \(\Delta f = f(n+1) - f(n)\) 是相邻两天的度数之差。这是一次内插公式:月亮的位置由最近一个整日的已知位置,加上当天内按比例走过的份额来计算。这个方法后来成为中国古代历法插值算法的标准模板。

刘洪还明确计算了近点月(anomalistic month)——月亮从近地点出发,回到近地点,约 27.55 天,区别于朔望月(约 29.5 天)和恒星月(约 27.3 天)。把朔望月和近点月区分开,意味着他理解了月亮有两种"转圈"在同时进行,叠加在一起产生了我们观测到的复杂现象——这是从"记录现象"到"建立模型"的关键一步。

何承天后来评价:"(刘洪)方于《太初》、《四分》,转精密矣。“这不只是精度的提升,而是性质的改变:从历书到数学模型。后世一致认为:“洪术为后代推步之师表。”

还有一件值得一提的事:在《乾象历》的计算中,刘洪明确使用了正负数的运算规则——“强,正;弱,负。强弱相并,同名相从,异名相消……“这几乎就是完整的正负数运算法则,比刘徽在《九章算术注》(263 年)中系统讨论正负术早了将近六十年。

三国的数学家:一个隐秘的传承链

刘洪死后,《乾象历》沿着一条隐秘的师承路线,穿越战场和政治边界,流传到了整个三国世界。

徐岳(字公河,东莱人,约活跃于 190—220 年)是刘洪最著名的学生。他对《九章算术》有深入研究,留下的著作中唯一流传至今的是《数术记遗》。书中以徐岳拜访刘洪、向其求学为开场,记录了 14 种计算方法,包括一种叫做”珠算“的工具——据甄鸾的注,其样式是在木板上分上中下三段,每柱五珠,黑珠一当五,白珠一当一,与后来的算盘极为相似。

阚泽(?—243),字德润,会稽山阴人,徐岳的学生,出身贫苦,靠给人抄书为生,后来成为孙吴的中书令和太子太傅。他把刘洪的《乾象历》带到了孙吴,并加以注解:《晋书》记载"吴中书令阚泽受刘洪《乾象法》于东莱徐岳,又加解注。“孙权治下的江南,用的是刘洪在山东写成的历法。

王蕃(229—267),字永元,庐江人,“博览多闻,善数术”,是三国末期吴国最重要的天文学家。他研究过《乾象历》,并在天文计算中使用了当时精确的圆周率之一:\(\pi \approx \frac{142}{45} \approx 3.1\overline{5}\)。这个值不如几年后刘徽的结果,但出现时间与刘徽相当,是独立得到的近似值。

传承链清晰可见:刘洪(泰山)→ 徐岳(东莱)→ 阚泽(会稽)→ 王蕃(庐江)。这条路线跨越了两条政治边境、将近一个世纪的时间,贯穿整个三国乱世。数学知识就这样,像一条地下河一样流动——不声不响,不为战争所断,在一个个数学家的脑子里延续下去。


Chapter 14: 刘徽的几何遗产

他是谁?这个问题本身就很有意思

我们今天要讲的这个人,是中国数学史上最重要的人物之一。但你知道吗——我们对他几乎一无所知。

没有传记,没有家族记录,没有画像(后世的刘徽造像是现代人的想象),连出生地都是推测。有人说他是山东淄博人,理由是《海岛算经》第一题提到"望海岛”,而渤海离淄博不远——这个推论其实相当脆弱。他大约生活在公元225到295年之间,魏晋时期。他写了两部书:公元263年完成的《九章算术注》,以及后来单独成书的《海岛算经》(原名《重差》)。

就这些了。真的没有了。

但是,他在《九章算术注》序言里留下了这样几行字——

“徽幼习《九章》,长再详览。观阴阳之割裂,总算术之根源,探颐之暇,遂悟其意……事类相推,各有攸归,故枝条虽分而同本干者,知发其一端而已。”

他说的是:我从小就学《九章算术》,长大后反复钻研。我发现,那些看起来各不相同的问题,其实都有一个共同的根。只要找到这个根,就能"知发其一端”——用一个起点推出所有问题的答案。

你知道吗,这是一个极为大胆的宣言。《九章算术》是一本答案之书:它给你246道题,告诉你每道题怎么算。刘徽想知道的是:为什么这些公式是对的?

在公元3世纪,这是一个非同寻常的问题。他不满足于有效的算法。他要的是证明。

这一点,使他在整个中国数学史上独树一帜。让我们来看他究竟做了什么。


出入相补:一把万能的剪刀

刘徽几何工作的基石,是一个他自己命名的原理:出入相补

原理本身极简朴:把一个图形剪开,把"多出来的部分"移入"缺少的部分”,整体的面积不变。

听起来像废话?让我们试试看它的威力。

先做一个最简单的例子:直角三角形面积。

取一个直角三角形,两直角边分别是 \(a\)(勾)和 \(b\)(股)。你不知道它的面积是什么。但是你注意到:把两个完全相同的直角三角形拼在一起,可以拼成一个 \(a \times b\) 的矩形。矩形面积是 \(ab\),所以每个三角形的面积是 \(\frac{ab}{2}\)。

这就是出入相补:一个三角形"出”,另一个补入,凑成矩形。

再看一个稍微复杂的:梯形面积。

设梯形上底为 \(a\),下底为 \(b\)(\(b > a\)),高为 \(h\)。沿梯形的中线作一条平行于底边的线,把上面的三角形切下来,翻转 180°,补入下方右侧的缺口。切出来的部分(“出”)正好填满缺口(“入”)。结果你得到了一个底为 \(\frac{a+b}{2}\)、高为 \(h\) 的矩形,面积是:

\[ S = \frac{a+b}{2} \cdot h \]

这个公式你在中学就学过。但刘徽给了它一个直觉上无可辩驳的几何证明:形状变了,面积没变

弓形(弧田)的例子,则把出入相补推向了极限思想的边缘。

《九章算术》给出弓形面积的公式 \(S \approx \frac{c \cdot s + s^2}{2}\)(\(c\) 为弦长,\(s\) 为矢高)。刘徽算了几个具体数值,发现误差相当大。他的改进思路是:把弓形用弦分成越来越细的竖条,每条近似为矩形,把这些矩形"出入相补"重新拼排,总面积越来越逼近真实值。他写道:“割之又割,使之极细,但举弦矢相乘之数,则必近密率矣。”

分割越细,近似越好;无限细分,就得到精确值。

这已经是极限的直觉——比微积分的正式语言早了整整一千四百年。


割圆术:公元263年的极限论证

好了,我们现在来到最精彩的部分。

**你知道吗,在刘徽之前,中国用的 \(\pi\) 是 3。**整整就是 3。《九章算术》里的圆面积公式、圆周公式,全部默默使用 \(\pi = 3\),没有任何说明,没有任何近似声明,就好像 3 是一个精确值。

刘徽对此极为不满。他在注文里直接批评说,“周三径一"之率是粗疏的。那么,精确的 \(\pi\) 是多少?

他的方法,叫做割圆术

思路极简单:用多边形逼近圆

割圆术:圆内接正六边形(蓝)→正十二边形(橙)→更多边形逼近圆周,红色边为正十二边形一条弦 $s_{12}$

从圆的内接正六边形开始。正六边形的面积比圆小,但它是一个精确可计算的量。然后把每条边对折——每条边的中点对应圆弧上一个新的顶点,正六边形变成正十二边形。正十二边形更接近圆了。再折,变成正二十四边形,再折,正四十八边形,正九十六边形……

刘徽的原话是:

“割之弥细,所失弥少;割之又割,以至于不可割,则与圆周合体而无所失矣。”

分得越细,多边形和圆之间的差就越小。无限细分下去,多边形和圆就合而为一了。

这是公元263年中国数学家写下的极限论断。它和牛顿、莱布尼茨的微积分语言相距一千四百年,但描述的是同一个数学现实。


让我们真正算一遍:从正六边形到正九十六边形

这个问题其实很深。让我们从头开始,一步一步算,你会看到这有多美。

取圆半径 \(r = 1\),从正六边形开始。

为什么从正六边形开始? 因为正六边形的边长正好等于圆半径。正六边形的每一条边和连接其两端点到圆心的两条半径,构成一个等边三角形,所以 \(l_6 = r = 1\)。这是唯一一个"免费"的起点。

第一次翻倍:从正六边形到正十二边形。

取正六边形的一条边 \(AB\),长 \(l_6 = 1\)。从圆心 \(O\) 作 \(AB\) 的垂线,垂足为中点 \(M\),垂线延长与圆弧交于点 \(P\)。\(AP\) 就是正十二边形的一条边,长度 \(l_{12}\) 待求。

用勾股定理,在三角形 \(OMA\) 中:

\[ OM = \sqrt{r^2 - \frac{l_6^2}{4}} = \sqrt{1 - \frac{1}{4}} = \frac{\sqrt{3}}{2} \approx 0.866 \]

弧点 \(P\) 到 \(M\) 的距离:

\[ PM = OP - OM = 1 - \frac{\sqrt{3}}{2} \approx 0.134 \]

在三角形 \(AMP\) 中(\(AM = \frac{1}{2}\),\(PM \approx 0.134\)):

\[ l_{12} = AP = \sqrt{AM^2 + PM^2} = \sqrt{\frac{1}{4} + \left(1 - \frac{\sqrt{3}}{2}\right)^2} = \sqrt{2 - \sqrt{3}} \approx 0.5176 \]

这个递推公式就是割圆术的核心:

设 \(d_n = \sqrt{r^2 - \frac{l_n^2}{4}}\) 为正 \(n\) 边形的弦心距,则:

\[ \boxed{l_{2n} = \sqrt{\left(\frac{l_n}{2}\right)^2 + (r - d_n)^2}} \]

化简后也可以写成:

\[ l_{2n} = \sqrt{2r^2 - r\sqrt{4r^2 - l_n^2}} \]

每翻倍一次,做一次开平方。用算筹,繁琐但完全可执行。

翻倍四次,从正六边形到正九十六边形:

正 \(n\) 边形边长 \(l_n\)弦心距 \(d_n\)面积 \(S_n = \frac{n \cdot l_n \cdot d_n}{2}\)\(\pi\) 近似值
61.0000000.8660252.5980762.598076
120.5176380.9659263.0000003.000000
240.2610520.9914453.1058293.105829
480.1308060.9978593.1326293.132629
960.0654380.9994653.1393503.139350

你注意到了吗?正十二边形面积恰好等于 3.000000——这不是偶然,可以精确验证:\(S_{12} = 6 \times 0.5176 \times 0.9659 = 3.000\)。

每翻倍一次,误差大约缩小四倍。 刘徽观察到了这个规律,并用它来估计误差。他发现:

\[ S_n < \pi r^2 < S_n + (S_n - S_{n/2}) \]

真实圆面积被夹在两个多边形面积之间。这给了他一个误差上界,而不只是一个近似值。这是中国数学史上最早系统性地谈论近似精度的例子。

翻倍四次,从正六边形到正九十六边形:

\[ \pi \approx \frac{157}{50} = 3.14 \quad \text{(刘徽"徽率")} \]

这是中国历史上第一次把 \(\pi\) 精确到小数点后两位,比《九章算术》的 \(\pi = 3\) 精确了整整一个数量级。

圆面积的展开——另一种出入相补的极限应用:

刘徽还有另一种思路。把圆切成 \(n\) 个等腰三角形,顶点在圆心,底边是内接多边形的边。把所有三角形的底边首尾相接展开,得到一个底为 \(\frac{n l_n}{2}\)、高为 \(r\) 的近似矩形。当 \(n \to \infty\),\(n l_n \to 2\pi r\),矩形面积趋向:

\[ \frac{1}{2} \times 2\pi r \times r = \pi r^2 \]

这是圆面积公式的极限推导——把出入相补(重拼三角形)和无穷逼近(多边形趋向圆)结合在了一起。它的逻辑,是现代积分的直接祖先。


刘徽原理:把极限论证用在三维里

刘徽不只在平面上思考。他同样把"越分越细,极限精确"的思想用到了三维体积。

主角是三种多面体,名字带着那个时代特有的诗意:

  • 堑堵:把长方体沿对角面切开,得到的直三棱柱
  • 阳马:正方形底面的直四棱锥(像一座四面坡的土堆)
  • 鳖臑(biē nào):直三棱锥(最简单的锥体)

一个底面 \(a \times b\)、高 \(h\) 的长方体,可以切成两个堑堵;每个堑堵再切,可以分成一个阳马和一个鳖臑。问题来了:阳马和鳖臑的体积比是多少?

直觉告诉你阳马更大,但大多少?这道题如果用现代积分来算,只需几行公式。但没有积分,你怎么办?

刘徽的方法称为无穷分割论证,后世称之为"刘徽原理”。

取阳马 \(Y\) 和鳖臑 \(Z\),作一次水平截面分割,把它们各自切成上下两半。刘徽观察到:

  1. 每次分割,从阳马和鳖臑里各自切出来的"已确定部分",体积比恰好是 \(2 : 1\)。
  2. 剩余的"未确定部分"(顶部的小阳马和小鳖臑),线性尺度缩小了一半,体积因此缩小为 \(\frac{1}{8}\)。

再分割,剩余部分又缩小为 \(\frac{1}{8}\)……每一轮分割,可确定的体积都满足 \(Y : Z = 2 : 1\);不确定的"尾巴"趋于零。

刘徽写道:"半之弥少,其余弥细,至细曰微,微则无形。“他引用先秦名家惠施的话:“一尺之棰,日取其半,万世不竭”——但这"无竭"的过程,累积起来的确定部分已经填满了整体。

结论:

\[ Y : Z = 2 : 1 \]

由此,正方底面锥体(底面 \(a \times a\),高 \(h\))的体积:

\[ V_{\text{阳马}} = \frac{2}{3} \times \frac{1}{2} \times a^2 h = \frac{1}{3} a^2 h \]

这正是我们今天学的锥体公式 \(V = \frac{1}{3} S_{\text{底}} \times h\)。

19世纪丹麦数学史家 Wagner 最先正确解读了这段注文,认为刘徽在这里完成了中国数学史上最早的严格极限论证之一,类似于现代数学中用等比级数求无穷和:

\[ \frac{2}{3} = \frac{1}{2} + \frac{1}{8} + \frac{1}{32} + \cdots = \frac{1/2}{1 - 1/4} = \frac{2}{3} \]

牟合方盖:刘徽最美丽的悬案

现在我们到了刘徽故事里最动人的一章。

公元263年,刘徽在注释《九章算术》求球体积的那道题时,遇到了一个他看得清楚、却无法越过的障碍。

他没有回避它。他把它写了下来,连同它的名字:牟合方盖

“两把合在一起的方形伞。”

让我们试试看它到底是什么。

取一个边长为 \(2r\) 的正方体。在这个正方体里,作两个圆柱:一个轴线竖直,一个轴线水平(两轴相互垂直),圆柱半径都是 \(r\),圆柱轴通过正方体中心。这两个圆柱的公共部分——既在第一个圆柱内、又在第二个圆柱内的区域——就是牟合方盖。

牟合方盖截面图:右图显示高度 $z$ 处截面为正方形(橙),其对角线等于圆直径;圆(蓝)为单个圆柱的截面

这个形状的截面规律美丽:在高度 \(z\) 处(\(-r \le z \le r\)),截面是一个正方形,边长 \(2\sqrt{r^2 - z^2}\),面积为:

\[ A_{\text{牟}}(z) = 4(r^2 - z^2) \]

**现在刘徽做了一件绝妙的事。**他计算同一高度 \(z\) 处球的截面积:

\[ A_{\text{球}}(z) = \pi(r^2 - z^2) \]

两者之比:

\[ \frac{A_{\text{球}}(z)}{A_{\text{牟}}(z)} = \frac{\pi(r^2 - z^2)}{4(r^2 - z^2)} = \frac{\pi}{4} \]

这个比值,在每一个高度 \(z\) 处都等于同一个常数 \(\frac{\pi}{4}\)!

你知道这意味着什么吗?如果相信"截面积在所有高度处比值恒定,则体积比也是同一比值”(这正是祖暅后来的"幂势既同,则积不容异"原理,西方称卡瓦列里原理,17世纪才独立发现),那么:

\[ V_{\text{球}} = \frac{\pi}{4} \cdot V_{\text{牟合方盖}} \]

刘徽用出入相补和截面比较,把"求球的体积"这个难题,变换成了"求牟合方盖的体积"。

然后他卡住了。

牟合方盖的截面积是 \(4(r^2 - z^2)\)——一个关于 \(z\) 的二次函数。刘徽的无穷分割工具只能处理截面积线性变化的情形(棱柱截面面积恒定,棱锥截面面积线性减小)。截面积二次变化时,他的方法不够用了。

他坦率地写道:

“敢不阙疑,以俟能言者。”

我不敢假装知道。我把这个疑问留在这里,等待有能力的人来解决。

这句话令人动容。一个数学家,在看清自己的边界之后,选择诚实地标记出来——不是用一个错误的答案掩盖它,而是留下一个准确的问题,供后人继续。

他等了两百年。

两百年后,祖暅(祖冲之的儿子)正式证明了"幂势既同,则积不容异",并用这个原理配合一个精心选取的辅助形体——正方体挖去四个角锥——来计算牟合方盖的体积。

祖暅的推导是:考虑以 \(r\) 为边长的正方体的 \(\frac{1}{8}\)(一个小立方体)。在高度 \(z\) 处,牟合方盖的截面积是 \(r^2 - z^2\)(取四分之一),而这个小立方体减去一个小角锥(截面积为 \(z^2\))的剩余截面积也是 \(r^2 - z^2\)。两者截面处处相等,因此:

\[ \frac{1}{8} V_{\text{牟合方盖}} = r^3 - \frac{1}{3}r^3 = \frac{2}{3}r^3 \]

所以 \(V_{\text{牟合方盖}} = \frac{16}{3}r^3\),代入刘徽的关系式:

\[ V_{\text{球}} = \frac{\pi}{4} \cdot \frac{16}{3}r^3 = \frac{4}{3}\pi r^3 \]

这是我们今天知道的球体积公式。

这个故事的深刻之处在于:刘徽的伟大,不在于他解出了球的体积,而在于他看到了问题的真正结构——球与牟合方盖之间的截面比关系。他把难题变换到了正确的框架里,然后诚实地停在了自己的能力边界处。把问题看清楚,有时比给出一个错误的答案更了不起。


重差术与《海岛算经》:两次测量解开两个未知数

刘徽把出入相补和相似三角形方法发展成了一套完整的测量体系,写进《海岛算经》。全书9道题,场景各异,数学结构完全相同:两次观测,两个方程,两个未知数,唯一解

第一题"望海岛"原文:

今有望海岛,立两表,齐高三丈,前后相去千步,令后表与前表参相直。从前表却行一百二十三步,人目着地,取望岛峰,与表末参合。从后表却行一百二十七步,人目着地,取望岛峰,亦与表末参合。问岛高及去表各几何?

两个测量者,分别站在前表和后表后方,躺下(“人目着地”)仰望,视线恰好经过测量杆顶端看到岛峰。“人目着地"的细节很重要——视线起点是地面,保证了几何上的精确性,否则眼睛的高度就成了又一个未知量。

数据整理:

  • 两表高度 \(h = 3\) 丈
  • 两表间距 \(d = 1000\) 步
  • 从前表后退 \(a = 123\) 步
  • 从后表后退 \(b = 127\) 步

**设未知量:**设海岛高度为 \(H\),海岛脚到前表脚的水平距离为 \(D\)。

建立方程:

从前表观测点,视线经过表顶,由相似三角形:

\[ \frac{h}{a} = \frac{H}{D + a} \quad \Rightarrow \quad h(D + a) = Ha \]

从后表观测点(后表在前表后方 \(d\) 步,测量者在后表后方 \(b\) 步):

\[ \frac{h}{b} = \frac{H}{D + d + b} \quad \Rightarrow \quad h(D + d + b) = Hb \]

两式相减,消去含 \(D\) 和 \(H\) 的混合项,整理得优美的双公式:

\[ \boxed{H = \frac{h \cdot d}{b - a} + h}, \quad \boxed{D = \frac{a \cdot d}{b - a}} \]

代入数值:\(h = 3, d = 1000, a = 123, b = 127, b - a = 4\)

\[ H = \frac{3 \times 1000}{4} + 3 = 750 + 3 = 753 \text{ 丈} \]\[ D = \frac{123 \times 1000}{4} = 30750 \text{ 步} \approx 102.5 \text{ 里} \]

这里最精妙的地方在于:关键量是差值 \(b - a = 4\) 步,而不是 \(a\) 或 \(b\) 本身。 两次退行距离之差消去了两个共同的未知数,留下可解的方程。这就是"重差"名称的由来:两重测量之差

《海岛算经》9题,从望海岛到望松树、测城宽、探深谷、望渊底,场景各异,数学结构完全相同。刘徽把一套工具推广到了一系列测量问题,展示了它的普遍性。这正是他序言里说的"枝条虽分而同本干者”——看似不同的场景,共享同一个数学根源。


Chapter 15: 刘徽的代数与率论

为什么要讲"代数"?

上一章我们讲了刘徽的几何——割圆、出入相补、牟合方盖。但刘徽的工作不只是几何。他在《九章算术注》里同样对代数部分(分数、比例、方程、开方)做了深度注释,并且以"率"为核心概念,把这些看起来散乱的主题统一成了一个理论体系。

你可能会问:这和现代代数有什么关系?

让我先告诉你一个关键事实:《九章算术》里的代数,根本没有符号。没有 \(x\),没有等号,没有方程式。一切都是文字描述。刘徽的工作,是在这种语言里,用纯粹的文字和几何图形,建立起等价于现代代数的推理结构。

这是一件非常困难的事,也是一件非常重要的事。


率论:万物背后的比值关系

如果要选一个词来概括刘徽的代数观,那就是:

刘徽给"率"下了一个定义:"率者,物之数量,相与大小之称也。"

翻译成现代语言:两个量,如果它们的比值是固定的,就叫做"成率"。比值固定意味着:如果其中一个量乘以任意因子 \(k\),另一个也必须乘以同样的 \(k\),才能保持这个关系。这和我们今天说的"正比关系"本质上是一样的,但刘徽的表述更强调关系本身,而不是比值的数值。

这有什么深刻之处?

你知道吗,《九章算术》的几乎每一章都有一个核心算法叫做今有术,它处理的是三项比例问题:已知 \(a : b = c : x\),求 \(x\)。答案是:

\[ x = \frac{bc}{a} \]

《九章算术》把今有术作为"算法"给出,但没有解释它为什么成立。刘徽说:这不是一个需要记忆的公式,而是率的直接推论。既然 \(a : b\) 是固定的率,给出新量 \(c\),与 \(c\) 成相同率的 \(x\) 只能是 \(\frac{bc}{a}\),因为比值不变。

他进一步说:“今有术,乃以御诸率。”

今有术是统辖所有比例计算的总纲。这不只是一个算法,而是一个理论框架。


率论如何统一《九章》的代数章节

让我们试试看这个框架有多强大。

衰分术(按比例分配):

把总量 \(S\) 按比率 \(a_1 : a_2 : \cdots : a_n\) 分配给 \(n\) 个人。第 \(i\) 人所得:

\[ x_i = a_i \cdot \frac{S}{a_1 + a_2 + \cdots + a_n} \]

刘徽指出:这是今有术的直接推广。每一份 \(x_i\) 与总量 \(S\) 成固定率 \(a_i : (a_1 + \cdots + a_n)\)。把它看作今有术,用一次乘除就能算出来。

均输术(按距离和人口摊派运输任务):

这是《九章算术》里最复杂的算法之一:不同地区的运输距离不同,人口数量不同,如何公平摊派?刘徽的处理是:把每个地区的应摊份额化为统一的率(人口 \(\div\) 距离),然后用今有术分配。

你看到了吗?一个看起来很复杂的社会政策问题(公平税赋),在刘徽的框架里变成了:找到正确的率,然后用今有术。

齐同原理(分数通分):

刘徽的表述:"母互乘子谓之齐,群母相乘谓之同。"

把所有分母相乘得到公分母(“同”),把每个分子乘以其他分母的乘积(“齐”),所有分数变成同分母形式。

让我们试试看 \(\frac{2}{3} + \frac{3}{5}\):

  • 公分母 \(= 3 \times 5 = 15\)(“同”)
  • \(\frac{2}{3} = \frac{2 \times 5}{15} = \frac{10}{15}\)(“齐”)
  • \(\frac{3}{5} = \frac{3 \times 3}{15} = \frac{9}{15}\)(“齐”)
  • \(\frac{2}{3} + \frac{3}{5} = \frac{10 + 9}{15} = \frac{19}{15}\)

刘徽指出,这个过程的实质是:用齐同把两个率调成"可以直接比较的形式"。这不是死记的技巧,而是有原理的——不同率之间的比较,需要先通过变换使它们可公约

这个思想,和现代数论里"公因子"、“公倍数"的概念,在逻辑结构上是一致的。


刘徽开方逼近:无理数的近似问题

好,让我们试试看一个具体的、你可以自己动手计算的例子。

问题:\(\sqrt{5}\) 是多少?

这在《九章算术》里是常见的计算需求,比如勾股定理:勾 \(= 1\),股 \(= 2\),弦 \(= \sqrt{5}\)。

\(\sqrt{5}\) 不是一个整数。刘徽怎么处理这种情况?

第一步:找到整数部分。

\(2^2 = 4 < 5 < 9 = 3^2\),所以 \(\sqrt{5}\) 在 2 和 3 之间,整数部分 \(a = 2\),余量 \(r = 5 - 4 = 1\)。

第二步:刘徽的几何直觉——扩大正方形。

把 “求 \(\sqrt{5}\)” 想成 “找边长,使正方形面积为 5”。边长 \(a = 2\) 时面积为 4,还差 \(r = 1\)。在边长为 2 的正方形四周加宽 \(\delta\),新增面积约为 \(4\delta\)(四个长条,每条约 \(2\delta\),加上四个角落的 \(\delta^2 \approx 0\)):

\[ 4\delta \approx r = 1 \quad \Rightarrow \quad \delta \approx \frac{1}{4} = 0.25 \]

所以:

\[ \sqrt{5} \approx 2 + \frac{1}{4} = \frac{9}{4} = 2.25 \]

检验:\((2.25)^2 = 5.0625\)。偏高了一点——近似过了头,因为我们忽略了四个角落 \(\delta^2\)。

第三步:刘徽的一般公式。

设 \(a^2 \le N < (a+1)^2\),余量 \(r = N - a^2\),则:

\[ \sqrt{N} \approx a + \frac{r}{2a} \]

(注意:这里用 \(2a\) 而不是 \(4a\),是因为"正方形四周"有两条相邻边,每条长 \(a\),各添 \(\delta\) 后各增加 \(a\delta\),共 \(2a\delta\),不是 \(4a\delta\)——刘徽的公式是正确的线性近似。)

代入 \(N = 5\),\(a = 2\),\(r = 1\):

\[ \sqrt{5} \approx 2 + \frac{1}{2 \times 2} = 2 + \frac{1}{4} = 2.25 \]

再试 \(\sqrt{2}\):\(a = 1\),\(r = 1\):

\[ \sqrt{2} \approx 1 + \frac{1}{2} = 1.5 \]

检验:\(1.5^2 = 2.25\),偏高。这是第一次近似。

第四步:迭代逼近。

以 \(\frac{3}{2}\) 为新起点,\(r_2 = 2 - \frac{9}{4} = -\frac{1}{4}\)(负余量意味着高估了),\(\delta_2 = \frac{-1/4}{3} = -\frac{1}{12}\):

\[ \sqrt{2} \approx \frac{3}{2} - \frac{1}{12} = \frac{17}{12} \approx 1.4167 \]

检验:\(\left(\frac{17}{12}\right)^2 = \frac{289}{144} \approx 2.0069\),已经相当准确了。

再迭代一次:\(r_3 = 2 - \frac{289}{144} = \frac{288 - 289}{144} = -\frac{1}{144}\),\(\delta_3 = \frac{-1/144}{34/12} = -\frac{1}{408}\):

\[ \sqrt{2} \approx \frac{17}{12} - \frac{1}{408} = \frac{577}{408} \approx 1.41421... \]

这已经精确到小数点后五位了。

刘徽说:“退之弥下,其分弥细”——继续迭代,精度可以无限提高。这和牛顿迭代法(1669年)的数学原理完全相同,只是语言不同,时间早了约1400年。

这有什么意义?

在刘徽的时代,“不尽根”(无理数)是个麻烦。你没有小数,没有无限展开式。刘徽的答案是:用分数序列逼近,并且证明这个序列可以逼近到任意精度。这是一种非常现代的数学态度:可以任意精确,就等于精确


率论的代数结构:超越具体数字的思考

这个问题其实很深。让我们来讨论一下刘徽是如何用"率"来处理复合比例的。

《九章算术》里有一类问题,叫做复比例,现代算法叫"连锁法则”。例如:

如果1匹布价值3两银,5斤丝换4匹布,7钱金换2斤丝,那么1钱金值多少布?

这是三个率的链式组合。刘徽的处理方式是:

建立率的等价序列:

\[ 1 \text{ 布} : 3 \text{ 银}, \quad 5 \text{ 丝} : 4 \text{ 布}, \quad 7 \text{ 金} : 2 \text{ 丝} \]

用齐同方法,把中间项消去,直接求金和布的率。每一步都是今有术的应用,整个过程是率的传递。

最后得到的关系:

\[ 7 \text{ 金} : 2 \text{ 丝} : \frac{8}{5} \text{ 布} : \frac{24}{5} \text{ 银} \]

因此:

\[ 1 \text{ 金} = \frac{2}{7} \text{ 丝} = \frac{8}{35} \text{ 布} \]

刘徽说,这个过程的每一步都可以用今有术表示——率是可以"传递"和"组合"的。这是代数里"乘法的结合律"在具体算术问题中的体现。


正负术:负数第一次有了规则

我们今天要讲的最后一个主题,是刘徽对负数的处理。

在《九章算术》的"方程"章里,出现了一套规则叫做正负术

“同名相益,异名相消,正无入负之,负无入正之。”

翻译成现代语言:

  • 同号相加:两正相加得正,两负相加得负
  • 异号相加:取绝对值大的符号,做减法
  • “正无入负”:如果 \(+a\) 和什么都没有(零)相加,结果是 \(-a\)

这是世界数学史上第一套明确的负数运算规则

在算筹操作中:红色算筹表示正数,黑色算筹(或斜放的算筹)表示负数。把一列数排成算板上的列阵,通过"互乘相消"逐步消去未知数——这和今天我们学的高斯消元法,在结构上完全相同。

让我们看一个具体的例子。

《九章算术》方程章第一题(三种粮食,三个等式):

\[ \begin{cases} 3x + 2y + z = 39 \\ 2x + 3y + z = 34 \\ x + 2y + 3z = 26 \end{cases} \]

刘徽的方法是:把系数排成一个 \(3 \times 3\) 的算板(矩阵):

\[ \begin{pmatrix} 3 & 2 & 1 \\ 2 & 3 & 2 \\ 1 & 1 & 3 \end{pmatrix} \begin{pmatrix} 39 \\ 34 \\ 26 \end{pmatrix} \]

用第一列消去第二、第三列的 \(x\) 系数(“互乘相消”)。消元过程中系数会变负——这就是为什么需要正负术。消元完成后逐步回代,得到:

\[ z = \frac{39}{4} = 9.75, \quad y = \frac{17}{4} = 4.25, \quad x = \frac{37}{4} = 9.25 \]

(原题有分数答案,这是正常的。)

这个算法是在公元263年完成的。高斯消元法以高斯的名字命名,因为他在1800年前后系统化了这个方法。但刘徽的版本早了约一千五百年,而且已经处理了消元中途系数变负的情形——这正是高斯之前许多欧洲数学家回避的地方。


等差级数和等比级数:刘徽对《九章》“衰分"的注解

你知道传说中少年高斯的故事吗?老师让全班同学把1加到100,高斯几秒钟就给出了答案5050,方法是把首项和末项配对。

刘徽在注释《九章算术》“衰分"章(等差分配)时,明确给出了等差数列求和公式:

\[ S = \frac{n(a_1 + a_n)}{2} \]

首末两项配对,一共 \(n\) 项,求和就是这个。这和少年高斯用的技巧完全相同。高斯的故事发生在1787年,刘徽大约生于公元225年,相差一千五百年。

等比级数:

在割圆术的误差分析里,刘徽发现了一个关键规律:正 \(2n\) 边形和正 \(n\) 边形的面积差,每翻倍一次缩小为原来的 \(\frac{1}{4}\)。这些差构成一个等比数列,公比是 \(\frac{1}{4}\):

\[ (S_{12} - S_6) + (S_{24} - S_{12}) + (S_{48} - S_{24}) + \cdots = \frac{S_{12} - S_6}{1 - 1/4} = \frac{4}{3}(S_{12} - S_6) \]

用这个级数求和,刘徽可以精确估计误差上界,而不只是说"越来越接近”。他在阳马体积的论证里也用过同样的等比级数:

\[ \frac{1}{4} + \frac{1}{4^2} + \frac{1}{4^3} + \cdots = \frac{1}{3} \]

这是用无穷等比级数进行数值计算的最早记载之一。


刘徽究竟有多特别?

我们用了两章讲刘徽,现在来做一个总结:他究竟比他之前的数学家特别在哪里?

第一:他问"为什么”,而不只是"如何算"。

《九章算术》的态度是:这个公式有效,用它就好了。刘徽的态度是:这个公式为什么有效?在公元3世纪,这个问题的提出本身就是一种革命。

第二:他有一套工具,而不只是一堆技巧。

出入相补原理、率论框架、无穷分割方法——这三套工具,在刘徽手里是相互关联的,可以互相支持。他处理平面面积用出入相补,处理体积用无穷分割加出入相补,处理比例用率论,处理方程用率论加正负术。这是一个有内在逻辑的体系,而不是一个算法杂货铺。

第三:他有明确的美学标准。

刘徽借用《庄子》“庖丁解牛"的典故说:好的数学方法应该"游刃理间”,不费力气,历久不钝。他明确批评前人的方法"拙于精理",批评粗糙的公式"以多为贵"。他追求的是:简洁、普遍、有根据

这三个标准——简洁(“要约”)、易于掌握(“贵易”)、有理由(“析理以辞”)——构成了刘徽的数学美学宣言。

第四:他诚实地标记了自己的边界。

牟合方盖的悬案,是刘徽诚实的最好证明。他没有给出一个错误的答案,而是留下了一个准确的问题。在数学史上,这种诚实并不常见。

刘徽的数学不是"尚未达到希腊严格性的前体",而是在不同认识论前提下建立的另一种严格性:以操作可行性为标准,以几何直观为基础,以无穷逼近为工具,以简洁普遍为目标。这些标准不比欧几里得的少,只是不同。


Chapter 16: 算经十书概览

一个王朝,十本教科书

公元656年,唐高宗下令。

令文的内容说起来平常:命太史令李淳风等人奉敕注释指定的几部数学典籍,使之作为国家算学教育的标准教材。结果不平常:这个决定把散落在几百年间的数学文献打包成了一套"算经十书",确立了它们的官方经典地位,使其中大多数得以传世至今。

十部算经不是某一个人编的,每一本都有自己的来历:

算经大致年代作者/注者核心内容现存状态
《周髀算经》约前1世纪定型赵爽注天文数学、勾股最早记载完整
《九章算术》约1世纪定型刘徽注、李淳风注中国古代数学总纲完整
《海岛算经》263年(刘徽)重差测量术完整(图失传)
《孙子算经》约4—5世纪甄鸾注算筹规则、中国剩余定理完整
《五曹算经》约6世纪(甄鸾)李淳风注行政五曹应用数学完整
《夏侯阳算经》约8世纪(韩延)乘除捷算法完整(后人改写本)
《张邱建算经》约5世纪甄鸾、刘孝孙注等差数列、百鸡问题基本完整
《五经算术》约6世纪(甄鸾)李淳风注儒家经典中的数字注解完整
《缉古算经》约7世纪(王孝通)李淳风注三次方程有残损
《数术记遗》题汉末徐岳,疑为后人托名甄鸾注大数命名、14种算具完整

原名单上还有另一部书:《缀术》,祖冲之所著。唐代把它誉为"学者莫能究其深奥",分配给学生的学习时间是四年——比《九章算术》还多整整一年。

公元1084年,北宋重刻算经十书时,《缀术》已经找不到了。用《数术记遗》顶替了它的位置。

这是中国数学史上最大的损失之一。我们永远不知道里面写了什么。

唐代算学教育制度详解

贞观二年(628年),算学教育制度正式确立。细节颇为有趣。

**学生来源:**算学生招收"八品以下官员之子及庶人中通晓数学者"——和国子学、太学专收贵族子弟不同,算学向中低级官员和平民开放。入学年龄14至19岁,学制七年,国家提供食宿,不收学费(但学生要向老师交束脩之礼,一匹绢)。

课程分配:

一班(基础数学):

  • 《孙子算经》《五曹算经》合习一年
  • 《九章算术》《海岛算经》合习三年
  • 《张邱建算经》《夏侯阳算经》各一年
  • 《周髀算经》《五经算术》合习一年

二班(高级数学):

  • 《缀术》四年
  • 《缉古算经》三年

两班均需兼习《数术记遗》《三等数》,以"帖读"方式考核——用纸条遮住书上若干字,令学生默诵,达到90%准确率即合格。

**考试制度:**年底口试"大义十条"。不是背公式,而是解释原理,“辩明术理”。累计三年考试在"下等"者令退学。毕业通过明算科考试,优秀者直接获得从九品官阶,由吏部分配工作。

从九品是唐代最低一级的官阶,薪俸每月约1917文铜钱。不高,但数学有了专业身份。

**《缉古算经》的特殊地位。**二班学《缉古算经》需要三年,说明其难度极大。唐初李淳风在注释这本书时坦承,自己看了很久才弄懂某些地方。王孝通在上表献书时大言不惭地说"能究其奥妙者,方悟旨趣"——自己的书全国没几个人能看懂。这话虽然狂妄,就这本书而言,并不算太夸张。

1084年:北宋重刻与流传

北宋元丰七年(1084年),秘书省奉旨刻版印行算经十书。这是中国历史上数学著作的第一次大规模官方印刷。此后七百年,算经十书的流通主要依靠这批版本。今天流传下来的《九章算术》《周髀算经》等,多为宋刻本的后代——南京国子监明版、清代孔继涵微波榭本,一脉相传。

《缀术》在1084年刻版时已经找不到。永久失传。

李淳风:不只是编辑,还是数学家

在算经十书的故事里,李淳风(602—670)往往扮演一个"整理者"的角色——他奉敕注释,他校订谬误,他把散乱的典籍整理成可供教学的格式。这个形象并不错,但它遮蔽了另一面:李淳风是一个有独立数学贡献的思考者。

重差术的推广:不等高测量

《周髀算经》里有一套"日高术":在两个已知间距的地点同时立表,通过观测同一天体的仰角差,推算目标的高度和距离。刘徽的《海岛算经》把这套方法系统化。但这些经典推导都隐含一个前提:两个测量点在同一高度。实际工程测量当然不是这样。

李淳风在注释《周髀算经》时,系统处理了两个测量点不等高的情形。他把不等高的重差问题,通过勾股定理转化为等高情形下的标准日高术,引入一个经过校正的"定间",使修正后的数值在几何上等价于两表在同一水平面时的间距。这让重差术能够适用于山地、坡地、岸崖等各种实际地形——把刘徽的测量方法从平原搬上了有地势起伏的真实世界

《麟德历》:共同分母的天才设计

李淳风最重要的独立历法成就是《麟德历》,于麟德二年(665 年)颁行,通行约六十余年。他解决了一个历代历法家都头疼的技术问题:分数运算的复杂性。

中国古代历法不使用小数。天文数据全都表达为整数比,而不同天文量的分母各不相同,每次计算都需要通分,极度烦琐。李淳风的做法是:为《麟德历》中所有天文数据规定一个统一的公分母——1340,他称之为"总法":

\[\text{太阳年长} = 365\,\frac{328}{1340} \text{ 度},\quad \text{月亮日行} = 13\,\frac{494}{1340} \text{ 度}\]

所有数据共享分母 1340,加减乘除不再需要随时通分,计算流程从此简洁了一个数量级。翻译成现代语言:这相当于把所有天文量统一到同一个整数格点上,在没有小数记法的时代,是计算工程上的重大创新。

定朔的最终落地

中国历法史上有一段旷日持久的争论:历法中的"朔",应当用平均值计算(平朔),还是用考虑日月真实运动不均匀性的修正值(定朔)?最早提出定朔的是何承天(443 年),刘焯在《皇极历》(约 600 年)中给出完整计算方法,但两人的历法都因各种原因未能长期颁行。

李淳风在《麟德历》里,以不可争辩的方式把定朔落实了:

\[\text{定朔时刻} = \text{平朔时刻} + \text{太阳改正值} + \text{月亮改正值}\]

这一步骤的数学工具,正是刘焯的二次内插法。《麟德历》颁行后,定朔从此成为中国历法的标准做法,后续历法无一例外。李淳风没有发明定朔,但他做了一件同样重要的事:让先进方法第一次真正进入国家的计算实践,不再只是学者的纸上理论。一个制度的落地,有时需要的不是发明者,而是推广者。

南北朝历算辅臣:赵欧与信都芳

在算经十书的显赫名单之外,南北朝时期还有两位常被忽视、但对历算传统影响深远的人物值得单独提出。

赵欧,河西敦煌人,北凉太史令,生卒年不详,活跃于4世纪末至5世纪初。《宋书》称其"善历算"。北凉沮渠蒙逊于玄始元年(412年)颁行赵欧所撰《玄始历》——这是少数民族政权下产生的一部重要历法。《玄始历》后来为北魏采用长达七十年(452—522年),《魏书·律历志》称其"后谓为密,以代《景初历》",可见精度较高。

赵欧最重要的历法贡献是打破了沿用近千年的"十九年七闰"旧闰周。从春秋中期起,中国历法一直用19个回归年等于235个朔望月的关系来安排闰月。但这个比例的精度有其上限:要提高朔望月的精度,就必然影响回归年,反之亦然。赵欧首破千年章法,改用600年221闰的新闰周,并定回归年为365.244306日、朔望月为29.530600日,两项数据均比前代更为精确。后来祖冲之进一步发展,改为391年144闰,正是沿着赵欧开辟的这条路走下去的。赵欧著述甚丰(《七曜历数算经》《赵欧算经》等),惜均已失传,但其在闰周理论上的突破足以表明他是一位造诣精深的数学家。

信都芳(约5世纪末至6世纪上半叶),字玉琳,河间(今河北河间)人,北魏数学家与科学仪器学家。《北齐书》记载他"少明算术,为州里所称。有巧思,每精研究,忘寝与食,或坠坑坎"——心无旁骛到跌进坑里的程度。他曾在北魏权贵元延明(482—528,博学善藏书)的资助下展开研究,承担了三项工作:其一,从《五经》中辑录与数学相关的内容,编成《五经宗》(即《五经宗略》23卷),后来甄鸾的《五经算术》或与此有渊源;其二,整理历代乐律资料,编著《乐书》七至九卷;其三,将浑天仪、欹器、地动仪、铜鸟、漏刻、候风仪等各类科学仪器绘成图文并茂的《器准图》,既有文字描述原理,又有精确图形和尺寸数据,便于仿造——这是中国现存最早的科学仪器汇编计划之一。

信都芳与祖暅有过直接的学术交流。《北史》记载,祖暅当时羁留在元延明家,信都芳劝说元延明厚待祖暅,祖暅后来"留诸法授芳,由是弥复精密"——信都芳正是通过祖暅获得了祖冲之、祖暅父子的天文历算方法。他晚年自撰《灵宪历》,“未成而卒”。虽然他的著作悉数失传,但他作为南北朝数学—历算—仪器学交叉领域的枢纽人物,在中国科学史上有其独特的地位。


为什么是这十部?选书逻辑与课程设计

算经十书的选定,不是一次在图书馆里随机翻检的结果。它是一套精心设计的课程规划,背后有明确的教学目标和政治考量。

谁来做这件事:李淳风团队

唐太宗贞观年间(627—649年),朝廷议定算学课程,时任太史令、著名天文历算家李淳风(602—670年)被委以重任,率团队对流传中的算书进行系统整理、注释和汇编。这是中国历史上第一次由国家出面、以单一学者团队为核心对数学典籍进行系统化整理。

李淳风团队的工作分三个层次:一是收集,从各地搜集流传中的算书(包括残本);二是注释,对原文做数学注解,纠正错误,补充论证;三是排定课程用途,按难度和主题排序,配合明算科考试需求。

为什么是"十"部?

十这个数字不是偶然的。十在中国文化中是完整性的象征(十全十美),但更重要的是,十部经典对应着当时已知的主要数学知识领域,构成一个在当时看来相对完备的覆盖:天文数学(《周髀算经》)、综合算法(《九章算术》)、测量(《海岛算经》)、初等数论(《孙子算经》)、行政应用(《五曹算经》)、经典注解(《五经算术》)、数列与不定方程(《张邱建算经》)、捷算(《夏侯阳算经》)、高次方程(《缉古算经》)、大数与算具(《数术记遗》)。缺席的一部——《缀术》——则是难度最高、覆盖祖冲之最深刻成果的那一部,其失传是整套体系最大的缺口。

《缀术》的特殊地位:四年学习的谜题

在唐代课程安排中,《缀术》被分配了整整四年的学习时间。作为对比,《九章算术》三年,《孙子算经》和《五曹算经》合计一年。如果《缀术》被安排了比《九章算术》更长的学习时间,它必然包含了比《九章算术》难度更高的数学内容。李淳风在注释时承认"学者莫能究其深奥"——这是一位顶级数学家的坦承,说明《缀术》的水平确实超出了当时大多数学者的理解极限。

祖冲之(429—500年)的已知成就——圆周率精确到小数点后七位(\(3.1415926 < \pi < 3.1415927\)),以及祖暅原理(球体积公式)——都没有完整出现在其他流传下来的文献中。《缀术》很可能包含了这些内容的完整论证,以及我们今天完全不知道的其他成就。它的永久失传是中国数学史上最深的遗憾。

明算科考试制度详解

考试形式

唐代明算科考试(属于礼部进士考试体系的一个专科)并不是简单的数学计算考试,其内容分为两个部分:

第一部分,帖读:考官用纸条遮住考生所学算经的部分文字,令考生默诵,类似于今天的填空题。通过率要求90%——三处中答对不少于两处七分处以上。这一部分考查的是记忆力和对原文的熟悉程度。

第二部分,口试大义:考官提问算经中的数学原理,要求考生"辩明术理",即解释算法为什么正确,而不只是说出算法步骤。这是对理解深度的考查,相当于今天的口试或答辩环节。十道义题中须答对六道以上方为合格。

考试难度的级别分层

不同算经的难度在考试中有明确体现:

  • 帖读《孙子算经》《五曹算经》,难度较低,适合入门;
  • 帖读《九章算术》,需要三年学习,难度中等;
  • 帖读《缉古算经》,三次方程内容,高级,能通过者寥寥;
  • 帖读《缀术》,四年学习仍"莫能究其深奥",是精英中的精英。

社会阶层的开放性

这一点值得特别强调:算学馆招收"八品以下及庶人",是唐代国子监体系中对平民开放程度最高的机构。国子学招正三品以上官员子弟,太学招五品以上,算学则向更低层级官员和普通平民开放。数学教育在唐代是一条相对平民化的仕途通道,虽然所授官职(从九品)并不高,但它提供了一个跨越阶层的制度性渠道。

与希腊数学教育体系的比较

中世纪欧洲的数学教育以"四艺"(quadrivium)为核心:算术、几何、音乐(比例与和声)、天文。四艺构成高等教育(大学级别)的理论基础。

维度唐代算经十书体系中世纪欧洲四艺
核心文本十部算经(汉至隋的原创著作)欧几里得《原本》(几何)、波埃修《算术》
数学内容算法导向(如何计算)为主演绎证明(为什么正确)为主
实用性直接服务行政与工程作为逻辑训练,较少直接实用
制度背景国家考试选拔专业官员教会教育培养神职人员与学者
代数水平《九章》方程章已有消元法代数在欧洲要到12世纪后才通过阿拉伯著作传入
最高难度《缀术》(三次方程以上,今失传)托勒密《天文学大成》(天文计算)

最关键的差异在于教学目的:唐代算学培养的是算官和历算专家,服务于帝国行政的实际需求;中世纪欧洲四艺培养的是理解神学与哲学论证所需的逻辑思维能力。两套体系的数学都是严肃的,但它们植根于完全不同的知识观念和制度土壤。

哪些算经是原本,哪些是重构?

一千三百年过去,算经十书的存世状态有所不同:

保存完整者:《周髀算经》《九章算术》《孙子算经》《五曹算经》《五经算术》《数术记遗》——这六部文本连续流传,基本完整。

有较大重构成分者:《夏侯阳算经》——今本实为唐代韩延的重写本,托夏侯阳之名,与魏晋原作关系已不可考;《张邱建算经》——甄鸾注有残损,部分内容来自后人补入;《缉古算经》——有若干题目残缺,但主体完整。

永久失传者:《缀术》——1084年北宋刻版时已无底本可寻,以《数术记遗》替补其位。


算经十书之外:十书"不收"什么?

算经十书是一套课程,不是一部百科全书。理解它收了什么,同样重要的是理解它没有收什么——这些缺席揭示了唐代数学教育的边界在哪里。

**祖冲之的《缀术》本来在列,但失传了。**这一点已经说了很多。更值得注意的是:《缀术》失传之后,没有用同等难度的著作来补位,而是用了最薄的一本《数术记遗》。这个替换本身就说明:唐代算学教育到北宋时已经大幅退步,已经没有人有能力写出同等难度的替代品。

**没有收录的方向一:纯粹的数论。**算经十书里有初等数论的内容(《孙子算经》的中国剩余定理、《张邱建算经》的百鸡问题),但没有系统性的整数理论。比较一下同时代的印度数学家婆罗摩笈多(Brahmagupta,约628年),他在《婆罗摩笈多文集》里讨论了不定方程的一般理论,比《孙子算经》的解法更系统。这个领域中国一直到清代才通过《数理精蕴》接触到欧洲的发展。

没有收录的方向二:几何证明传统。算经十书里有大量的面积、体积计算(《九章算术》方田、商功诸章),刘徽和祖暅有几何证明的萌芽,但没有像欧几里得《原本》那样的演绎体系。中国古代数学从来不以"证明"为主要目标,算经十书完整地体现了这个传统:它们是操作手册,不是理论体系。这不是落后,是不同的知识组织方式——要到16世纪利玛窦带来《原本》,中国才第一次接触到公理化演绎几何的框架。

**没有收录的方向三:三角学。**中国古代没有发展出正弦、余弦的概念。测量问题用"重差术"解决(《海岛算经》),本质上是利用相似三角形的比例,而不是三角函数。这个缺口直到明末传教士传入三角函数表才弥补。

理解这些"缺席",我们才能准确理解算经十书的位置:它们是汉至隋这段时间里中国数学已经发展出来的成就的总结,也是那个时代教育和考试制度所能容纳的知识边界。


唐代国子监的物理空间:算学馆长什么样?

我们花了很多时间讨论课程和考试,但算学馆的物理现实是什么?学生在哪里学、怎么学?

唐长安城里,国子监设在皇城东南角,有专属的院落。算学馆是国子监下属六学之一(国子学、太学、四门学、书学、律学、算学),规模最小:名额30人,助教若干,博士2人,国子博士1人。相比之下,国子学名额300人,太学500人,四门学1300人——算学馆的规模不到太学的一个零头。

学生30人,算具主要是算筹。一套完整的算筹约250根,装在一个布袋里,叫做"算袋"。博士讲课时,学生在案前排好算筹,按讲授的步骤一步步操演——这是主动的操作学习,不是被动的听讲。

教材是手抄本。印刷本要到1084年北宋重刻才有——唐代的学生用的是算书的手抄件,由国子监书手誊写,分发给学生或由学生自己抄录。抄错了怎么办?只能靠口试来纠正——这也是为什么"帖读"考试这么重要:用纸条盖住书上的字,令学生默诵,实际上是一种检查抄本质量的机制。

算学馆的学生食宿由国家提供——“月廪食”(每月口粮)和"冬夏衣料"(换季衣物)都有制度规定。这对出身平民家庭的学生来说是真实的激励:七年学费全免,还管吃管住,毕业后有官可做。数学,在那个时代,是一条平民子弟可以走的上升通道,虽然窄,但确实存在。


为什么656年这个时间节点很关键?

算经十书的编定不是偶然发生在656年的。这个时间点有它的历史背景。

隋代(581—618年)在隋炀帝时已经设立了算学馆,但随着隋朝的崩溃,制度也中断了。唐初重建教育制度,贞观二年(628年)正式恢复算学教育,但当时没有统一的教材——各地流传的算书版本不同,注释水平参差,直接影响考试的标准化。

唐高宗显庆元年(656年),李淳风受命主持算经注释工作,时间选择并非随意。正是在这一年前后,唐代的科举制度经历了重要调整,明算科的考试标准需要固定下来。李淳风的任务,本质上是为一场国家考试编写标准答案书——而要编标准答案,首先要确定哪些书算"经典",哪些注释是"正确"的。

李淳风做的,不只是把几本书收进一个书目。他实际上是在定义什么是正确的数学。他的注释解读了原文的算法,修正了他认为有误的表述,补充了他认为缺漏的论证。当他的注释成为唐代算学馆的教材,他对这些算法的理解就成了标准。后世读算经十书,首先读到的是李淳风的理解——而不总是原作者的意图。

这是算经十书作为"经典化"工程的本质:它不只是保存了数学,它也塑造了数学。


算经十书为什么是今天研究前唐数学的第一手资料?

一个问题值得明确回答:我们今天从哪里知道汉代和魏晋南北朝的数学?

答案基本上就是:算经十书。

在算经十书之外,汉魏到隋唐的数学文献存世极少。敦煌出土了一些数学残卷(主要是九九歌和乘除表),吐鲁番文书里有几页算术练习,但这些都是零散的片段,没有完整的数学著作。

这意味着:算经十书实际上是我们了解前唐数学的几乎唯一系统性窗口。《九章算术》里的分数算法代表了汉代数学的水平;《孙子算经》里的中国剩余定理告诉我们南北朝时初等数论达到了什么程度;《张邱建算经》的等差数列和百鸡问题是5世纪数学的快照。

但这个窗口是有偏差的。算经十书选择的是能用于教学和考试的书,不是所有存在过的数学著作。那些太难的(《缀术》)失传了;那些太民间的、太实用的、太地方性的,本来就没有进入文献系统。算经十书保存了唐代官方教育认为值得保存的数学。这已经弥足珍贵,但我们应该清楚它的局限:它不是完整的中国古代数学,只是那个时代的官方版本。

今天读算经十书,读的是一千四百年前一群学者——以李淳风为代表——对更古老数学传统的整理和诠释。理解这一层,才算真正读懂了这套书。

Chapter 17: 《孙子算经》— 中国剩余定理

先做这道题,别急着往下翻

来,先停下来,认真做这道题。

有若干东西,不知道到底几个。用三个三个地数,最后剩下两个;用五个五个地数,最后剩下三个;用七个七个地数,最后剩下两个。问:这些东西原来共有多少?

先别往下看。给自己三分钟,试着想一想。

……

好,三分钟到了。

你可能以为这很简单——不就是凑数嘛。那你数了多少:3余2,也就是5、8、11、14、17、20、23、26……;5余3,也就是3、8、13、18、23、28……;7余2,也就是2、9、16、23、30……三个序列里都出现的最小数,是23。

用试遍法,你可以找到答案。但这不叫方法,这叫运气好。如果题目变成:被17除余5、被19除余3、被23除余7——你怎么办?一个个试,能试到哪年?

这就是问题的核心。《孙子算经》这道题,不是在考你的计算速度,而是在问你:有没有一套系统的方法,对任何这类问题都能给出答案?

答案是有的。而且,这套方法深刻到,一千七百年后,它仍然是现代密码学的基础工具。

这道题出现在《孙子算经》卷下第26题,成书约公元4—5世纪,作者无从确考。书的整体学术水平不及《九章算术》,某些地方甚至有错误,但这一道题让它名垂千古,让整本书被收入"算经十书",让它在唐代国子监的算学课堂上被郑重讲授。

用现代符号,题目是:

\[ x \equiv 2 \pmod{3}, \quad x \equiv 3 \pmod{5}, \quad x \equiv 2 \pmod{7} \]

最小正整数解:\(x = 23\)。

但怎么求出来的?这才是全部故事的开始。


第一种解法:穷举法——为什么它不够好

穷举法是最朴素的思路:列出满足第一个条件的所有数,5、8、11、14、17、20、23……再看哪个同时满足第二个条件,再验第三个条件,找到23。

这是正确的,但作为数学方法,它有三个根本性的缺陷:

第一,当模数变大时,需要试验的数急剧增加。模数为3、5、7,最大公倍数是105,你最多试105个数。如果模数是13、17、19,最大公倍数是4199,你要试4199个数。

第二,穷举法给不出一般公式。它对每道新题都要重新来过,每次的劳动不能积累成可复用的知识。

第三,也是最根本的:穷举法不能证明解的唯一性和存在性。如果在105以内找不到解,是不是代表无解?不一定——也许模数不互素,情况会更复杂。

穷举法是最初的探索,但不是数学。数学需要方法。


第二种解法:孙子的构造法——魔数从哪里来

《孙子算经》给出的解法,用今天的话说,是一套构造性证明。它不是搜索答案,而是把答案直接造出来。

核心思想是什么?把三个互相纠缠的同余条件,彼此解耦。

你这里有三个约束:被3整除余2,被5整除余3,被7整除余2。孙子的想法是:先造出三个"专用数",每个专用数只服务于一个约束,对其他两个约束完全透明——也就是说,对另外两个模数,专用数的余数是零。然后把三个专用数按余数加权叠加,最后减去总模数的倍数,就能还原出 \(x\)。

怎么造这三个专用数?

造第一个专用数:只对模3有贡献。

要对模5和模7贡献为零,这个数必须是 \(5 \times 7 = 35\) 的倍数。但我们还希望它对模3的贡献恰好是1(这样乘以余数2就能贡献2)。所以要找 \(k\) 使得 \(35k \equiv 1 \pmod{3}\)。

算一算:\(35 = 11 \times 3 + 2\),所以 \(35 \equiv 2 \pmod{3}\)。我们要 \(2k \equiv 1 \pmod{3}\),试 \(k=2\):\(2 \times 2 = 4 \equiv 1 \pmod{3}\),对了!

所以第一个专用数是 \(35 \times 2 = 70\)。验证:\(70 \equiv 1 \pmod{3}\) ✓;\(70 \equiv 0 \pmod{5}\) ✓;\(70 \equiv 0 \pmod{7}\) ✓。

造第二个专用数:只对模5有贡献。

要对模3和模7贡献为零,这个数必须是 \(3 \times 7 = 21\) 的倍数。找 \(k\) 使得 \(21k \equiv 1 \pmod{5}\)。\(21 = 4 \times 5 + 1\),所以 \(21 \equiv 1 \pmod{5}\)。直接 \(k = 1\),专用数就是21。

验证:\(21 \equiv 0 \pmod{3}\) ✓;\(21 \equiv 1 \pmod{5}\) ✓;\(21 \equiv 0 \pmod{7}\) ✓。

造第三个专用数:只对模7有贡献。

要对模3和模5贡献为零,这个数必须是 \(3 \times 5 = 15\) 的倍数。找 \(k\) 使得 \(15k \equiv 1 \pmod{7}\)。\(15 = 2 \times 7 + 1\),所以 \(15 \equiv 1 \pmod{7}\)。直接 \(k = 1\),专用数就是15。

现在,把三个专用数按各自对应的余数做线性组合:

\[ N = 70 \times 2 + 21 \times 3 + 15 \times 2 = 140 + 63 + 30 = 233 \]

最后减去 \(\mathrm{lcm}(3,5,7) = 105\) 的倍数:\(233 = 2 \times 105 + 23\),最小正整数解:

\[ x = 23 \]

来,我们把这个过程的逻辑想清楚。为什么233满足所有三个同余条件?

  • 对模3:\(70 \times 2 \equiv 1 \times 2 = 2\),\(21 \times 3 \equiv 0\),\(15 \times 2 \equiv 0\),合计 \(\equiv 2 \pmod{3}\) ✓
  • 对模5:\(70 \times 2 \equiv 0\),\(21 \times 3 \equiv 1 \times 3 = 3\),\(15 \times 2 \equiv 0\),合计 \(\equiv 3 \pmod{5}\) ✓
  • 对模7:\(70 \times 2 \equiv 0\),\(21 \times 3 \equiv 0\),\(15 \times 2 \equiv 1 \times 2 = 2\),合计 \(\equiv 2 \pmod{7}\) ✓

每个专用数只在"自己负责的模"上贡献,对其他两个模贡献为零。这是整个方法的灵魂。


口诀的智慧:三人同行七十稀

明代数学家程大位(1533—1606)在1592年出版的《算法统宗》里,把孙子这套方法整理成了一首令人拍案叫绝的口诀:

三人同行七十稀,五树梅花廿一枝,七子团圆正月半,除百零五便得知。

逐句解码:

  • “三人同行七十稀”:被3除的余数,乘以70
  • “五树梅花廿一枝”:被5除的余数,乘以21
  • “七子团圆正月半”:被7除的余数,乘以15(“正月半"就是正月十五,也就是15)
  • “除百零五便得知”:把三项加起来,减去105的倍数,取最小正整数

这首口诀的绝妙之处远不止于押韵。想象一下:公元1592年,没有纸笔的商贩,没有上过学的账房,只要背下这四句话,就能在脑子里解决所有模数为3、5、7的同余问题。数学被压缩进了语言,在口耳相传的文化里照样可以操作和流通。这是中国数学传播方式的典型——把精确的算法编码成可以记忆和流传的语言形式。


深入一步:模逆元的代数本质

来,我们现在来挖更深一层。

为什么70是"专用数”?真正的原因,是因为 \(70 = 35 \times 2\),而 \(35 \times 2 \equiv 1 \pmod{3}\)。这里的2,是35关于模3的模逆元

什么是模逆元?对于整数 \(a\) 和模数 \(m\)(两者互素),满足

\[ a \cdot a^{-1} \equiv 1 \pmod{m} \]

的整数 \(a^{-1}\),叫做 \(a\) 关于模 \(m\) 的逆元。

为什么逆元一定存在?因为 \(\gcd(a, m) = 1\) 时,由贝祖定理,存在整数 \(s, t\) 使得 \(as + mt = 1\),两边对 \(m\) 取模,得 \(as \equiv 1 \pmod{m}\),所以 \(s\) 就是逆元。

在孙子的三模数问题里,设 \(M = 3 \times 5 \times 7 = 105\),定义:

  • \(M_1 = M/3 = 35\),求 \(e_1\) 使 \(M_1 e_1 \equiv 1 \pmod{3}\)
  • \(M_2 = M/5 = 21\),求 \(e_2\) 使 \(M_2 e_2 \equiv 1 \pmod{5}\)
  • \(M_3 = M/7 = 15\),求 \(e_3\) 使 \(M_3 e_3 \equiv 1 \pmod{7}\)

一般解是:

\[ x \equiv r_1 M_1 e_1 + r_2 M_2 e_2 + r_3 M_3 e_3 \pmod{M} \]

孙子算出的那三个"魔数"——70、21、15——正是 \(M_1 e_1 = 35 \times 2 = 70\),\(M_2 e_2 = 21 \times 1 = 21\),\(M_3 e_3 = 15 \times 1 = 15\)。口诀把这三个数背下来,就省去了每次重新算逆元的步骤。

这就是整个方法的代数心脏:找逆元,做线性组合,模去总模数。


这个问题为什么"深刻":历法里的同余方程

你可能以为同余问题只是整数游戏,跟现实没什么关系。让我告诉你它有多深。

中国古代历法有一个核心概念叫上元积年。历法家的想法是这样的:找一个遥远的理想起点——那个时刻,所有天文周期(太阳年、朔望月、近点月、交点月等)同时回到整数圈,如同一张拨到零的计时器,所有指针同时指向12点。那个理想起点叫"上元",从上元到当前年份的年数叫"上元积年"。

构造上元积年,本质上是解一组同余方程。设上元积年为 \(N\),不同的天文周期给出不同的同余约束:

\[ N \equiv 0 \pmod{m_1}, \quad N \equiv 0 \pmod{m_2}, \quad \cdots \]

大衍求一术——秦九韶系统化的版本——就是历法家计算上元积年的工具。换句话说,中国剩余定理不是一道趣味数学题,它是帝国历法工程的核心算法,是测量时间、预言日食月食、规划农事节令的计算引擎。


现代应用:今天的芯片里有孙子

RSA加密需要计算 \(m^e \pmod{n}\),其中 \(n = p \times q\) 是两个大素数的乘积。直接对 \(n\) 做幂运算,很慢。用CRT的方法:

  1. 分别计算 \(m^e \pmod{p}\) 和 \(m^e \pmod{q}\)
  2. 用CRT从这两个结果合成 \(m^e \pmod{n}\)

第一步中,两个小模数的运算各自独立,处理的数字只有原来一半的位数,幂运算快约四倍。第二步的CRT组合只是一次乘法和加法,可以忽略不计。

每次你在浏览器里访问HTTPS网站,服务器在做TLS握手的时候,运行的正是这个CRT优化的RSA解密。从公元4世纪的算筹,到21世纪的ARM芯片,这是一条从未中断的算法传承。


一道新题:把整个过程走一遍

来,我们再做一道,把上面所有概念都演练一遍。

题目: 某数被5除余3,被7除余4,被9除余1,求最小正整数解。

第一步:验证互素条件。

\(\gcd(5,7)=1\),\(\gcd(5,9)=1\),\(\gcd(7,9)=1\)。三个模数两两互素,可以用CRT。

第二步:计算总模数和各辅助模数。

\(M = 5 \times 7 \times 9 = 315\)

\(M_1 = M/5 = 63\),\(M_2 = M/7 = 45\),\(M_3 = M/9 = 35\)

第三步:求各逆元。

求 \(e_1\):\(63 \equiv 3 \pmod{5}\)(因为 \(63 = 12\times5+3\)),要找 \(3e_1 \equiv 1 \pmod{5}\)。试:\(3\times2=6\equiv1\),所以 \(e_1=2\)。

求 \(e_2\):\(45 \equiv 3 \pmod{7}\)(因为 \(45=6\times7+3\)),要找 \(3e_2\equiv1\pmod{7}\)。试:\(3\times5=15\equiv1\),所以 \(e_2=5\)。

求 \(e_3\):\(35 \equiv 8 \pmod{9}\)(因为 \(35=3\times9+8\)),要找 \(8e_3\equiv1\pmod{9}\)。注意 \(8\equiv-1\pmod9\),所以 \(e_3\equiv-1\equiv8\pmod9\)。验证:\(8\times8=64=7\times9+1\equiv1\pmod9\) ✓

第四步:线性组合。

\[ x \equiv 3 \times 63 \times 2 + 4 \times 45 \times 5 + 1 \times 35 \times 8 = 378 + 900 + 280 = 1558 \pmod{315} \]

\(1558 = 4 \times 315 + 298\),最小正解 \(x = 298\)。

验证: \(298 \div 5 = 59\cdots3\) ✓;\(298 \div 7 = 42\cdots4\) ✓;\(298 \div 9 = 33\cdots1\) ✓

这个过程是纯机械的——不需要灵感,不需要猜测,按照算法一步步操作,答案自己出来。这正是中国算法传统的精华:不只给答案,而是给一套可以机械执行、对所有输入都有效的操作程序。


算法的深层结构:为什么魔数恰好能用

《孙子算经》给出了模数为3、5、7的特例解法,但没有解释为什么70、21、15这三个数有效。要真正理解这个方法,需要看清楚背后的代数结构。

关键概念是模逆元。对于整数 \(a\) 和模数 \(m\)(互素),\(a\) 关于模 \(m\) 的逆元是满足以下条件的整数 \(a^{-1}\):

\[ a \cdot a^{-1} \equiv 1 \pmod{m} \]

在孙子的解法中:

  • \(M = 3 \times 5 \times 7 = 105\)(三个模数的乘积)
  • \(M_1 = M/3 = 35\),\(M_2 = M/5 = 21\),\(M_3 = M/7 = 15\)

孙子需要找三个数 \(e_1, e_2, e_3\) 分别满足:

\[ M_1 \cdot e_1 \equiv 1 \pmod{3}, \quad M_2 \cdot e_2 \equiv 1 \pmod{5}, \quad M_3 \cdot e_3 \equiv 1 \pmod{7} \]

逐个算:\(35 \equiv 2 \pmod 3\),要找 \(e_1\) 使得 \(2 e_1 \equiv 1 \pmod 3\),解为 \(e_1 = 2\)(因为 \(2 \times 2 = 4 \equiv 1 \pmod 3\))。

\(21 \equiv 1 \pmod 5\),直接有 \(e_2 = 1\)。\(15 \equiv 1 \pmod 7\),直接有 \(e_3 = 1\)。

所以三个"魔数"实际上是 \(M_i \cdot e_i\):

\[ M_1 e_1 = 35 \times 2 = 70, \quad M_2 e_2 = 21 \times 1 = 21, \quad M_3 e_3 = 15 \times 1 = 15 \]

这就是70、21、15的来源——它们不是凑出来的,而是通过求逆元精确算出的。孙子的口诀把这三个数背下来,省去了每次重新算逆元的步骤,但方法原理完全是算逆元。

一般解的构造公式为:

\[ x \equiv r_1 M_1 e_1 + r_2 M_2 e_2 + r_3 M_3 e_3 \pmod{M} \]

其中 \(r_1, r_2, r_3\) 是题目给出的余数。这个公式在数学上称为中国剩余定理(CRT)的构造性证明

从三模数到任意互素模数:秦九韶的大衍求一术

孙子的方法只处理了模数为3、5、7的情况。推广到任意一组两两互素的模数,需要一个求逆元的系统算法。这个算法在公元1247年由秦九韶在《数书九章》中完整给出,称为大衍求一术

“大衍"典出《周易》“大衍之数五十”,秦九韶把同余问题与易学传统联系起来,这是中国数学注重文化关联的典型表现。“求一"是"求使乘积同余于1的数”,即求逆元。

大衍求一术的核心是辗转相除法(欧几里得算法)的逆向计算:对模数 \(m\) 和待求逆元的数 \(a\),先用辗转相除法求 \(\gcd(a, m)\)(应为1),再从余数链反向代入,构造出满足 \(a \cdot k \equiv 1 \pmod m\) 的 \(k\)。

下面以求 \(35\) 关于模 \(11\) 的逆元为例(这是一个不在孙子例子里的新情况):

\[35 = 3 \times 11 + 2\]\[11 = 5 \times 2 + 1\]

从第二式:\(1 = 11 - 5 \times 2\)。代入第一式 \(2 = 35 - 3 \times 11\):

\[1 = 11 - 5(35 - 3 \times 11) = 16 \times 11 - 5 \times 35\]

所以 \(35 \times (-5) \equiv 1 \pmod{11}\),取正值:\((-5) \equiv 6 \pmod{11}\),验证:\(35 \times 6 = 210 = 19 \times 11 + 1\) ✓。

这就是大衍求一术对一般整数的操作步骤。秦九韶把它系统化为一套可以机械操作的算筹算法,适用于任意互素模数——这是从孙子的特例到一般理论的飞跃。

当模数不互素时:秦九韶的化约方法

孙子和秦九韶都要求模数两两互素。当模数不互素时(如 \(x \equiv 3 \pmod{6}\),\(x \equiv 2 \pmod{10}\),6和10不互素),标准的CRT无法直接应用。秦九韶为此发展了化约方法:把各模数分解为素数幂乘积,找到最小公倍数结构,选取最大的保留,消去冗余。这套处理方法比19世纪西方对CRT一般形式的讨论早了数百年。

方法时代能处理不互素模数?
孙子算经特例法公元4—5世纪否(仅适用于3,5,7)
秦九韶大衍求一术公元1247年
欧拉、高斯系统化CRT18—19世纪

从诗到密码:物不知数的文化生命

“物不知数"这道题,在中国历史上有着惊人的文化生命力。

诗化传播。 除了程大位《算法统宗》里的"三人同行七十稀”,历代还有其他诗体版本。宋代沈括《梦溪笔谈》提及"鬼谷算”,明代吴敬《九章算法比类大全》有自己的口诀,清初梅文鼎把该题收录时详加注解。每个时代的作者都重新包装了这道题,说明它有真正的实用价值——不只是文化装饰。

历法检验。 中国古代历法往往把"上元积年"设定为从某个理想元年(天地人三正合一的时刻)到当前时刻的总年数,这个数要满足被多个天文周期整除后余数为0的一组条件。构造这个上元积年,本质上就是一个大型同余方程组问题。历法家解决这个问题,用的正是大衍求一术。因此,中国剩余定理不只是数论的趣题,而是历法计算的工程工具。

斐波那契的"中国遗产"。 13世纪欧洲数学家斐波那契(约1175—1250)在《计算之书》(Liber Abaci)中收录了一道同余问题,模数是3、4、5,求法与孙子相同。斐波那契没有说明这道题的来源,但学界普遍认为它来自伊斯兰数学传统,而伊斯兰数学家则通过波斯——中亚的传播渠道接触了中国数学。这条传播链虽然没有直接文献证据,但在时间和方法上都高度吻合。

现代应用:RSA密码与中国剩余定理。 今天,中国剩余定理是计算机科学的基础工具之一。RSA加密算法需要对大整数做幂运算取模,这个计算非常耗时。实践中常用的优化方法是:把大模数(两个大素数之积 \(n = p \times q\))拆分成 \(p\) 和 \(q\) 两个小模数,分别做幂运算,再用CRT把两个结果合并。这比直接对 \(n\) 做运算快约四倍。每次你用HTTPS连接一个网站,运行的正是孙子算经思想的现代版本,只是编码在硅芯片里。

同余方程在全球的独立出现:历史的必然

值得注意的是,类似的同余问题在不同文明中独立出现:

  • 公元4—5世纪,中国《孙子算经》:“今有物不知其数”
  • 公元628年,印度数学家婆罗摩笈多在《婆罗摩修正体系》中有类似的同余问题
  • 约公元1070年,波斯学者欧玛尔·海亚姆的著作中讨论过类似问题
  • 13世纪,欧洲斐波那契的《计算书》里有模数为3、4、5的同余问题

这种跨文化的独立出现说明了什么?说明同余问题不是某个天才的奇思妙想,而是任何发展了整数算术的文明都会自然遭遇的问题。它来自历法计算、分配均摊、余数检验——这些是所有农业文明共同面对的实际需求。

数学的某些结构,是人类思维的必然发现,不是偶然的发明。中国剩余定理就是这样的结构。

Chapter 18: 《张邱建算经》与百鸡问题

清河张邱建

《张邱建算经》约成书于公元466—485年之间,是算经十书中数学水平最高的之一。“张邱建"本名"张丘建”,后人为避孔丘之名讳改了一个字。

这本书有一道题,流传了一千五百年,今天世界各地的数学竞赛和教材中仍然可以看到它的各种变体。

百鸡问题:一百钱买一百鸡

卷下第38题:

今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。凡百钱,买鸡百只,问鸡翁、母、雏各几何?

公鸡5钱一只,母鸡3钱一只,小鸡三只1钱。用100钱买100只鸡,问各买多少只?

**建立方程组:**设公鸡 \(x\) 只,母鸡 \(y\) 只,小鸡 \(z\) 只:

\[ \begin{cases} x + y + z = 100 \\ 5x + 3y + \dfrac{z}{3} = 100 \end{cases} \]

**消去 \(z\):**由第一式 \(z = 100 - x - y\),代入第二式,两边乘以3:

\[ 15x + 9y + 100 - x - y = 300 \]

化简(除以2):

\[ \boxed{7x + 4y = 100} \]

求正整数解:\(y = \frac{100 - 7x}{4}\),要求 \(y\) 为正整数,需要 \(4 \mid (100 - 7x)\),即 \(7x \equiv 0 \pmod{4}\),即 \(x \equiv 0 \pmod{4}\)。

故 \(x = 4, 8, 12\)(需要 \(x \ge 1, y \ge 1\)),对应:

公鸡 \(x\)母鸡 \(y\)小鸡 \(z\)验证总钱数
41878\(20 + 54 + 26 = 100\) ✓
81181\(40 + 33 + 27 = 100\) ✓
12484\(60 + 12 + 28 = 100\) ✓

张邱建把解题规律总结成一句口诀:“鸡翁每增四,鸡母每减七,鸡雏每益三,即得。“他没有解释为什么,只给出了结果。用现代语言:三组解之间的"方向向量"是 \((\Delta x, \Delta y, \Delta z) = (4, -7, 3)\)——公鸡每增4,母鸡减7,小鸡增3,总数和总钱数都保持不变。这是不定方程解集的结构,但张邱建没有明言。

(顺便一提:\(x = 0\) 时,\(y = 25, z = 75\),也满足方程组。张邱建原书只给三组解,没有给出这一解,原因可能是题意暗示三种鸡都要买,也可能是他漏掉了。)

百鸡问题的代数意义

百鸡问题在数学史上的地位是:它是中国最早明确给出所有正整数解的二元不定线性方程问题。“不定方程"的意思是方程比未知数少,有无穷多实数解,但在正整数约束下解有限。

欧洲直到16世纪才由施蒂费尔(Stifel)等人系统研究类似问题。印度6—7世纪的数学家也有"百禽"类题目。这类问题在欧亚大陆几乎独立地出现了多次,都来源于同一实际背景:用固定预算、固定总数买价格各异的商品。

不同文明,同一道题,同一个数学结构。

等差等比数列的系统化

百鸡问题之所以有名,是因为它新奇。但《张邱建算经》里有一些更安静的内容,不那么戏剧性,数学上却更系统、更重要——那就是对等差数列等比数列的全面处理。

在《九章算术》里,数列问题是零散出现的:衰分章有等差递减,均输章有等比分配,但都被当成具体问题处理,没有提炼出一般公式。刘徽在注释时曾给出等差数列通项,但只是附带的注脚。到张邱建这里,情况变了。

等差数列的四种问题

张邱建把等差数列问题分成了四种形态,涵盖了给定首项 \(a_1\)、末项 \(a_n\)、项数 \(n\)、公差 \(d\) 中任意三个、求第四个以及求和 \(S_n\) 的所有情形。一般求和公式:

\[S_n = \frac{n}{2}(a_1 + a_n)\]

原文:“以始末相并,半之,乘以项数”——和今天课本里的表述一字不差,只是没有字母符号。

更难的一道题(卷上第 18 题):十个人按等差次序分金,已知排名第 1—3 的人合得金 \(A\),排名第 7—10 的人合得金 \(B\),求每人各得多少。这是反求公差的问题:已知两段局部和,联立关于 \(a_n\) 和 \(d\) 的方程组,解出公差,再递推每项。张邱建给出了完整解法,还进一步推算了"中央三人未到应得金数”——这是对数列的外插,不只是内部求和。

等比数列:从织布到粮仓

等比数列题出现在卷中。已知项数 \(n\)、总和 \(S_n\)、公比 \(q\),求各项——需要由 \(S_n = a_1(1 + q + q^2 + \cdots + q^{n-1})\) 解出 \(a_1\),再逐项递推 \(a_i = a_1 \cdot q^{i-1}\)。在《九章算术》里,等比增长的场景(粟米章有 \(1, 2, 4, 8, 16\) 的数列)一律被当成"衰分"问题用比例关系拆解,没有识别出"等比"这个统一结构。张邱建的处理更明确:他意识到这是一类具有相同骨架的问题,并给出了统一的解题路径。

把"同一种结构"识别出来、统一处理——这正是数学从"解题集合"向"理论体系"迈进的关键一步。

宋代数学家杨辉在《田亩比类乘除捷法》中评注等差数列时,引用的正是《张邱建算经》的术文。一条细线,从 5 世纪的清河,延伸到 13 世纪的杭州。



为什么恰好只有三组正整数解

百鸡问题的三组解不是凑出来的,而是由方程结构决定的。理解"为什么恰好三组”,需要仔细分析约束条件。

我们已经把问题化为一个二元不定方程:

\[ 7x + 4y = 100, \quad x \geq 1, \quad y \geq 1, \quad x + y \leq 99 \]

(第三个约束来自 \(z = 100 - x - y \geq 1\),即至少买一只小鸡。)

由 \(y = \frac{100 - 7x}{4}\),要求 \(y\) 为正整数,条件是:

  1. \(4 \mid (100 - 7x)\),即 \(7x \equiv 100 \equiv 0 \pmod 4\),即 \(3x \equiv 0 \pmod 4\),即 \(x \equiv 0 \pmod 4\)(因为 \(\gcd(3,4)=1\))
  2. \(y = \frac{100-7x}{4} \geq 1 \Rightarrow 100 - 7x \geq 4 \Rightarrow x \leq \frac{96}{7} \approx 13.7\)
  3. \(x \geq 1\),结合 \(x \equiv 0 \pmod 4\),所以 \(x \in \{4, 8, 12\}\)

\(x = 16\) 时,\(y = \frac{100 - 112}{4} < 0\),违反约束,排除。所以恰好三组。解集的大小由整除条件和正整数约束共同决定,不多不少,正好三组——这不是巧合,是方程结构的必然结果。

解集的相邻两组之间的差是 \((\Delta x, \Delta y, \Delta z) = (4, -7, 3)\)。这个"方向向量"有个漂亮的性质:代入方程组可以验证它满足齐次方程

\[ \Delta x + \Delta y + \Delta z = 4 - 7 + 3 = 0 \quad (\text{数量不变}) ✓ \]\[ 5\Delta x + 3\Delta y + \frac{\Delta z}{3} = 20 - 21 + 1 = 0 \quad (\text{钱数不变}) ✓ \]

任意一个解加上整数倍的方向向量,仍是原方程的解。这就是不定方程解集的一般结构:特解 \(+\) 整数倍的基础解向量,与线性方程组解的结构完全类比。张邱建虽然没有这套术语,但他给出的口诀"鸡翁每增四,鸡母每减七,鸡雏每益三”,就是在描述这个基础解向量。

百鸡问题的数学本质:三变量两方程的整数解

更一般地,百鸡问题属于以下类型的方程组:

\[ \begin{cases} x + y + z = N \\ ax + by + cz = N \end{cases} \]

其中 \(a, b, c\) 是三种商品的价格,\(N\) 既是总数量也是总价格。消去一个变量后,得到二元线性方程,再在正整数范围内求解。这类问题在数学上属于线性丢番图方程(Linear Diophantine equation,以古希腊数学家丢番图命名)。

古典世界处理这类方程的方式:

  • 中国(张邱建,公元5世纪):直接给出三组解和递推口诀,无理论框架
  • 印度(婆什迦罗一世,公元7世纪):《Āryabhaṭīya注》有百禽类题目
  • 阿拉伯(花拉子模,约820年):给出了类似百禽的例题,重视整数解
  • 欧洲(斐波那契,1202年):《计算之书》有多道百禽变体,用试算法和比例法

值得注意的是,以上各个传统都没有给出二元线性丢番图方程的一般解法——那要等到欧洲17世纪以后,贝祖等人才建立系统理论。张邱建和婆什迦罗都给出了具体例题的所有解,但都没有说明一般性的原理。这是古代应用数学的局限:答案是对的,但方法论还没有上升到普遍理论。

百禽类题目的跨文化比较

以下表格比较了各文明中出现的百禽类题目,可以看出同一数学问题在不同背景下的独立发展:

文明与来源大约年代商品种类特点
中国《张邱建算经》约466—485年公鸡/母鸡/小鸡最早,给出全部三解及递推规律
印度《Āryabhaṭīya》注约7世纪马/牛/羊有类似结构,给出一组解
伊斯兰《算法论》约9—10世纪骆驼/骡/绵羊一般用试凑,无系统方法
欧洲斐波那契1202年鸟/雀/燕明确来自阿拉伯传统,给出部分解
日本《算法少女》等和算17—18世纪百鸡(直接借自中国)以中国百鸡题为范本

中国版本的年代最早,而且给出了最完整的解(三组而非一组),并有递推规律。这表明张邱建对问题的理解比其他传统更深入。当然,由于传播路径不清晰,我们不能断言其他传统是从中国学来的——它们很可能是独立发展的,共同的根源是人类分配问题的普遍性。

张邱建算经的其他贡献:分段织布问题

《张邱建算经》里有一类题目,放到今天可能会出现在大学数学竞赛里,叫做"织布等差"类题目。

卷中有一题:一位织工,第一天织布 \(a_1\) 尺,此后每天比前一天少织若干尺(等差递减),最后一天(第 \(n\) 天)只织了 \(a_n\) 尺,已知 \(n\) 天共织了 \(S\) 尺,问 \(a_1, a_n, n, d\)(公差)的关系。这是已知四个量中任意三个、求第四个的问题族,张邱建给出了每一种情形的解法。

以"已知首项、末项、公差,求项数"为例,设 \(a_1 = 1\text{ 尺}, a_n = \frac{1}{3}\text{ 尺}, d = -\frac{1}{3}\text{ 尺}\),则:

\[ n = \frac{a_1 - a_n}{d} + 1 = \frac{1 - \frac{1}{3}}{\frac{1}{3}} + 1 = 2 + 1 = 3 \text{ 天} \]

总产量 \(S = \frac{n}{2}(a_1 + a_n) = \frac{3}{2} \times \frac{4}{3} = 2\) 尺。

用原文术语:“以初末并之,半之,以日数乘之”——和今天课本里一字不差,只是没有代数符号。

张邱建不满足于给出一种情形。他把等差数列的"四个量"(首项、末项、项数、公差)两两组合,系统地列出了所有情形。这种穷举所有情形的系统化意识,正是从具体解题到理论建构的第一步。

张邱建的历史地位:连接《九章》与宋代代数

从宏观视角来看,《张邱建算经》在中国数学史上起着承上启下的作用。

向上,它继承了《九章算术》的问题框架:分数运算、比例分配、几何面积。张邱建的许多题目是《九章》题目的变体或深化,说明他是在系统学习《九章》的基础上进行创作的。

向下,张邱建的等差数列系统化对宋代杨辉有直接影响。杨辉(约1261年前后)在《详解九章算法》中处理等差数列时,引用张邱建的术文,并用"垛积"的几何模型重新解释了等差求和公式——把等差数列的每一项想象成一摞相同高度的砖,求和就是数砖头,几何直觉与代数公式相互印证。这种几何与代数的融合,恰好是宋元数学的标志性风格,而根在张邱建的系统化工作。

向外,百鸡问题作为一道有明确正整数解结构的题目,在唐宋时期广泛流传,出现在《孙子算经》之后的各种数学汇编中。明代程大位的《算法统宗》也收录了百鸡问题。这一道题,流传了一千五百年,跨越了算筹时代和珠算时代,至今还出现在中学数学竞赛的备考书里。

数学史上有很多这样的题目:它们本身不是最深刻的,但它们以最生动的方式展示了某种数学结构,于是被一代代人记住、传递、变形,成为数学文化的公共遗产。百鸡问题,就是这样的题目。

Chapter 19: 《五曹》《夏侯阳》《五经算术》— 实用与官制

五曹:给胥吏用的数学手册

算经十书中,有一本既不追求理论深度,也不在乎证明优雅,只求一件事:让基层官员能算出他们需要的数字。这本书叫《五曹算经》。

书名中的"五曹"是北朝官府的五个职能部门,每个部门有自己的一类计算问题:

田曹(土地测量与税收)。“今有田,广十二步,纵十四步,问田几何?“答:一亩六十八步(古代一亩 = 240平方步)。田曹最重要的任务是均田制下的土地面积计算。北魏孝文帝太和九年(485年)均田制规定男丁授露田40亩、妇女20亩,田地形状各异,面积计算需求庞大。

兵曹(军事后勤)。“今有丁二万三千六百九十二人,责兵五千九百二十三人。"(平均四丁出一兵)这类题目直接反映了当时的兵役制度——北周时期有时"三丁出一兵”,兵役极重,后勤计算不能出错。

集曹(商品换算)。“凡钱五文买雉三只。“集曹负责物资管理,核心工具是今有术(三项比例):已知单价和预算,求商品数量。

仓曹(粮食管理)。“今有官田九百亩,凡一步收粟三升二合,问共收粟几何?“处理收储、损耗、分发各类计算,涉及体积单位斛、升、合、勺的换算。

金曹(财政)。“今有贵丝一两,值钱五十六文,贱丝一两,值钱四十二文。今有丝共一斤,值钱七百文,问贵贱各几何?“这是一个二元联立方程——两种丝混合,要求总重量和总价值,和今天课本上的"混合问题"完全一样。

《五曹算经》的数学水平不高,有些面积公式甚至是错的,南宋杨辉在《田亩比类乘除捷法》中明确批评了这些错误。但它的史料价值无可替代:这是保存最完整的北朝行政数学文献,真实反映了普通胥吏的日常计算需求。

夏侯阳:让算筹算得更快

《夏侯阳算经》现存本实际上是唐代宗时期(762—779年)韩延的改写本,钱宝琮称之为《韩延算术》。

原书最重要的贡献是**“明乘除法”**——让算筹乘除法更快的速算规则。现存本记录了六大类捷算:

  1. 进退位法:乘以10的倍数,只需移动算筹位置(十进制位移,不必真的乘)
  2. 身外添几法:乘数首位为1时,省略1,只乘余下数字,再加回被乘数
  3. 十内减一代九乘:乘9 = 乘10减1,先进一位再减
  4. 遇五二因:遇到5时,先乘2变成整十,再除以2
  5. 化大为小:把大乘数分解成多个小因子(如 \(\times 24 = \times 3 \times 8\))
  6. 身外减几:除数首位为1时,作减法代替除法

这些方法是后来珠算口诀的直接前身。算筹时代这些规则都是口述记忆,口诀形式便于传授。比如"一从(纵)十横,百立千僵,千十相望,万百相当,满六以上,五在上方,六不积算,五不单张”——这是算筹纵横布列的规则口诀,简洁押韵,初学者能很快习诵。

五经算术:数学服务经学

《五经算术》(甄鸾撰)是十部算经中最奇特的一本——它不是算术教材,而是对儒家经典中涉及数字处的数学注解。

《易经》“大衍之数五十”。《周易》系辞传:“大衍之数五十,其用四十有九。“甄鸾注:大衍之数50,蓍草用49根,1根代表太极不动。49 = 7²,七是七政(日月五星)的代表;50 = 5 × 10,五行之数……他逐一计算了各种礼仪场合用到的数字,使经典中的数字有了运算依据。

**《礼记》祭器数量。**祭祀时鼎的数量、羊牛头数都有规定,不同身份用不同数量。甄鸾把这些规定换算成总重量和体积,使礼仪规定可以量化执行。

《左传》九鼎重量。《左传》宣公三年记载楚王向周天子询问九鼎的轻重,甄鸾根据古代冶金资料计算了九鼎的大致重量。

《五经算术》体现了中古时代数学与经学的特殊关系:数学家要为经典服务,而经典反过来给了数学"正当性"的外衣。在独尊儒术的文化背景下,一本数学书能跻身官学教材,部分原因正是它"辅助经学"的功能。


《五曹算经》的版本与甄鸾的注释工作

《五曹算经》的作者问题在史料中有明确记载。《旧唐书·经籍志》著录:"《五曹算经》五卷,甄鸾撰。“甄鸾活跃于北周(557—581年),是当时产量最高的数学注释者:他为《孙子算经》、《张邱建算经》、《五曹算经》、《五经算术》以及现存《夏侯阳算经》的底本都写过注释,形成了一个覆盖南北朝晚期到北周的系统性数学整理工程。

现存本《五曹算经》每卷首页均题"唐朝议大夫、行太史令、上轻车都尉、臣李淳风等奉敕注释”,但李淳风的注释实际上是空白的——全书67道题都是整数计算,有意避免分数,本来就不需要注释。李淳风的署名更多是一种官方认可的形式。北宋元丰七年(1084年)秘书省刻印《算经十书》时,《五曹算经》与《夏侯阳算经》、《数术记遗》等一并收录,从此与《周髀》《九章》并列于官学,获得了超出其实际数学水平的历史地位。

关于现存本是否忠实于甄鸾原作,学界没有定论。北宋刻本前已经历了数百年的传抄,其中一些错误的面积公式在明清两代的算术书中仍有流传,这说明传本的错误可能由来已久,并非刻本引入的。

《五曹》的错误面积公式:杨辉的批评

南宋数学家杨辉(活跃于13世纪)在《田亩比类乘除捷法》中明确列出了《五曹算经》田曹卷的错误,具体涉及以下几种不规则形状的面积计算:

腰鼓田与鼓田(弧田,即弓形田):《五曹》的算法是"以弦乘矢,矢又自乘,并而半之”,即 \(A = \frac{1}{2}(c \cdot f + f^2)\),其中 \(c\) 是弦长,\(f\) 是弓形的矢高。这个公式的来源是把弓形当作某种近似梯形处理,误差相当大。对于接近半圆的弓形,误差尤其显著。

正确的弓形面积公式应通过圆心角 \(\theta\)(弧度)计算:

\[ A = \frac{r^2}{2}(\theta - \sin\theta) \]

古代没有三角函数,但刘徽在《九章算术》注中已给出比《五曹》更精确的近似方法——用"弧田"分割为三角形和小弓形的方法逐步逼近,虽仍是近似,但误差远小于《五曹》的公式。

四不等田(任意四边形):《五曹》的算法是将四条边两两相加取平均,再将两个平均值相乘:\(A = \frac{a+c}{2} \times \frac{b+d}{2}\),其中 \(a, b, c, d\) 是四边边长。这只对矩形精确,对一般四边形误差极大。杨辉指出应将四边形分为两个三角形分别计算,再求和。

《五曹》这些错误公式"谬种流传”,在明清一些通俗算术书中仍未得到纠正,这是一个典型的案例:一旦错误公式进入官学教材,即便后来被权威批评,也会在民间传抄中继续流通数百年。

《夏侯阳算经》的历史争议:真假两本书

“《夏侯阳算经》“这个书名,在历史上对应着两部完全不同的著作。

原本(唐代以前):有一部早于《张邱建算经》、以数学题目为主的算经,其中包含"方仓”(长方体容积)等题目。《张邱建算经·序》明确写道:“其夏侯阳之方仓,孙子之荡杯,此等之术皆未得其妙。“这证明《张邱建》成书时,原版《夏侯阳算经》已存在,且成书时间早于《张邱建算经》(约5世纪末)。这部原著在唐代立于算学馆课程,但今已失传。

现存本(唐代宗时期重写本):北宋元丰七年刻入《算经十书》的《夏侯阳算经》,实际上是唐代宗在位期间(762—779年)写成的一部新书,托名古人以增加权威性。钱宝琮在校点《算经十书》时系统考证了这一结论,论据如下:

  1. 书中引用的"田令"“赋役令"“仓库令"“杂令"等,是唐代刑部颁行的法令,与唐代宗前后的制度完全吻合;
  2. “课租庸调"一节引用的赋役令,与杜佑《通典·食货志》所载开元二十五年(737年)法令内容相同;
  3. “分禄料"一章的官吏名称和人数,与《唐书·职官志》所载"下州"佐吏设置完全对应;
  4. 书中出现"别驾"官名,而据《新唐书·百官志》,别驾设于上元二年(761年),代宗德宗之间复省,进一步锁定成书时间。

钱宝琮据此建议将现存本称为**《韩延算术》**,以区别于唐代算学馆课程中的原版《夏侯阳算经》。这一考证在中算史学界已被广泛接受。

韩延捷算法的代数验证

《韩延算术》“明乘除法"的六大类速算,每一种都有其数学基础,可以用现代代数语言验证:

\[ a \times 5 = a \times \frac{10}{2} = \frac{a \times 10}{2} \]

先”×10”(直接进一位),再”÷2”(折半),两步代替一步乘法,在算筹上操作更简便。

\[ a \times 2 = a \times \frac{10}{5} = \frac{a \times 10}{5} \]

进退位法:乘以10的幂次,直接移动算筹位置,不需要实际运算。验证:\(a \times 10^n\),在十进位值制中就是把所有数字左移 \(n\) 位,零工作量。

\[ a \times 9 = a \times (10 - 1) = 10a - a \]

先进位(×10),再减去原数,比直接"九因"更容易在算筹上操作。

身外添几(定身乘):乘数首位为1时,省略首位的1,只将后几位乘被乘数,再加上被乘数本身。如乘以12 = 10 × 1 + 2,则 \(a \times 12 = a + a \times 2 \times \text{(进一位)}\)。

化大为小:将大乘数分解为小因子之积。如 \(\times 24 = \times 3 \times 8\),分两步乘,每步的操作量减小。验证:乘法的结合律保证分解的合法性。

这六大类速算,覆盖了算筹计算中最频繁遇到的情形,是后来珠算口诀(“二一添作五"“逢五进一"“破五还原"等)的直接前身。

甄鸾与南北朝到唐代数学的连续性

甄鸾在北周的整理工作,实际上构筑了一座从南北朝到唐代数学的桥梁。他的著作或注释今日尚存的有:《孙子算经》注、《张邱建算经》注、《五曹算经》(作者兼注者)、《五经算术》(作者兼注者),以及《夏侯阳算经》原本的继承者。

正是通过甄鸾的整理,南北朝各地分散流传的算学著作被统一整理,形成了一套相对完整的初等数学教材体系。唐太宗贞观年间,李淳风奉敕注释"十部算经”,选取的正是甄鸾整理过的这批文献为核心。唐代算学馆的课程设置(《唐六典》记载)中,这些著作构成了明算科考试的主体,持续影响学子近三百年。从这个意义上说,甄鸾的工作是理解"南北朝数学→唐代数学"这段历史的关键节点,他的学术贡献不在于创新,而在于传承与系统化。

《五曹算经》:官僚制度下的分科算术

《五曹算经》是一部按照行政职能分科的实用算术书,“五曹"指的是田曹、兵曹、集曹、仓曹、金曹五个职能部门,对应土地丈量、军需计算、集市贸易、粮仓管理和金融核算五大类政务场景。这部书大约成书于南北朝至隋代,作者不详,但从内容来看,显然是为地方官员(特别是县级行政人员)实际工作服务的,而不是为学院化的数学研究写的。

《田曹》部分处理土地丈量,包括矩形、三角形、梯形和圆形田地的面积计算,以及异形田地的近似算法。有意思的是,它的圆面积近似公式并不精确,用的是"周自乘,除以十二"的粗估——这相当于取\(\pi \approx 3\),比刘徽和祖冲之的成就退步了相当多。但对一个要在田间快速计算的县吏来说,能心算的粗估往往比精确但繁琐的算法更实用。

《兵曹》处理军需分配问题:多少士兵、多少粮草、行军几日需要补给几次。这些问题在本质上都是比例运算,但被包装在具体的军事场景里,使得算法的应用目标非常清晰。

《集曹》和《金曹》处理市场换算和货币计算,涉及不同商品之间的比价、借贷利息(以月为单位计算的简单利息),以及用粟换布时需要考虑的"折色”(不同商品单位之间的换算率)。这些内容直接对接了唐宋商业经济的现实需求。

《夏侯阳算经》:商业算术的精细化

《夏侯阳算经》在版本上颇为复杂。今存版本题为"夏侯阳撰”,但据近代学者考证(主要是李俨和钱宝琮的研究),今本《夏侯阳算经》并非南北朝时期的原著,而是唐代(可能是8至9世纪)某位佚名学者以夏侯阳之名重新编订的。换言之,现在我们读到的”《夏侯阳算经》“很可能是一部汇集了南北朝到唐代商业算术实践的混合文本。

这部书在内容上比《五曹算经》更接近商人和市场经营者的实际需求。它包含了更精细的利息计算(包括复利的初步处理),布匹、谷物和金银的换算表,以及处理"不整除"情况时的取近法则。有一条关于"以一月三十天为基准计算日息"的规则,直到今天,中国民间借贷习惯中仍有其余绪。

《夏侯阳算经》还有一个在算经十书中相对少见的特点:它提供了一些用于快速估算的口诀。比如,乘以125相当于”×1000÷8”,这种把大乘法转换为小除法的技巧,是珠算和算盘速算口诀体系的直接前身。从《夏侯阳算经》到程大位《算法统宗》的珠算歌诀,有一条可以追溯的演化线索。

《五经算术》:经学与数学的交汇

《五经算术》是"算经十书"中最独特的一部,作者是北周至隋初的甄鸾(约生活于6世纪中后期)。它的独特性在于体裁:它不是一部独立的算法书,而是对儒家五经(《周易》《尚书》《诗经》《周礼》《礼记》,以及后来加入的《春秋》相关文本)中出现数字的注释汇编。

儒家经典文本中其实散布着大量的数字信息——多少里的城墙、多少人的军队、多少斛的粮食、某个天文现象的周期——这些数字在经学注疏传统中往往被"语境化"处理,即用先儒的说法加以解释,而不追问其中的算学一致性。甄鸾做的,是用算学的方式来审核这些数字:经文说某城周长若干里、面积若干亩,这在几何上是否自洽?某历法数字与实际天象是否吻合?

这种工作的意义,不只在于校正若干经典注释中的数字错误,更在于确立了一个原则:经典文本中的数字信息可以、也应当接受算学的检验。这一原则在乾嘉考据学时代(18至19世纪)被发展为一整套以算学核证经典的方法,戴震整理《算经十书》的工作部分就有这一传统的影子。

甄鸾另有《数术记遗》注(见下章)和《周髀算经》注,他是南北朝到唐初少数几位在历算和算学两个领域都有实质贡献的学者之一。


真实的田野:五曹算经里藏着一个王朝的日常

让我换个角度来讲《五曹算经》,不从数学,从历史。

《五曹算经》的数学水平不高,这一点我们已经说了。但如果你是一位研究北朝社会经济史的历史学家,这本书就是宝藏。因为它的题目是真实的。那些数字、那些单位、那些物价,都是甄鸾时代真实使用的数据,不是凑出来的习题。

**均田制的数学痕迹。**田曹卷里之所以有"腰鼓田"“蛇田"“墙田"“箫田"这些奇形怪状的田地面积计算,是因为均田制(北魏太和九年,485年颁行)把土地按人口分配给农民,而现实中的土地形状从来不是整齐的矩形。孝文帝的均田制规定:男丁每人授露田40亩,妇女20亩。大量形状各异的土地需要丈量面积,《五曹算经》的田曹卷,就是那个时代丈量员需要的工具书。

**兵役的数字。**兵曹卷第1题:“今有丁二万三千六百九十二人,责兵五千九百二十三人。"——平均四丁出一兵。第2题更重:“凡三丁出一兵。“三丁出一兵,北周时期真实施行的兵役制度就是这么重。西魏北周时期各方对峙,连年用兵,《周书》记载:保定元年(561年)“改八丁兵为十二丁兵”。这些数字不是教科书习题,是真实军事后勤需求的文献遗存。

**物价与换算。**集曹卷第14题:“凡钱五文买雉三只。“一只野鸡约值一文六分钱。金曹卷:“今有贵丝一两,值钱五十六文,贱丝一两,值钱四十二文。“高档丝和普通丝的价格差是4:3。仓曹卷:“今有官田九百亩,凡一步收粟三升二合。"——每亩折合约7.68斛的收成。这些是北朝的物价,不是汉代,不是唐代,就是甄鸾写这本书那个时代的真实经济数据。

一本数学水平粗糙的教材,却意外成了一份珍贵的北朝经济史档案。这是中国古代数学的一个规律:算书往往是最诚实的历史文献,因为它记录的是真实发生的计算需求,而不是官方史书的政治叙事。


夏侯阳的五类除法:古代如何处理"除不尽”

《夏侯阳算经》原作留下了一段值得细看的文字,通过现存本《韩延算术》的引用,我们能够了解到原作对除法的系统分类。

算筹时代,乘法相对简单,但除法"遇到除不尽时则难于处理”——这是原作里的实话。夏侯阳把除法分为五类,每一类对应一种典型的"除不尽"情形:

一曰法除:整数除法。“以少呼多,因法为母,积实为子。“当被除数不整除于除数时,余数作为分子,除数作为分母,直接形成分数。这是《九章算术》的做法,夏侯阳继承并明确表述了它。

二曰步除:带单位的奇零部分。“其物残分求尺,尺之求寸,皆上十之。斤之求两,二而八之。两之求铢,三而八之。“当计算结果不能整除,而单位又有进制关系(比如1斤=16两,1两=24铢),就需要把余数换算成下一级单位继续计算。这是极其实用的会计技能。

三曰约除:分数的约分。“位高者下之,可约者约之,偶则半之,五则倍而折之。一、三、七、九,商用所宜。“先用10、2、5的因子约简,再用1、3、7、9试约,直到找到最简分数。这实际上是一套系统的辗转相除法的实践版本——没有欧几里得的理论包装,但操作是一样的。

**四曰开平方除。**即开平方运算,与《九章算术》的开方术一致。

**五曰开立方除。**即开立方运算,同样继承《九章算术》。

这五类分法揭示了唐代数学对"除法"的理解有多宽:除法不只是整数除法,而是一切"把大数拆成小数"的操作——约分、换算单位、开方,都被归入"除"的范畴。这是算筹时代的概念体系,与今天我们把这些操作严格区分的做法不同,但有其内在的一致性。


两本书的对话:实用派与义理派的分野

把《五曹算经》、《夏侯阳算经》放在一边,《五经算术》放在另一边,你会发现算经十书内部有一条隐约的分界线。

一边是实用派:数学是工具,服务于行政、军事、商业、农业。它的读者是胥吏、商人、军队后勤官员。它的标准是"够用”,不是"精确”。《五曹算经》里那些不精确的面积公式,是"够用"优先的产物——弓形面积算不太准,但县吏用来估算土地,精度在10%以内就能交差。

另一边是义理派:数学是经学的附属,它的任务是让儒家经典更加自洽,让圣人之言在数字上说得通。《五经算术》的读者是经学官员和算学学生,不是田间的丈量员。它处理的问题——“大衍之数五十其用四十有九"是什么意思?《周礼》里的城墙尺寸在几何上是否可行?——都不是实际工作中会遇到的问题,而是学术性的、甚至有点哲学性的问题。

这两条脉络在算经十书里共存,但地位不对等。义理派靠着服务经学而获得了进入官学的门票,实用派靠着行政需要而被纳入课程。两者之间其实没有多少对话——《五经算术》的作者甄鸾固然也是《五曹算经》的整理者,但他整理这两本书的时候,很可能并没有试图把它们的数学思路统一起来。

这种分裂在中国数学史上是持续的。一直到宋元,最高水平的数学家(秦九韶、杨辉、朱世杰)都处于官学体制的边缘,而官学体制里正式流通的数学则始终带着浓厚的实用和义理色彩。纯粹的数学探索,从来不是体制内数学的主旋律。


《五经算术》里,经典文本与算学的具体冲突

我们来看几个《五经算术》里的具体例子,感受一下数学检验经学是什么体验。

《周礼·考工记》里的轮子。《考工记》记载:轮的直径是"三尺三寸”,轮圆(周长)是"三其径”(即 \(3 \times 33 = 99\) 寸,折 \(\pi \approx 3\))。甄鸾在这里只是照录,没有批评——他知道《九章算术》用的也是 \(\pi \approx 3\) 来做实用计算。但他的注释把这个数字关系说清楚了,使读者明白"三其径"是一个近似。

《尚书·禹贡》里的面积。《禹贡》描述了大禹划分九州时各州的地理范围,给出了一些距离和面积数字。甄鸾用算学方法核算这些数字,发现某些面积描述在几何上不自洽——比如说某区域"方千里"但列举的边界长度算出来不是方形。这种不一致,先儒的注疏只是用"大概如此"来搪塞,甄鸾给出了具体的数字验证。

**《礼记》里的祭器。**儒家礼制对祭祀时的鼎、簋等器物数量有严格规定,天子用九鼎,诸侯七鼎,依次递减。甄鸾把这些规定换算成粮食总量和器皿总体积,说明这些礼制是在数字上可以执行的——不只是象征,而是真实可操作的仪式安排。

这些工作今天看来平常,但在当时有其意义:它在说,经典文本是可以被数字检验的。这是一种认识论立场,有点危险(因为如果检验出来不一致,怎么办?),但甄鸾处理得很谨慎——他没有说经典错了,只是把数字关系说清楚,让读者自己判断。

这一套"以算学读经"的方法,在一千多年后的清代乾嘉学派那里发展成了更系统的工具。戴震(1724—1777)整理《算经十书》,钱大昕(1728—1804)用数学校勘经典,都是在甄鸾开辟的这条路上走得更远。经学与数学,在中国学术史上一直保持着这种奇特的共生关系。

Chapter 20: 《数术记遗》— 大数命名法与珠算的起点

谁写了这本书?

《数术记遗》的封面写着:汉末徐岳撰,北周甄鸾注。

但这个说法,很可能是假的。

书中引用的制度和词汇——包括佛教词汇"刹那”、“大千世界”,以及某些货币制度——都不符合东汉末年的历史。钱宝琮的结论直接而干脆:“本书决不是徐岳的原著……是甄鸾的依托伪造而自己注释的书。”

成书时间更可能在南北朝到北周之间。作者托名汉末的徐岳,是为了增加权威性——一本更古老的书,更值得信赖。

书本身内容极简略,原文只有几百字,要不是甄鸾注释根本看不懂。它之所以流传,是因为进了唐代明算科考试的"帖读"科目——用纸条遮住书上3至4个字,令考生默诵,须达到90%准确。进了考试大纲,历朝就都保存它了。

大数命名的两种系统

《数术记遗》系统介绍了汉字大数命名。从万以上:

\[ \text{万}(10^4) \to \text{亿} \to \text{兆} \to \text{京} \to \text{垓} \to \text{秭} \to \text{穰} \to \text{沟} \to \text{涧} \to \text{正} \to \text{载} \to \text{极} \]

问题在于,这些字之间的进位关系历史上有三种互不相同的系统:

**下数(十进):**每个单位是上一个的十倍:万 = \(10^4\),亿 = \(10^5\),兆 = \(10^6\)……(先秦旧法)

**中数(万进):**每个单位是上一个的一万倍:万 = \(10^4\),亿 = \(10^8\),兆 = \(10^{12}\),京 = \(10^{16}\)……(汉以后主流)

**上数(倍倍进):**每个单位是上一个的平方:万 = \(10^4\),亿 = \(10^8\),兆 = \(10^{16}\),京 = \(10^{32}\)……(受佛教影响,极少使用)

甄鸾认为中数最方便。今天中国大陆用的正是中数系统:1亿 = \(10^8\),1兆 = \(10^{12}\)。中数系统也影响了日本和朝鲜的大数命名。

十四种算具与"珠算"最早出现

《数术记遗》最有历史意义的内容是列出了14种算具:

名称性质简述
积算(运筹算)实用即普通算筹,用竹或骨制成的小棒
太乙算象征/神秘与太乙神相关,用少数着色的珠
两仪算象征阴阳两仪,用黑白两色珠
三才算象征天地人三才,用三色珠
五行算象征木火土金水五色珠
八卦算象征与八卦对应
九宫算象征九宫格位置标示数字
了知算实用用特制的筹,位置方向代表数字
成数算实用成组的算筹
把头算实用用手指根节记数
龟算象征仿龟背甲纹理排列
珠算实用最早的珠算记录
计算(手算)实用纯心算或手指算
六一算(有争议)甄鸾注释不详

“珠算"这两个字,在这里首次出现于历史文献。

但需要强调的是:这里的"珠算"和宋元时代成熟的算盘珠算不是同一回事。甄鸾注描述的是用穿在绳上的珠子,通过珠子的位置来表示数字——珠子可以沿绳滑动,但没有固定的横档(横梁),更不是上二珠下五珠的双层结构。

成熟算盘(带上档和下档的木框架珠算盘)最早的确切记录出现在北宋(约10—12世纪的绘画和文献中),元代已经普及全国。从"珠串记数"到"算盘”,这条演化路径跨越了约700年。《数术记遗》记录的是这个演化过程中的早期状态——珠算的前身,而不是珠算本身。


佛教对汉语大数命名的影响

《数术记遗》中"上数"的出现不是偶然的,它与南北朝时期佛教典籍的大规模翻译直接相关。甄鸾在注文中多次引用佛经,其中最核心的是《华严经》和《楞伽经》。

《华严经》始译于东晋(约4世纪末),其中的大数系统采用**“倍倍变之”**的递进方式——每一层数是上一层的平方。甄鸾注《数术记遗》时写道:“上数者,数穷则变,若言万万曰亿,亿亿曰兆,兆兆曰京也。“这正是《华严经》数法的直接翻译。甄鸾还在注中明确引《华严经》大数段落,证明"上数"的来源就是这部佛经。

佛经中的大数词汇进入汉语大数体系,最典型的例子是时间单位"刹那”。甄鸾注引《楞伽经》:“称量长短者,积刹那数以成日夜。“并给出换算:一弹指有六十四刹那,二百四十刹那为一怛刹那,三十怛刹那为一罗婆,三十罗婆为一摩睺罗多,三十摩睺罗多为一日一夜。由此推出:

\[ \text{一日一夜} = 30 \times 30 \times 30 \times 240 \times 64 = 6{,}480{,}000 \text{ 刹那} \]

甄鸾给出的数字是"六百四十八万刹那”,约合 \(6.48 \times 10^6\) 个"刹那"构成一昼夜——这是佛经对时间最小单位的哲学量化,与数学的严格计算意义不同,但它把极小时间单位的概念引入了中文语境,影响了汉语对"瞬息"的表达方式。

《华严经》同样对大数产生了深远影响。书中以"世界"为单位,描述宇宙的层级结构:“有千世界有一小铁围山绕之,名曰小千世界;有一千小千世界有中铁围山绕之,名曰中千世界;有一千中千世界有大铁围山绕之,名曰大千世界。此大千世界之中,有百亿须弥山。“一"大千世界"包含 \(10^3 \times 10^3 \times 10^3 = 10^9\) 个"小世界”——十亿,正好是中数系统中"亿"的上一级,与"十亿"的表达完全契合。“恒河沙”(用恒河沙粒比喻无穷大数)、“阿僧祇”(意为"无数”,对应极大数)、“那由他”(约合 \(10^{12}\) 或 \(10^{60}\),各译本不同)这些词汇,均从佛经经由翻译进入汉语大数体系。

上数系统的数学分析

《数术记遗》给出的上数系统,如果用现代数学分析,实际上是以 \(10^4\)(万)为底的指数序列

汉字大数上数值表达式
\(10^4\)\((10^4)^1\)
亿\(10^8\)\((10^4)^2\)
\(10^{16}\)\((10^4)^4\)
\(10^{32}\)\((10^4)^8\)
\(10^{64}\)\((10^4)^{16}\)
\(\cdots\)\(\cdots\)\(\cdots\)
\(10^{48}\)(中数)/ \(10^{4096}\)(上数理论极值)

上数的每一步都是"前一个数的平方”,增长极快。从"万”(\(10^4\))到"极”,如果按上数规则走完十二个名目,最后可以达到 \(10^{4 \cdot 2^{11}} = 10^{8192}\)——这已远超宇宙中已知基本粒子的总数(约 \(10^{80}\))。甄鸾说"上数宏廓,世不可用”,是实话实说。

上数对应的正是佛教"无量”(ananta,无边无际之量)和"不可思议”(acintya,超出人类理解之量)的概念。《华严经》中最大的数量级就是通过这种倍倍递增的方式描述的,它的功能不是实用计算,而是表达"有限的认知无法穷尽宇宙"这一宗教哲学命题。

中数系统的算法便利性

与上数的哲学意味相比,中数(万万进,即每级是上一级的10000倍)是实用的大数计算框架。甄鸾明确表态:记录大数用中数最方便。

中数系统中:万 = \(10^4\),亿 = \(10^8\),兆 = \(10^{12}\),京 = \(10^{16}\)。

以历法计算为例,汉代《三统历》中需要计算"上元积年”(从历法基点到当前的总年数),有时涉及到百亿量级的大数。用中数表示,一百亿就是"一百亿”(\(10 \times 10^8 = 10^9\)),十分紧凑;若用下数(十十进,即亿=\(10^5\)),“一百亿"就变成”\(10^{10}\)",需要引入更多名目,表达更烦琐。

同样在商业账目中,宋代一笔大型官方贸易账目可能涉及数千万贯钱,用中数的"千万”(\(10^7\))表达,是一个够用且不会过分膨胀的量级。中数系统最终成为中国大陆、日本、朝鲜的通用大数命名标准,今天"一亿”= \(10^8\)、“一兆”= \(10^{12}\) 的日文汉字标准正是中数系统的直接遗存。

十四种算具的技术细节

《数术记遗》列出的14种算具,其中有实用价值的和有象征意义的明显分属两类:

具有实用价值的包括积算(普通算筹,与《孙子算经》中的记载一致)、太乙算两仪算三才算珠算把头算计数(心算)。太乙、两仪、三才、珠算四种都使用"游珠”——穿在刻板横道上可以滑动的珠子。甄鸾注对"两仪算"的描述最为详细:刻板横为五道,竖以为位;每位两珠,上珠色青(从上往下依次代表5至9),下珠色黄(从下往上依次代表1至4)。两仪算已经体现了"一珠当五,一珠当一"的二分思想,与后来算盘的"上一珠下四珠"结构相当接近。

具有神秘象征意义的包括五行算(用五色筹,颜色组合代表1—9)、八卦算(用针锋指向代表方位和数字,针指正南为1,指正北为5,依次类推)、九宫算(以色珠置于洛书九宫格的方位表示数字)、龟算(用龟首所指十二地支方位表示1—9)。这些算具在技术上是可操作的,但它们的设计理念与数字神秘主义紧密交织,其象征功能似乎不亚于计算功能。甄鸾本人是佛道两教的信仰者,他将这些宗教符号系统引入算具描述,体现了南北朝时期数学与"数术”(以数字进行占卜推算的技术)之间难以截然分开的特性。

珠算到算盘的演化路径

从《数术记遗》的记载(约5世纪)到北宋绘画中出现的算盘(约10—12世纪),约700年的技术演化分为几个可辨识的阶段:

第一阶段(5—6世纪):游珠板。《数术记遗》描述的"珠算"是在刻有横道的平板(没有竖向的柱或档)上放置游珠,用珠的位置表示数字。珠可以沿横道滑动,但没有固定的穿柱,也没有上下格之分。操作时需要将珠推到某个位置再固定,稳定性差,只能记数,不能方便地做进位运算。

第二阶段(6—10世纪):有柱的珠串。“太乙算"的注文明确写道"竖以为柱,柱上一珠”,说明已有纵向穿柱,珠子穿在柱上只能纵向移动。这比游珠板稳定,操作时珠子不会乱跑。但每位只有一珠(“柱上一珠”),表示能力有限,还不是完整的算盘。

第三阶段(北宋,10—12世纪):北宋绘画(如张择端《清明上河图》周围同期的商业场景)和文献中开始出现可辨认的算盘图像,带有明确的横梁,将珠分为上档(一至两珠)和下档(四至五珠)。这种双区间结构使每一档能表示0—9的任何数字,且进位操作(把五颗下珠换成一颗上珠,或把上珠换成向上进位)非常流畅。

第四阶段(元代,13—14世纪):算盘在全国普及,珠算口诀配套成熟,文献中大量出现关于珠算的专业讨论,标志着算盘完全取代算筹成为主流计算工具。

《数术记遗》与数字神秘主义

《数术记遗》及甄鸾注,体现了中国古代数学与"数术"之间的深层纠缠。“数术”(divination by numbers)是一种以数字和方位关系推断吉凶、解释宇宙的学问,与今天意义上的数学虽有交集,却属于完全不同的认知体系。《数术记遗》的书名本身就揭示了这一点:“数术"在前,“记遗”(记录遗失知识)在后——这是一本以记录数字技艺为名的宗教文化文献,不是数学教科书。

书中的九宫算(基于洛书纵横图)、五行算(基于五行相生相克)、八卦算(基于八卦方位)、龟算(基于灵龟),都把数字嵌入了宇宙论的框架。数字不只是计数的工具,它们有方位、颜色、五行属性,与天地万物的运行相对应。这种"数字—宇宙"的对应关系,在中国古代有一个专门的名称:象数。从汉代易学(《周易》的数字哲学)到宋代理学(邵雍的先天图学),数字象征主义贯穿了中国思想史的主流,而《数术记遗》是这条线索上一个清晰可辨的节点。

甄鸾的身份也强化了这一特点:他既是数学注释者,也是佛道信仰者,他在三教交汇的南北朝文化氛围中写作,把算具的设计原理与"太乙"“两仪"“三才"“五行"“八卦"这些宇宙论符号系统对应起来,是时代精神的自然反映,而不是故弄玄虚。数学之所以在中国古代经常与占卜和宇宙论混在一起,根本原因在于:在近代科学诞生之前,数字是理解世界的普遍语言,不分"纯粹"与"应用”,更不分"科学"与"神秘”。只有在17世纪以后,西方科学革命把数学从宇宙论中分离出来,数学才获得了独立的认识论地位——这是一次发生在欧洲的概念革命,对中国传统数学史的理解不应倒施这把尺。


数术记遗的归因疑案:为什么不可能是徐岳写的?

钱宝琮的结论是"本书决不是徐岳的原著”,这个判断有几条扎实的理由,值得认真过一遍,因为它们展示了历史考证是怎么工作的。

第一,书中词汇超出东汉时代。“刹那"是梵文词 kṣaṇa 的音译,意为极短的时间单位,来自佛经。这个词在汉语文献中出现,不早于三国时代,更多见于南北朝以后。《数术记遗》原文里有"未识刹那之赊促"这句话,如果是东汉徐岳(约公元180年前后活跃)所写,这个词的出现就是时代错误。

**第二,注者自引为证。**甄鸾在注文里大量引用佛经——《楞伽经》、《华严经》——来解释"刹那"“大千世界"等词汇。如果原文是东汉作品,当时这些佛经要么尚未译成汉文,要么尚未流行,甄鸾的引用方式显示他是在用同时代的词汇来注解同时代(或稍早)的词汇,不是在注解五百年前的文章。

**第三,《隋书·经籍志》不收此书。**徐岳有确实可考的著作:《九章算术注》两卷,《隋书》有著录。但《数术记遗》不见于《隋书·经籍志》,直到唐代才出现在文献引用里。如果这真的是东汉著作,为什么在隋代目录里消失了又在唐代出现?

**第四,甄鸾的习惯。**甄鸾是一个多产的注释者,他注释过《孙子算经》《张邱建算经》《周髀算经》,还写了《五曹算经》《五经算术》。这些书里,他的风格是把数学内容嵌入宗教文化框架里解释——“数术”(数字的神秘学意义)正是他一贯的兴趣。钱宝琮的推论是:《数术记遗》很可能是甄鸾自己写的,但为了增加权威性,把作者署名为汉代的徐岳,然后自己给"徐岳"作注。

这种做法在中国古代不算罕见,叫做托名伪书。《神农本草经》托名神农,《黄帝内经》托名黄帝,《数术记遗》托名徐岳,逻辑相同:越古老的来源越可信,越有权威。甄鸾(如果真是他写的)只是做了许多古人都做过的事。


大数的实际需要:中国古代什么情况需要这么大的数?

上数系统里,“载"可以达到 \(10^{44}\)(中数系统),或者理论上的 \(10^{4096}\)(上数系统)。在现实中,中国古代有没有真正需要这么大的数的场合?

答案是:需要大数,但不需要那么大。

**天文数字:积年计算。**汉代历法使用一个叫做"上元"的概念:假设在某个遥远的过去,太阳、月亮、五大行星同时在同一位置出发——这个假设的起点叫做"上元积年”。从上元到当下,积累的总年数,就是历法的基准。汉代《三统历》的上元积年是 143127 年,《太初历》的上元积年更大。历法越精确,需要的上元积年就越大,因为天文常数之间的公倍数越来越难找。东汉末年的某些历法上元积年已经超过了 \(10^{10}\)——百亿量级。中数系统的"十亿"“百亿"就是为了表达这类数字。

**人口与赋税总量。**唐代全盛时期,天下户口超过900万户,总人口约5000万。一个年度的赋税收入,以铜钱计,可以达到数百亿文——这还是日常行政就会遇到的数字。中数系统把"亿"定为 \(10^8\),正好覆盖了这个量级。

佛教的宇宙论数字。《华严经》描述的"大千世界"包含 \(10^9\) 个小世界;佛经里的时间单位"大劫”(mahākalpa)按照不同计算方式,可以对应数十亿年乃至更长。这些数字本身是宗教哲学概念,不需要实际计算,但它们推动了命名系统向更大方向延伸的需求。

真正的极大数:哲学游戏。“载”(中数 \(10^{44}\))以上的数,在任何实际计算中都用不到。连宇宙中已知基本粒子的总数(约 \(10^{80}\))都比中数的"极"大得多。这些大数的命名,更多是一种哲学姿态:人类的语言能不能覆盖所有可能的数量?中国古代的回答是——可以,我们给每一个量级都起个名字。

这种哲学姿态并不只是中国的。梵文系统(印度古代数学,见于《吠陀》和佛经翻译)命名的大数达到 \(10^{62}\),甚至更高;古希腊的阿基米德在《数沙者》里证明,他的计数系统可以表示任意大的有限数,包括用来填满宇宙所需的沙粒数(约 \(10^{63}\))。人类的不同文明,几乎不约而同地在某个时期开始追问:我的语言和符号系统能不能覆盖"无穷大"之前的所有可能的数? 答案是否定的(无穷大总在命名的边界之外),但这个追问本身,推动了数的概念向更大、更抽象的方向延伸。


珠算雏形:那个描述到底说了什么?

《数术记遗》里的"珠算"条,原文只有十二个字:“控带四时,经纬三才。”

甄鸾的注文是这样的:“刻板为三分,其上下二分以停游珠,中间一分以定算位。位各五珠,上一珠与下四珠色别。其上别色之珠当五。其下四珠,珠各当一。至下四珠所领,故云’控带四时’。其珠游于三方之中,故云’经纬三才也’。”

逐句翻译:把一块板分为三段——上段和下段放游珠,中段记录数位(个、十、百、千……)。每个数位有五颗珠,上段一颗颜色特殊(代表5),下段四颗同色(每颗代表1)。

这个结构里:

  • 上段1珠当5,下段4珠各当1
  • 每个数位能表示的范围:最小0,最大 \(5 + 4 \times 1 = 9\)
  • 相邻数位之间的关系:十进制进位

这是一个功能完整的十进制计算工具的概念描述。如果它真的被制造出来,它就已经具备了现代算盘的核心思想:位值制、五一分档、游珠表示。

但问题在于:这个工具没有"柱”。现代算盘有横梁把上下格分开,每一列有一根竖柱穿着珠子,珠子只能沿柱上下移动,不会跑到别的列去。《数术记遗》的注文里没有提到柱,只说"游珠”——珠子在板上游走,中间一段标记数位。

如果没有柱,珠子怎么固定?学界有两种解读:一种认为有柱但注文省略了(因为"太一算"注文里确实有"竖以为柱"的字样);另一种认为珠子是在有刻痕的凹槽里滑动,没有穿柱,更像游走在轨道上的棋子。

这个争论至今没有定论,因为没有实物出土。我们有的只是这段注文,和后人对它的各种想象复原图。学界主流的判断是:《数术记遗》描述的"珠算"是算盘的概念雏形,具备了核心思想,但尚未完成工程实现——也许从未被制造出来,只是甄鸾(或他援引的来源)的一个设计构想。


算筹的局限,促成了新工具的诞生

理解《数术记遗》为什么要列出14种计算方法,有一个简单但有力的背景:算筹太不方便了

一套完整的算筹约250根,排一道四位数乘四位数的算题,上中下三层摆开,需要的桌面面积差不多是90厘米长、40厘米宽——基本上一张书桌只能做一道题。古人形容算筹计算的场面:宋代马永卿说"出算子约百余,布地上,几长丈余”——把算筹铺在地上,几乎占了一丈多长。

除了占地,算筹还有一个问题:容易被碰乱。算筹必须竖着放,一旦桌子震动或者手碰到,几十根算筹就全乱了,整个计算需要重来。商贾在集市上算账,船上在颠簸中核账,算筹的稳定性都是大问题。

所以从南北朝开始,人们就在寻找能替代算筹的工具:把珠穿起来、固定在板上,既便于携带,又不会被碰乱,而且珠的滑动比算筹的摆放更快——这就是《数术记遗》里那些用珠的计算方法(太乙算、两仪算、三才算、珠算)的共同动机。

它们不是同时发明的,也不是同一个人的设计,更可能是甄鸾(如果他真是书的作者)收集整理的各种民间流传的计算工具原型。其中的"珠算”,描述最接近现代算盘。

从这个角度看,《数术记遗》不是一本数学书,而是一份计算工具设计史的早期档案——它记录了人们在算筹时代末期,试图超越算筹局限的各种尝试。其中大多数尝试失败了或者被遗忘了(五行算、八卦算、龟算,没有任何证据表明有人真的长期使用),但"珠算"这一条活下来了,经过七百年的演化,长成了中国算盘。

Chapter 21: 祖冲之与祖暅——圆周率的极限,以及没有微积分的积分

一个令人窒息的数字:七位小数

来,我先给你报一个数字,你好好想想它意味着什么。

3.1415926——精确到小数点后七位。

今天,你拿起手机,打开计算器,按下 π,屏幕上显示3.14159265358979。小数点后七位,手机一秒钟就给你了。你不会多看一眼。

公元5世纪,南朝,没有任何计算工具,只有一把算筹,一张草席,和无边无际的耐心。一个人花了不知道多少个月,计算出了3.1415926 < π < 3.1415927。

这个精度记录保持了将近九百年,直到约1427年伊斯兰学者阿尔·卡西才超过它。

九百年,一把算筹。

这个人叫祖冲之,429年生,500年卒,南朝宋、齐之间人,字文远,原籍范阳(今河北涞水)。他的主要数学著作《缀术》,失传了。我们今天知道他做了什么,但不完全知道他怎么做的。

《隋书·律历志》留下了这样一段记录:

“以圆径一亿为一丈,圆周盈数三丈一尺四寸一分五厘九毫二秒七忽,肭数三丈一尺四寸一分五厘九毫二秒六忽,正数在盈肭二限之间。”

翻译:取直径为一亿(以"忽"为单位,一丈等于一亿忽),圆周长的上界是31415927忽,下界是31415926忽。因此:

\[ 3.1415926 < \pi < 3.1415927 \]

注意:这不是一个近似值,而是一个严格的区间。祖冲之知道真值被夹在两个数之间,他没有犯把估算值当成精确值的错误。这种精确的区间表述,在5世纪的数学史上是极其罕见的严谨性。


他用什么方法?割圆的极限

清代数学史家阮元在《畴人传》里说:祖冲之的方法"仍是割之又割耳,未能于徽注之外,别立新术”——他用的是刘徽的割圆术,但算到了更高精度。

刘徽的割圆术是这样的:从圆的内接正六边形开始,不断倍增边数——12、24、48、96边……每次倍增,内接多边形面积就更接近圆的面积。设 \(S_n\) 是内接正 \(n\) 边形的面积(单位圆),则 \(S_n \to \pi\)。

刘徽本人算到了正96边形,得出 π ≈ 3.14159(5位)。

祖冲之需要算到多少边形才能得到七位精度?现代学者反推如下:

内接正多边形面积(\(r=1\))有效位数
正3072边形3.14159250…6位
正6144边形3.14159256…7位
正12288边形3.14159263…7位
正24576边形3.14159265…8位

用刘徽给出的误差不等式 \(S_{2n} < \pi < S_{2n} + (S_{2n} - S_n)\),代入 \(S_{12288}\) 和 \(S_{24576}\),可以得到:

\[ 3.1415926 < \pi < 3.1415927 \]

这恰好是《隋书》记载的上下界。

现在来想想计算量。从正6边形到正12288边形,需要做 \(\log_2(12288/6) = 11\) 次倍增迭代。每次迭代,要计算一次开平方。祖冲之取 \(r = 10^8\)(一亿),每次开平方处理的是 \(10^{16}\) 量级的大整数,只用算筹,手算。

整个计算,估计需要几个月甚至一年以上。没有电子计算器,没有纸上竖式,只有算筹。一根根摆放,反复检验,错一步就要从头来过。

这才是那个七位小数真正令人窒息的地方——不是精度本身,而是得到这个精度所需要的,是一种几乎超出人类极限的专注力和耐心。


密率355/113:连分数的奇迹

祖冲之还给出了两个圆周率的分数近似:

  • 约率 \(\dfrac{22}{7} \approx 3.14286\)(精确到小数点后2位)
  • 密率 \(\dfrac{355}{113} \approx 3.14159292\)(精确到小数点后6位)

“约率"好理解,那是阿基米德也用过的近似。但"密率"355/113,这是怎么找到的?为什么这个分数如此精确?

你可能以为这只是凑出来的——祖冲之试了很多分数,碰巧发现355/113很准。如果真是这样,那也太神奇了:分子分母之和只有 \(355+113=468\),却给出6位小数精度。

但事实比"凑"更深刻。要理解355/113为什么好,我们需要知道 \(\pi\) 的连分数展开。


π的连分数展开:一把量π的尺子

什么是连分数?就是把一个实数写成这种形式:

\[ \pi = 3 + \cfrac{1}{7 + \cfrac{1}{15 + \cfrac{1}{1 + \cfrac{1}{292 + \cfrac{1}{1 + \cdots}}}}} \]

简写为 \(\pi = [3; 7, 15, 1, 292, 1, 1, 1, 2, \ldots]\)。

这里每一个数字(3, 7, 15, 1, 292, …)叫做连分数的"部分商”。

如果你在某一层截断这个展开,就得到一个分数——叫做收敛分数(convergent)。每一个收敛分数,都是"分母不超过该值时,对 \(\pi\) 的最佳有理近似”。来,我们一步一步算:

第0级截断: \([3] = 3 = \frac{3}{1}\),误差约 \(-4.5\%\)

第1级截断: \([3;7] = 3 + \frac{1}{7} = \frac{22}{7} \approx 3.142857\),误差约 \(+1.26 \times 10^{-3}\)

第2级截断: \([3;7,15] = 3 + \dfrac{1}{7 + \frac{1}{15}} = 3 + \dfrac{15}{106} = \dfrac{333}{106} \approx 3.141509\),误差约 \(-8.3 \times 10^{-5}\)

第3级截断: \([3;7,15,1] = 3 + \dfrac{1}{7+\dfrac{1}{15+\frac{1}{1}}} = 3 + \dfrac{1}{7+\frac{1}{16}} = 3 + \dfrac{16}{113} = \dfrac{355}{113}\)

来,我们把这个算仔细:

\[ 15 + \frac{1}{1} = 16, \quad 7 + \frac{1}{16} = \frac{113}{16}, \quad 3 + \frac{16}{113} = \frac{339+16}{113} = \frac{355}{113} \]

\(\frac{355}{113} \approx 3.14159292\),误差约 \(+2.67 \times 10^{-7}\)。精确到小数点后6位,误差仅 \(0.0000267\%\)。

第4级截断: \([3;7,15,1,292] = \frac{103993}{33102}\),分母一下子跳到了33102,增加了约293倍!

这就是355/113特殊的原因。来,我们仔细看:

收敛分数序列 \(\frac{22}{7}\),\(\frac{333}{106}\),\(\frac{355}{113}\),\(\frac{103993}{33102}\)——前三个的分母分别是7、106、113,增长很平缓。但第四个分母直接跳到33102,因为这一步的部分商是292,一个非常大的数字。

大的部分商意味着什么?意味着下一个收敛分数极其精确——但分母也变得极大。相反,355/113的下一个部分商292很大,说明355/113自己就已经出奇地精确,以至于要大幅提升精度,必须付出分母扩大近300倍的代价。

在"简单分数近似 \(\pi\)“的道路上,355/113是一个极高效的补给站,而下一个补给站距离几百公里之远。这就是为什么连分数理论会告诉我们,355/113在分母不超过33101的所有有理数中,是最逼近 \(\pi\) 的——这是一个数学定理,不是凑巧。

祖冲之在没有连分数理论的情况下找到了355/113。他是怎么做到的?


调日法:一种更古老的逼近算法

几乎可以肯定,祖冲之用的是他同时代的历法家何承天(370—447年)发明的调日法

调日法的逻辑非常直觉:假设你有两个分数,一个比目标数偏小,一个偏大:

\[\frac{a}{b} < T < \frac{c}{d}\]

取它们的中介分数(Mediant):

\[\frac{a+c}{b+d}\]

把这个新分数和 \(T\) 比较:如果新分数比 \(T\) 小,就用它替换下界;如果比 \(T\) 大,就用它替换上界。然后继续取中介分数,不断迭代。

来,我们用调日法逼近 \(\pi\),从最粗糙的上下界出发:弱率(下界)\(\frac{3}{1}\),强率(上界)\(\frac{4}{1}\)。

第一步:中介分数 \(\frac{3+4}{1+1}=\frac{7}{2}=3.5 > \pi\),替换上界,强率变为 \(\frac{7}{2}\)。

第二步:中介分数 \(\frac{3+7}{1+2}=\frac{10}{3}\approx3.333 > \pi\),替换上界,强率变为 \(\frac{10}{3}\)。

……(继续多步)……

经过约40步:弱率 \(\frac{22}{7}\)(约率),强率 \(\frac{333}{106}\),取中介分数 \(\frac{355}{113}\)。

\(\frac{355}{113}\approx3.14159292 > \pi\),比上界 \(\frac{333}{106}\approx3.141509\) 更精确!

日本数学家关孝和(1642—1708)追踪过这个过程,记录了从 \(\frac{3}{1}\) 出发做112次运算得到密率 \(\frac{355}{113}\) 的完整序列。这被数学史家视为"祖冲之极可能用调日法推导密率"的旁证。

调日法的现代名称是Stern-Brocot树的逐步逼近,它生成的序列恰好是连分数收敛分数序列的子集。何承天在公元5世纪实践了这个方法,欧洲直到17世纪惠更斯设计天文仪器时才开始系统使用类似方法,欧拉在18世纪初给出了完整的连分数理论框架。

时间差:约1200年。


精度比较:约率与密率

\[ \frac{22}{7} - \pi \approx +1.26 \times 10^{-3} \quad (\text{误差} \approx 0.04\%) \]\[ \frac{355}{113} - \pi \approx +2.67 \times 10^{-7} \quad (\text{误差} \approx 0.000008\%) \]

分母从7增到113,增加了约16倍;但精度从2位小数跳到6位小数,提高了约4700倍。这种不成比例的效率提升,正是连分数最佳有理近似的核心性质。

在欧洲,荷兰工程师安东尼兹(Adriaan Anthonisz)在1585年独立给出了355/113——比祖冲之晚了约1100年。日本数学史家三上义夫(1912年)首先指出这段历史,建议将这个值称为"祖率”。此后该名称在国际数学史界逐渐被接受。


祖暅原理:没有微积分的积分定理

现在来说祖冲之的儿子,祖暅(字景烁,约5—6世纪)。

公元263年,刘徽在《九章算术》注中写道:“敢不阙疑,以俟能言者。"——我不敢乱猜,留给能解决这个问题的人来回答。

刘徽留下的悬案是:球的体积怎么计算?

刘徽已经走到了很深的地方。他发现,球内切于正方体的那个"牟合方盖”(两个直角圆柱体的交叉部分),和球的体积之间有一个简洁关系:

\[ V_{\text{球}} = \frac{\pi}{4} V_{\text{牟合方盖}} \]

但牟合方盖的体积是多少?刘徽不知道怎么算,留下了这个问题。

这个悬案搁置了将近250年。然后,祖暅解决了它,用了一条他自己总结的原理:

幂势既同,则积不容异。

“幂"是截面积,“势"是高度,“积"是体积。用今天的语言:若两个等高的立体,在任意相同高度处的横截面积都相等,则两者的体积相等。

用积分语言写:

\[ S_A(z) = S_B(z) \text{ 对所有 } 0 \le z \le h \implies V_A = \int_0^h S_A(z)\,dz = \int_0^h S_B(z)\,dz = V_B \]

但祖暅没有积分符号,没有极限,没有微积分。他的论证是穷竭式的:把立体从底到顶切成无数薄片,每片厚度无穷小,每片面积已知相等,所以每片体积相等,叠加之后总体积相等。

这和意大利数学家卡瓦列里(Bonaventura Cavalieri)在1635年发表的"不可分量原理"在逻辑上完全等价。时间差约1100年。历史记录无可争议:祖暅优先。

这个原理现在在中文文献中叫做"祖暅原理”,在西方文献中叫"卡瓦列里原理”。


球体积的完整推导:一步步来

这是中国古代数学最漂亮的一个推导,让我们一步一步把它走完。

问题: 求半径为 \(r\) 的球的体积。

已知结论(刘徽): \(V_{\text{球}} = \frac{\pi}{4} V_{\text{牟合方盖}}\)

牟合方盖是什么?把两个半径均为 \(r\) 的圆柱体放在同一个正方体里,两轴垂直相交,取它们的公共部分。

祖暅的策略:取八分之一来分析。

取半径为 \(r\) 的牟合方盖的八分之一(第一象限部分,\(0 \le x, y, z \le r\)),记为 \(U_1\),高度方向沿 \(z\) 轴。

在高度 \(z\) 处,\(U_1\) 的截面是什么?牟合方盖由两个圆柱体的交叉定义:

  • 第一个圆柱体(轴沿 \(x\) 轴):在高度 \(z\) 处截面满足 \(y \le \sqrt{r^2-z^2}\)
  • 第二个圆柱体(轴沿 \(y\) 轴):在高度 \(z\) 处截面满足 \(x \le \sqrt{r^2-z^2}\)

两个条件都满足,截面是 \(0 \le x, y \le \sqrt{r^2-z^2}\) 的正方形,面积为:

\[ F_{U_1}(z) = (r^2 - z^2) \]

寻找一个已知体积、截面积相同的立体。

考虑以下组合:正方体(边长 \(r\))减去一个倒立阳马(底面 \(r \times r\),高 \(r\),顶点在 \(z=r\) 处)。

正方体在高度 \(z\) 处截面面积 \(= r^2\)(恒定)。

倒立阳马——底面在 \(z=0\),顶点在 \(z=r\)——在高度 \(z\) 处,截面是边长为 \(z\) 的正方形,面积 \(= z^2\)。

两者之差:

\[ r^2 - z^2 = F_{U_1}(z) \]

完美匹配!在每一个高度,“正方体减去倒立阳马"的截面积,与 \(U_1\)(牟合方盖的八分之一)的截面积完全相同。

应用祖暅原理:幂势既同,则积不容异。

两者截面积在每个高度都相等,高度也相同(都是从0到 \(r\)),因此体积相等:

\[ V_{U_1} = V_{\text{正方体}} - V_{\text{倒立阳马}} = r^3 - \frac{1}{3}r^3 = \frac{2}{3}r^3 \]

(阳马的体积公式是 \(\frac{1}{3}\) 底面积 × 高,早在刘徽时代已经严格证明。)

还原到整个牟合方盖:

\[ V_{\text{牟合方盖}} = 8 \times V_{U_1} = 8 \times \frac{2}{3}r^3 = \frac{16}{3}r^3 \]

代入刘徽的关系式:

\[ V_{\text{球}} = \frac{\pi}{4} \times V_{\text{牟合方盖}} = \frac{\pi}{4} \times \frac{16}{3}r^3 = \frac{4}{3}\pi r^3 \]

这就是球的体积公式。今天高中数学里教的那个公式,就是这么来的。

让这个推导的优雅之处沉淀一下:祖暅没有积分,没有无穷小,没有极限的ε-δ语言。但他用一个绝妙的几何对比——把一个复杂的弯曲立体(牟合方盖的八分之一)和一个简单的组合立体(正方体减阳马)配对,证明了它们截面积处处相等,从而断言体积相等。

这是中国古代数学里最接近现代积分思想的一个时刻。


另一种视角:半球与圆柱减圆锥

对于祖暅原理,还有一种更直观的理解方式。

考虑一个半径为 \(r\) 的半球(底面在 \(z=0\),顶点在 \(z=r\)),和一个等高圆柱(底面圆半径 \(r\),高 \(r\))内挖掉一个倒立圆锥(顶点在 \(z=0\),底圆半径 \(r\) 在 \(z=r\))的组合体。

在高度 \(z\) 处:

  • 半球的截面:圆半径 \(\rho\) 满足 \(\rho^2 + z^2 = r^2\),截面积 \(= \pi(r^2-z^2)\)
  • 圆柱减倒锥:圆柱截面积 \(\pi r^2\) 减去倒锥截面积 \(\pi z^2\),得 \(\pi(r^2-z^2)\)

两者截面积处处相等!由祖暅原理:

\[ V_{\text{半球}} = V_{\text{圆柱}} - V_{\text{圆锥}} = \pi r^2 \cdot r - \frac{1}{3}\pi r^2 \cdot r = \frac{2}{3}\pi r^3 \]

整球体积 \(= 2 \times \frac{2}{3}\pi r^3 = \frac{4}{3}\pi r^3\)。

这个推导更为简洁直观,也许是祖暅脑子里想的就是这个。


从父亲到儿子:两百五十年的接力

从公元263年刘徽写下"敢不阙疑,以俟能言者”,到公元约500年前后祖暅给出球体积的完整推导,历时约250年。

这是一场数学史上少见的跨世代接力。而最后完成这场接力的人,恰好就是完成了另一项伟大工作(父亲祖冲之的圆周率计算)的那个人的儿子。

祖家是数学世家,祖冲之的父亲祖朔之也从事天文数学工作,祖冲之把他的数学热情传给了儿子,儿子比父亲更进一步——在数学上,在精确的意义上,超越了父亲。


祖冲之的生平:一个不得志的科学家

祖冲之出身科学世家——祖父主管皇家营建,对天文测量有实际经验。但祖冲之本人的仕途颠簸。他在刘宋时期(南朝宋,420—479年)任地方官,后又历任南朝齐(479—502年)的官职,多次调迁,从未获得与其才华相称的中央学术职位。

他做过"员外散骑侍郎”——一个有官名无实权的闲职;又担任过"谒者仆射”,管理朝廷礼仪。他利用这些相对清闲的职位,系统地研究天文、数学和机械制造。

他的科学成就招来了麻烦。他的《大明历》(463年)因为引入了岁差修正,与当时的主流历法《元嘉历》存在重大出入,引发了一场著名的历法之争。太史令戴法兴指责祖冲之改动旧历是"诬天背经”,祖冲之逐条反驳,撰《驳议》(今存于《宋书》)。这场争论的结果是,《大明历》虽然在科学上是正确的,却一直未被颁行,直到他死后10年(510年)才正式使用。

《缀术》是祖冲之最重要的数学著作,唐代曾被列入"算经十书”,作为国子监算学课程的教材。可惜书中内容太过精深——唐朝人的记录说:“缀术,学官莫能究其深奥,是故废而不传。“正因太难,反而失传。


大明历:岁差的数学含义

祖冲之《大明历》最根本的创新是引入了岁差(precession of the equinoxes)修正。

什么是岁差? 地球自转轴在空间中并非固定,而是像陀螺一样缓慢进动,约25,772年转一圈。这导致春分点(太阳经过赤道的位置)每年沿黄道缓慢西移,移动速度约每71年移动1度。

历法上的后果: 回归年(太阳从春分到下一个春分,真实节气年)约365.2422天;恒星年(太阳回到天球上同一恒星背景,真实公转周期)约365.2564天。两者相差约0.0142天,是岁差造成的。

在《大明历》之前,中国历法混淆了这两种年,把历法周期与恒星背景直接挂钩,导致节气预测长期累积误差。祖冲之以"每45年11月岁差1度”(约合每年0.0222度)引入修正,使历法中的节气计算脱离了恒星背景,回归到真实的回归年。

数值精度: 祖冲之推算的回归年长度为365又9589/39491日 ≈ 365.24281日,与现代值365.24220日相差仅约0.00061日(约52秒),在当时是世界上最精确的。


祖暅原理:没有微积分的积分定理(补论)

祖暅原理的原文是:“幂势既同,则积不容异。“用今天的语言:若两个等高立体在任意同一高度处的横截面积相等,则两者体积相等。

用积分语言写出这个原理极为直白:

\[ S_A(z) = S_B(z) \text{ 对所有 } 0 \le z \le h \implies V_A = \int_0^h S_A(z)\,dz = \int_0^h S_B(z)\,dz = V_B \]

但祖暅没有积分符号,没有极限概念,没有微积分。他的论证是穷竭式的:把立体在竖直方向上分成极薄的薄片,每片的"幂”(截面积)已知相等,那么每片的"积”(体积,即薄片厚度乘以面积)也相等,无数薄片叠加,总体积相等。这是"穷竭法”(exhaustion),和阿基米德在《方法》中用的思路在逻辑上同构,但祖暅是独立发展的。

祖暅原理在中文数学传统中称为"祖暅原理”,在西方文献中对应1635年卡瓦列里(Cavalieri)的不可分量原理——两者时间相差约1100年。历史上的发现优先权无可争议属于祖暅。

Chapter 22: 王孝通《缉古算经》— 三次方程的登场

引言:一封写给千年后读者的挑战书

公元626年,唐高祖武德九年,一个叫王孝通的算历博士向皇帝上了一道疏,随折附上一本书。

疏文的语气,放在今天大概会让审稿编辑叹气,但读起来令人心折:

“请访能算之人考论得失,如有排其一字,臣欲谢以千金。”

一个数学家,向皇帝打赌。他说:如果有人能指出我书中哪怕一个错字,我赔他一千两黄金。

这本书叫《缉古算经》,共20道题。除第一题是历法算术,其余19题都是工程几何,且都要用到三次(有时四次)方程。这是中国数学史上现存最早的系统性三次方程研究。

王孝通没有夸大其词。

王孝通其人:他平生在史书中几乎找不到传记资料,只能通过《上缉古算经表》(他上呈皇帝的奏表)了解一些轮廓。他自述"长自闾阎,少小学算,镌磨愚钝,迄将皓首”——出身平民,从小学算,磨砺了大半辈子才到白头。他任算历博士、太史丞(国家天文机构的低级官员),于武德九年(626年)奉命校勘历法,因对前代历法有深入研究,完成了《缉古算经》。

从二次到三次:那一步之差

三次方程是怎么来的:土木工程的逻辑

三次方程不是数学家坐在屋里发明的。它是土木工程的必然产物。

理解这一点,需要看一道具体题目。

**一个简化例子:**某土堤截面为矩形,长 \(l\),宽 \(w\),高 \(h\)。已知 \(l = w + 6\)(长比宽多6尺),\(h = w - 2\)(高比宽少2尺),体积 \(V = 840\) 立方尺,求各尺寸。

建立方程:\((w+6) \times w \times (w-2) = 840\)

展开:

\[ w^3 + 4w^2 - 12w = 840 \]

这就是三次方程。工程问题中三个维度的约束关系,自然导出三次。

王孝通的标准形式是:

\[ x^3 + px^2 + qx = N \quad (p, q, N > 0) \]

他分别称 \(N\) 为"实”,\(q\) 为"方法”,\(p\) 为"廉法”,最高次项系数1隐含在"开立方"操作中。

《缉古算经》的一道真实题目(“造仰观台”):建造一座截面为正三角形的斜坡台,给定体积、高与底边的比。设底边长 \(x\),则高 \(= \frac{x}{2}\),总体积用台体公式表达:

\[ V = \frac{1}{6}\left[2x^2 \cdot h + \cdots\right] \]

各尺寸用 \(x\) 表达并代入,化成 \(x^3 + ax^2 + bx = c\)。

解法:数值逼近开立方

王孝通没有给出三次方程的解析公式——那要等到南宋秦九韶和元代朱世杰。他的解法是数值逼近

  1. 先估算根的大致量级(“商"的最高位)
  2. 代入检验,判断偏大还是偏小
  3. 逐位细化,和二次开方完全类似,只是系数调整更复杂

这个方法对任意方程都适用,是算筹版的数值求根。对实际工程问题完全够用。

王孝通的三次方程出现于欧洲卡尔达诺(Cardano)1545年三次方程一般解析公式约900年之前。当然,他没有求出一般公式。但《缉古算经》20道题都有三次方程,且全部来自真实工程——这说明三次方程在唐初已经是建筑、水利工程计算的日常工具,不只是理论研究的对象。

王孝通与卡尔达诺:两种数学追问的根本差别

1545年,意大利数学家卡尔达诺(Cardano)在《大术》(Ars Magna)中发布三次方程一般解析公式。对于 \(x^3 + px = q\)(无 \(x^2\) 项的情形):

\[ x = \sqrt[3]{\frac{q}{2} + \sqrt{\left(\frac{q}{2}\right)^2 + \left(\frac{p}{3}\right)^3}} + \sqrt[3]{\frac{q}{2} - \sqrt{\left(\frac{q}{2}\right)^2 + \left(\frac{p}{3}\right)^3}} \]

这是三次方程的根式解——用加减乘除和开方,把根直接写成封闭公式。

王孝通的解法与卡尔达诺追问的是完全不同的问题:

王孝通(7世纪中国)卡尔达诺(16世纪意大利)
问题形式“这道工程题的答案是多少?”“三次方程的根能否用根式表达?”
答案形式数值(逐步逼近至任意精度)封闭根式公式
方法数值迭代开方代数变换 + 开方
普遍性对具体方程有效对满足条件的所有方程有效
局限性无统一符号框架,无封闭结构五次以上方程无根式解(伽罗瓦证明)

两种追问都是合法的数学,各有其价值。中国数学的传统回答是数值方法,这不是局限,而是一种不同的认识论选择:知识以解决实际问题为标准,而非以建立演绎体系为标准。


从工程问题到三次方程:两道真实题目的推导

王孝通的《缉古算经》不是凭空发明三次方程的——它是从一系列具体工程问题出发,在建立模型的过程中,自然地导出了三次方程。让我们完整跟踪两道真实题目的推导过程,看清楚三次方程的工程起源。

题目一(简化版):“筑堤计料"型

某土堤截面为直角梯形,上宽 \(b\),下宽 \(a = b + 4\)(下宽比上宽多4尺),高 \(h = b - 1\)(高比上宽少1尺),长 \(L = 120\) 尺,体积 \(V = 1980\) 立方尺,求 \(b\)。

截面面积 \(= \frac{1}{2}(a + b) \times h = \frac{1}{2}(2b + 4)(b - 1) = (b+2)(b-1) = b^2 + b - 2\)。

体积方程:\((b^2 + b - 2) \times 120 = 1980\),即 \(b^2 + b - 2 = 16.5\),这是二次方程,还不是三次。王孝通的题目通常在三个维度都引入比例关系,才导出三次。

**更典型的三次方程来源:**某仓库地基为长方形,已知长比宽多 \(d\) 尺,深(高)比宽少 \(e\) 尺,体积为 \(V\),求宽 \(x\)。

设宽 \(= x\),则长 \(= x + d\),深 \(= x - e\),方程为:

\[ x(x+d)(x-e) = V \]

展开:

\[ x^3 + (d-e)x^2 - de \cdot x = V \]

这就是含 \(x^2\) 和 \(x\) 项的一般三次方程——正是王孝通的标准形式 \(x^3 + px^2 + qx = N\)。

题目二(《缉古算经》第16题,“造圆仓"型):

某圆形粮仓,仓高(即圆柱体高度)与底圆直径的比已知,体积为 \(V\),求直径 \(d\)。

设 \(d\) 为直径,高 \(h = kd\)(\(k\) 为给定比值),取 \(\pi \approx 3\)(《九章》惯例),圆柱体积:

\[ V = \frac{\pi}{4} d^2 \cdot h = \frac{3}{4} d^2 \cdot kd = \frac{3k}{4} d^3 \]

直接得到 \(d^3 = \frac{4V}{3k}\)——这是纯三次方程,没有 \(d^2\) 和 \(d\) 项,相当于求立方根。

这种"圆柱体问题"引出的三次方程是最简单的,可以直接用开立方法求解。王孝通的创新在于处理那些含混合项(\(x^2, x\) 项同时存在)的三次方程——这需要更复杂的数值方法。

数值求根:增乘开方的前身

王孝通的解法是数值逐步逼近,与"增乘开方法”(宋代贾宪系统化的霍纳法)思路相同,但没有系统化为统一算法。

具体做法:以方程 \(x^3 + 4x^2 - 12x = 840\)(对应前面堤坝例子)为例:

第一步:估量级。 \(x^3 \approx 840\),则 \(x \approx 840^{1/3} \approx 9.4\),所以"商"的最高位在个位,试 \(x = 9\)。

代入验证: \(9^3 + 4 \times 9^2 + 9 \times (-12) = 729 + 324 - 108 = 945 > 840\),偏大,试 \(x = 8\)。

\(8^3 + 4 \times 8^2 + 8 \times (-12) = 512 + 256 - 96 = 672 < 840\),偏小。

答在 8 和 9 之间。继续试 \(x = 8.x\) 的部分:设 \(x = 8 + t\)(\(0 < t < 1\)),代入展开,得一个关于 \(t\) 的新三次方程,取最高次项估算 \(t\),逐位细化。

在算筹上,这个过程等价于:每确定一位商,就把对应的多项式系数更新一次,再确定下一位。更新公式涉及每次乘以已知"商"的位,与宋代增乘开方法完全一致。王孝通没有明文写出这个算法,但他的20道题里每道都有数值答案,说明他有一套能稳定计算的方法。贾宪后来把这套方法系统化,就是"增乘开方法”,也叫"霍纳法”(Horner’s method)。

与欧玛尔·海亚姆的比较

1070年前后,波斯数学家欧玛尔·海亚姆(Omar Khayyam,约1048—1131)在《代数论》(Maqāla fī al-jabr)中系统处理了三次方程。他的方法与王孝通截然不同:

海亚姆的方法:几何交轨法。 他把三次方程的根理解为两条曲线(通常是一条圆锥曲线和一条圆或直线)的交点横坐标,用几何作图找交点,再量出横坐标作为答案。例如,方程 \(x^3 + ax = b\) 的根,是一条半径适当的圆与一条抛物线的交点的横坐标。

王孝通的方法:数值逼近法。 直接在算筹上逐位确定根的十进制近似值,不依赖几何图形。

两种方法各有优劣:

特征海亚姆(几何法)王孝通(数值法)
年代约1070年公元626年
给出精确答案?几何上是精确的给出任意精度的近似
适用于非整数根?是(几何交点)是(逐位逼近)
给出一般解析公式?
工程实用性低(需作图工具)高(纯数值计算)

真正的一般三次方程解析公式,要等到1545年意大利数学家卡尔达诺(Cardano)发表,用虚数表示根式,距王孝通晚了近千年。

这个对比揭示了中国数学与伊斯兰—欧洲数学的一个深层差异:中国数学传统重视算法性(给出计算步骤)而非解析性(给出表达式)。王孝通得到了正确的数值答案,但他的方法不是"公式”,而是"程序"——这正是算筹文化和算法思维的体现。

三次方程在唐代的工程背景

王孝通的20道题,除第一题(历法推算)外,其余题目几乎全部来自以下工程场景:

  • 土方工程(堤坝、沟渠、城墙截面):三个线性约束于三个维度,导出三次方程
  • 仓储计算(圆仓、方仓容积):已知容积和形状比例,求线性尺寸,导出立方根或三次方程
  • 建筑斜坡(仰观台、盘道):高与底的比例约束加上总体积约束,形成三次方程
  • 堤坝剖面(直角梯形截面):长宽高之间的线性约束加上体积约束,导出三次方程

这些场景有一个共同的数学结构:一个三维体积(三个维度之积),加上各维度之间的线性约束,消去两个未知数后,自然得到三次方程。这不是王孝通刻意设计的——三次方程是从工程逻辑中自然"生长"出来的。

正是这种自然性,让《缉古算经》的历史价值远超一本习题集。它证明了:在唐代初年,三次方程不是数论家的智力游戏,而是工程师日常计算的现实需求。从这个意义上说,王孝通的上疏并不夸张——他解决的问题,确实是当时工程数学的前沿。

《缉古算经》作为算经十书的地位

唐太宗贞观年间和武则天时期,国子监把一批数学著作定为"算经",列为教学教材,总称算经十书。《缉古算经》是其中成书最晚(626年上呈)且数学水平最高的之一。

从算经十书的内容来看,三次方程仅在《缉古算经》中系统出现,其他九书(《九章》、《孙子》、《五曹》、《张邱建》等)均以线性方程和二次方程为主。这说明《缉古算经》标志着中国算学在唐初所能达到的最高复杂度——不是因为没有更难的问题,而是当时能写出完整解法的,只有王孝通一人。

王孝通的自信在数学史上是有据的。他的20道题,没有一道是虚构的,全部有实际工程背景,全部有完整的数值答案。后来的注家(如李淳风注)在注疏时,也承认王孝通的解法是正确的,只是"术文简略,读者难解"。

这种"正确但晦涩"的风格,是中国早期数学著作的通病——结论先行,过程后补,注释者负责把逻辑填充完整。王孝通的后继者花了几百年的时间,才把三次方程的数值解法系统化为宋代的增乘开方术。

历史的讽刺:无人能读的算经

王孝通把《缉古算经》的难度说得很清楚:“如有排其一字,臣欲谢以千金。“这句话也可以理解成:真正能读懂这本书、发现错字的人,几乎不存在。

《缉古算经》被列入唐代国家数学教育的"算经十书”,在学制中单独分配四年学习时间——其他算经通常一到两年。然而史书几乎没有留下任何唐代算学生真正掌握《缉古算经》的记录。

《缉古算经》在流传过程中,逐渐残缺。到清代,能找到的孤本已残损不全,末四题缺下半截,最后两题连题目都不完整。清代学者张敦仁(1754—1834年)花了巨大精力才部分补足,最后两题至今仍有争议。

一本被列为国家教材、却几乎无人能学会的书;一份附有千金赌注的挑战书,却几乎无人接受挑战——不是因为王孝通的数学有问题,而是因为他走得太远,离他的时代太远。

王孝通的自信,赢在了寂寞里。他的千金赌注,等了五百年,才由宋代的增乘开方术接过了衣钵。

Chapter 23: 隋唐历算 — 内插法与《大衍历》

为什么历法家需要内插

中国古代数学有一个令人惊叹的特征:很多重要数学方法是历法家发明的,而不是纯数学研究的产物。内插法就是典型。

月亮的运动是不均匀的(月球轨道是椭圆而非正圆),要精确预报朔望时刻,必须对月亮的"改正值"进行精确插值。天文观测只能在特定时刻进行,而实际需要的时刻往往在两次观测之间——如何从已知数据推算中间值,这就是内插法的需求来源。

刘焯的二次内插法

刘焯(544—610 AD),隋代天文历法家,才华横溢而一生坎坷。他的历法《皇极历》因政治原因被搁置,死后才被承认。他在数学上的核心贡献是等间距二次内插法,是后来"招差术"的先驱。

二次内插图:三个等间距数据点(蓝),抛物线拟合(红),插值点 $x^$ 处的估计值 $y^$(绿),一阶差 $\Delta_1, \Delta_2$ 与二阶差 $\Delta^2$ 标注

**问题设置:**已知函数 \(f\) 在等间距三个时刻的值:\(f_0, f_1, f_2\)(间距 \(L = 1\))。在 \(0 < t < 1\) 处估算 \(f(t)\)。

定义差分:

  • 一阶差分:\(\Delta_1 = f_1 - f_0\),\(\Delta_2 = f_2 - f_1\)
  • 二阶差分:\(\delta = \Delta_2 - \Delta_1\)(反映函数的"加速度”)

刘焯插值公式:

\[ f(t) \approx f_0 + t \cdot \Delta_1 + \frac{t(t-1)}{2} \cdot \delta \]

这在数学上等同于牛顿前向差分公式(Newton forward difference interpolation)。牛顿是在1687年给出系统表述的。刘焯比他早了约1100年。

具体数值例子(月亮运动):

已知:第0天月亮在黄道经度 \(0°\),第1天在 \(13.2°\),第2天在 \(26.0°\)。

  • \(\Delta_1 = 13.2\),\(\Delta_2 = 12.8\),\(\delta = -0.4\)(月亮在减速)

估算第0.5天的月亮位置:

\[ f(0.5) = 0 + 0.5 \times 13.2 + \frac{0.5 \times (0.5 - 1)}{2} \times (-0.4) = 6.6 + 0.05 = 6.65° \]

与线性内插给出的 \(6.6°\) 相比,二次内插多了 \(0.05°\) 的修正,来自月亮运动的非匀速性。实际天文观测中,这个修正可以积累到显著的误差,对预报朔望时刻至关重要。

刘焯把这个过程称为"陟降"——太阳(或月亮)运动的"加速"和"减速"。在他的术文中,“初率"对应 \(\Delta_1\),“末率"对应 \(\Delta_2\),“别差"对应 \(\frac{\delta}{2}\),算法步骤完整,具有严密的程序性。

僧一行与不等间距内插

僧一行(683—727 AD),俗名张遂,唐代最伟大的天文学家。他从725年开始编写《大衍历》,729年颁行。

等间距内插的前提是:观测时刻必须等间隔分布。但实际天文观测往往不满足这个条件。一行把内插法推广到不等间距情形:

设已知三点 \((x_0, f_0), (x_1, f_1), (x_2, f_2)\),间距 \(h_1 = x_1 - x_0\) 和 \(h_2 = x_2 - x_1\) 不一定相等。一行构造了"通率”、“变率"等中间量来处理不均匀间距,其数学等价于拉格朗日二次插值(Lagrange interpolation)。拉格朗日的系统表述出现于1795年。

九服晷影与大地测量

《大衍历》中有一套**“九服晷影算法”**,计算不同纬度地区在特定节气的日影长度。

“九服"是唐代对帝国版图的九个地理分区,覆盖从华南到北方草原的大片区域。不同纬度的地方,同一时刻太阳仰角不同,日影长短也不同。

**数学关系:**设地点纬度为 \(\phi\),某节气太阳赤纬为 \(\delta_\odot\),正午太阳仰角:

\[ \alpha = 90° - |\phi - \delta_\odot| \]

日影长度(八尺表的影长):

\[ s = 8 \times \cot \alpha = \frac{8}{\tan \alpha} \]

一行建立了一套数值近似公式(他没有三角函数的名词,用"晷影率"和"积日数"来处理),本质上是正切函数的数值近似表。这是中国数学史上三角函数出现的最早系统性应用之一。

刘焯内插法的数学本质:从算法到公式

从术文细读到公式推导,这一段路要走得仔细一点。

刘焯的术语体系和现代记法之间有一套精确的对应。他说的"气末率”,就是两个相邻节气陟降率的平均值;“总差"是两个陟降率之差除以节气长度 \(L\);“别差"是总差再除以 \(L\),即二阶差的一半。用现代符号,若 \(\Delta_1 = f_1 - f_0\),\(\Delta_2 = f_2 - f_1\),则:

\[ \text{气末率} = \frac{\Delta_1 + \Delta_2}{2L}, \quad \text{总差} = \frac{\Delta_1 - \Delta_2}{L}, \quad \text{别差} = \frac{\Delta_1 - \Delta_2}{L^2} \]

“前多”(\(\Delta_1 > \Delta_2\))时,初率为:

\[ \text{初率} = \frac{\Delta_1 + \Delta_2}{2L} + \frac{\Delta_1 - \Delta_2}{L} = \frac{3\Delta_1 - \Delta_2}{2L} \]

把各日陟降数累加,就得到时刻 \(t\) 处的迟速数修正量。这个累加过程对应的现代公式是:

\[ f(nL + t) = f(nL) + \frac{\Delta_1 + \Delta_2}{2L} \cdot t + \frac{\Delta_1 - \Delta_2}{L} \cdot \frac{t(t - 1)}{2L} \]

这与牛顿前向差分公式

\[ F(T + t) = F(T) + t \cdot \Delta_1 + \frac{t(t-1)}{2} \cdot (\Delta_1 - \Delta_2) \]

在结构上完全一致——刘焯的构造方式是从等差级数的逐步累加出发的,而不是直接从差分多项式拟合出发,但最终结果等价。这并非偶然:刘焯深研《九章算术》,“五尺金棰"问题(等差数列各项的求法)是他算法直接的思想来源。他把等差级数的累加逻辑推广到了二阶差分,从一次插值跨进了二次插值。

僧一行的不等间距插值:为什么需要它

等间距内插有一个隐含假设:已知数据点在时间轴上均匀分布。刘焯的公式要求三个数据点之间的间距 \(L\) 相等,一气之内再做 \(t\) 的精确内插。

但天文观测有一个顽固的现实问题:日月运行速度本身是不均匀的(月球轨道是椭圆,太阳的"运动"从地球视角看也受轨道离心率影响),如果一味按等间距节气划分,每个节气的陟降率差异很大,内插误差就会在极端情形下变得不可接受。更根本的问题是:一行想要更灵活地处理观测点,而不是强迫自己把观测恰好安排在等间距时刻。

僧一行(683—727)在《大衍历》(729年颁行)中构造了一套处理不等间距的方法。设已知三个不等间距的数据点 \((x_0, f_0),\, (x_1, f_1),\, (x_2, f_2)\),两段间距分别为 \(h_1 = x_1 - x_0\) 和 \(h_2 = x_2 - x_1\)。一行定义了"通率"和"变率"等中间量来处理非对称情形。

用现代记法,一行的算法本质上等价于拉格朗日二次插值公式:

\[ f(x) = f_0 \cdot \frac{(x - x_1)(x - x_2)}{(x_0 - x_1)(x_0 - x_2)} + f_1 \cdot \frac{(x - x_0)(x - x_2)}{(x_1 - x_0)(x_1 - x_2)} + f_2 \cdot \frac{(x - x_0)(x - x_1)}{(x_2 - x_0)(x_2 - x_1)} \]

当 \(h_1 = h_2 = L\) 时,这就退化回刘焯的等间距公式。一行的方法是真正意义上的推广,而不只是特例的微调。拉格朗日本人(Joseph-Louis Lagrange)是在1795年才系统给出这套公式的,比一行晚了约1060年。

一行的方法究竟是什么层次的数学

这里有一个重要的历史学争论需要厘清:一行的不等间距内插,究竟是真正的二次多项式拟合,还是分段线性加修正项?

从《大衍历》的术文结构来看,一行确实构造了一个等价于二次多项式的算法,不是简单的线性修正。他用"通率"处理对称部分,用"变率"捕捉不等间距的非对称贡献,两者合并产生的数值结果与二次拉格朗日插值一致。这已经由20世纪中国数学史学家严敦杰、钱宝琮等人仔细验证。

然而,一行的数学语言是算法性的,而不是代数性的。他没有写出系数表达式,没有把三个基函数显式分离,而是通过一套数值步骤直接算出插值结果。这种风格与中国数学的整体传统完全一致:给出可操作的计算程序,而不是抽象的公式框架。从认识论角度看,这和牛顿、拉格朗日的符号推导是不同的路径——但到达的数学目的地是同一个。

九服晷影算法:正切函数的数值实践

《大衍历》中的九服晷影算法是唐代数学与地理测量的交叉点。“九服"指周制地理分区,在一行的语境里实质是对帝国版图从南到北九个纬度带的系统描述。

从数学上讲,一行建立了一张数值近似表,把不同纬度对应的"晷影率”(日影长度与表长之比)和"积日数”(节气距冬至的天数)联系起来。其核心关系是:

\[ s = 8 \cot\alpha = \frac{8 \cos\alpha}{\sin\alpha} \]

其中 \(\alpha\) 是正午太阳仰角,8尺是标准表长。一行没有正切函数的名词,但他实质上构造了正切函数的数值表——这是中国数学史上三角函数数值近似的最早系统应用。

开元十五年(727年)大地测量的精度,可以用现代数据来评估。一行团队测量结果:从白马(今河南滑县)到蔚州(今河北蔚县)约3.5度纬差,测得距离约351唐里;推算每度约100唐里。换算为现代单位,每度约129公里,实际值约111公里,误差约16%。这个误差主要来自:唐里的标准不统一、测量路线非正南北方向、以及正午日影测量的仪器精度限制。即便如此,在当时的技术条件下,有意识地从实测数据推算地球曲率这一方法本身,已经是世界领先水平。

唐代的印度天文学传入:一行是否受到影响

这个问题在学界有持续讨论,需要小心区分有据可查的事实和推测。

有文献支撑的事实:唐代确有大量印度天文历算著作传入。《隋书·经籍志》载有《婆罗门天文经》、《婆罗门算法》、《婆罗门算经》等多部著作,但这些书籍在唐代即已散佚(607年随隋朝宝库运输途中漂没黄河)。瞿昙氏家族是中印天文交流最直接的载体——这一家族在唐代代代出任太史令,683至727年间(正是一行生活的年代),瞿昙悉达主持编撰《开元占经》,其中引用了大量印度星占资料,并收录了印度数字系统(九个数字加零的位值制)的最早中文记录。

关于一行本人:钱宝琮在《大衍历》研究中指出,一行肯定接触过当时流传的七曜历和婆罗门历法知识。但《大衍历》的内插法在技术路线上是中国本土传统的延伸(刘焯→李淳风→一行),并不需要引入外来方法来解释。一行的贡献是把刘焯的等间距公式推广为不等间距公式,这个方向上的推进在中国历法内部已有充分动力。

谨慎的结论:印度天文学为唐代天文学家提供了丰富的比较视野(不同的行星模型、不同的历法参数体系),但一行不等间距内插法的具体算法构造,目前没有发现直接来自印度数学的明确渊源。两条传统各有自己的内插方法,也各有自己的数学语言。

历法改革的政治脉络:为什么一行能成功

刘焯才华远超时代,却一生未能颁行历法;一行则在极短时间内完成了《大衍历》并获得朝廷全力推行。这个对比本身就是历史的一课。

开元年间(713—741)的唐玄宗朝,是唐代国力最鼎盛的时期。玄宗本人对天文历法有特殊的政治兴趣——历法改革在唐代既是技术问题,也是礼制问题:新皇帝颁行新历,象征天命更新和政治权威。玄宗在724年召见一行,直接委以修历重任,并命梁令瓒等工匠协助一行制造新仪器(黄道游仪、水运浑仪),这是刘焯从未享有的政治资源。

一行的身份也起了作用。他是一位备受尊敬的佛教高僧,与道教高人司马承祯友善,曾受玄宗亲自礼请出山,政治风险极低。历法问题上,他不必像刘焯那样在派系斗争中孤身作战,而是以皇帝直接授权的方式推进工作。724年大地测量能够动员从越南北部到河北的多个观测站同时测量,没有皇权支持是不可能做到的。技术成就和政治时机,在一行这里罕见地同时到位了。

**728年大地测量:**开元十五年,一行组织了一次大规模的大地测量,在从约17°N(今越南北部附近)到约40°N(今河北)的多个站点,同时测量夏至日正午的日影长度。目的是实测地球的弧度——南北方向每相差一纬度,地面上对应多少里。

测量结果:从今河南白马县到今山西蔚县,纬度差约3°,地面距离约351里,相当于每纬度约117里。换算成现代单位:每纬度约129公里(现代值约111公里),误差约16%。在没有精确测量仪器的唐代,这是相当了不起的精度。

更重要的是方法本身:这是中国历史上第一次有意识地用实测数据推算地球曲率,比阿拉伯哈里发马蒙(al-Ma’mūn)在820年代组织的类似测量早约一个世纪。

张胄玄与《大业历》:隋代历法的定型

在刘焯与僧一行之间,还有一位长期被低估的隋代历算家——张胄玄(约526—612年后),勃海蓨(今河北景县)人。约开皇十年(590年),他经冀州刺史赵毖举荐入京,担任太史监,参议历法。

张胄玄的历史机遇来自一场旷日持久的历法争辩。隋初太史令张宾主持《开皇历》,但精度存疑。刘孝孙等人批驳张宾之历,张胄玄与刘孝孙联手"共短宾历”,赢得隋文帝杨坚的赏识。后来刘焯也加入论战,把自己的历法命名为《皇极历》对抗张胄玄;两人互相攻讦,争议延续到隋炀帝年间。开皇十七年(597年),张胄玄的新历正式颁行;大业六年(610年)刘焯去世后,张胄玄厘定历术,是为传世的**《大业历》**。

《大业历》在技术上有若干独到之处,史称"与古不同者三事”,“其超古独异者有七事”。其中关键一点是定朔算法的改进:他把日月运动不均匀性的改正(“日躔盈缩”)系统纳入朔日计算,并在五星位置预报上也作出了修正。与刘焯《皇极历》相比,《大业历》在某些技术细节上稍逊一筹,但它是在实际颁行情况下保留至今的隋代历法,反映了当时历算技术的真实水平。

曹士为与《符天历》:民间历法的异军突起

唐代中期,安史之乱以后政局动荡,朝廷对天文历法的垄断有所松动,民间私历由此得以流传。其中影响最大的,是中唐建中年间(780—783年)由术者曹士为编撰的《符天历》,又名《七曜符天历》《合元万分历》。

《符天历》的体例在中国历法史上颇为罕见——它以"雨水"为岁首而非"正月朔日”,以显庆五年(660年)为历元(上元),并吸收了来自印度的九曜历法传统(将罗喉、计都两隐曜纳入体系),算法中有明显的天竺历法影响痕迹。正史称其为"小历”,仅行于民间;但其算法被后晋官历《调元历》(936年)吸收,并经五代直到北宋广泛流传,《宋史·艺文志》著录的相关书目多达十余种,说明它在民间的生命力远超官方认可的正史篇幅。

《符天历》的意义在于:在国家天文学之外,存在着另一套平行的历算传统,它更靠近实际使用者(占卜、历书印刷、农时推算),服务于不同的社会需求。中唐历算大家边冈的算法也受到《符天历》的影响。它提醒我们,中国数学史不只是官方制度史,民间的实用历算同样是这段历史的有机组成部分。

刘晏:以经济数学治国的理财家

在数学史的叙述里,历法和几何往往占据中心位置,但唐代还有一种不容忽视的数学实践——经济数学,即用量化方法管理国家财政、物价与漕运。这方面最突出的代表是刘晏(715—780年)。

刘晏,字士安,曹州南华(今山东菏泽西)人,8岁被唐玄宗赐号"神童”。广德二年(764年)至大历末(779年),他以户部侍郎、度支郎中身份主掌国家财政十余年,将国家盐税收入从60万贯提升到600万贯以上,而百姓并不觉得赋税加重。他被冤杀于建中元年(780年),“天下以为冤”。

刘晏的理财方法蕴含着精密的量化思维。物价信息网络:他在全国各地设置"知院官",每旬汇报当地粮价、物价,形成一套实时的价格信息系统,依据信息弹性调节官方收购和抛售时机。沈括在《梦溪笔谈》中评论:“刘晏掌国计,数百里外物价高下,即日知之。“这与现代的价格监测体系在原理上是一致的。

均输与籴法:刘晏把漕运管理与盐铁专卖统一由一个机构管理,降低行政成本。在粮食购销上,他推行"常平"籴法:在产量丰年以较高价格收购,在歉年以低于市价抛售,平抑物价波动。这个模型的数学实质是:设定一个目标价格区间,根据供需偏离程度动态调节政府入市量,是一种有约束的优化问题。《九章算术》均输章的比例分配思想,在刘晏的手里变成了实际的国家治理工具。

王朴与《钦天历》:五代历法改革的终章

五代末期,历法的改良工作在后周世宗柴荣手中迎来了一次有力推动。显德二年(956年),周世宗诏命学者王朴(906—959年)主持修撰新历,以彻底清理此前流行的"符天"体系中"流俗不经之学”。

王朴,字文伯,东平(今山东东平)人。史书称他"为人明敏多材智,非独当世之务,至于阴阳律历之法,莫不通焉”,后周初官至端明殿学士、左散骑常侍。接到修历诏令后,他积极投入工作,“削去近世符天流俗不经之学,设通、经、统三法”,历经一年有余,完成《钦天历》共15卷,含《历经》1卷、《历》11卷、《草》3卷,另附《显德三年七政细行历》1卷。

王朴在《钦天历》中建立了"三法"体系:通法100、经法72、统法7200(即 \(100 \times 72\))。他对这三个常数作了近乎神秘学的解释——阳策36,阴策24,“两阴三阳,同得七十二”——但实际上,72因数众多(\(72 = 2^3 \times 3^2\)),在历法分数运算中确实便于约分;100作为进位节数,方便十进制运算。

王朴在数学方法上批评了前代边冈等人使用的"等接"之术,说那是"从假用以求捷径"。学界推测,这一批评折射出王朴对边冈精妙内插技巧的理解仍有局限。《钦天历》原书今已大部分失传,仅余简略片段,但它代表了五代时期中原历法的最高水平,宋初承用此历直至太平兴国年间,是从五代进入宋代历法体系的重要过渡环节。

Chapter 24: 敦煌数学 — 莫高窟的算题残卷

一堵墙,九百年的沉默

公元1035年前后,西夏大军压境。敦煌当地的僧侣做了一件后来改写了20世纪学术史的事:他们把无法带走的数万件文献堆进莫高窟的一个小石室,用砖墙封死洞口,在墙外涂上壁画,把秘密藏进石头里。

石头里的秘密沉睡了九百年。

1900年,道士王圆箓在清理莫高窟积沙时,意外碰破了一面墙。墙后是一个小室,今天的编号是第17窟。里面堆满了写本和印刷品——佛经、道教文书、儒学、诗歌、历书、医方、契约,还有数学题。

**文物的流散。**发现之后,敦煌文书遭到令人痛心的流散:

  • 1907年,英国探险家斯坦因(Aurel Stein)以极低代价买走约8000件,今藏英国大英图书馆
  • 1908年,法国汉学家伯希和(Paul Pelliot)精通汉文,有选择地取走约6000件精品,今藏巴黎法国国家图书馆
  • 1909—1910年,日本、俄罗斯探险者也带走了一批
  • 中国留存约1.7万件,主要在北京国家图书馆

这批流散文书在20世纪初引发了"敦煌学"这一专门学问。中国学者严敦杰(1917—1988)和李俨(1892—1963)在20世纪三四十年代开始系统整理其中的数学内容。

敦煌算题:一个具体例子

伯希和编号P.2667号卷子是研究最充分的敦煌数学文献之一,内容是各类面积和体积题。其中一道:

今有圆田,周三十步,问得田几何? 答曰:七十五步。 术曰:周自相乘,十二而一。

“圆田"即圆形田地,“周"即周长30步,问面积多少。

用 \(\pi = 3\) 代入:周长 \(C = 30 = 6r\),得 \(r = 5\)。面积 \(= 3 \times 25 = 75\)。✓

术文"周自相乘,十二而一”:\(\frac{C^2}{12} = \frac{900}{12} = 75\)。这是在 \(\pi = 3\) 的近似下的公式 \(A = \frac{C^2}{4\pi}\)。

一个细节:这道题用的是 \(\pi = 3\)。写这道题的时候,祖冲之早已算出 \(\pi \approx 3.1415926\),密率 \(\frac{355}{113}\) 也早已闻名。但在敦煌,基层官吏和商贩用的仍然是 \(\pi = 3\)——快速、简单、够用,误差约4.5%,对大多数土地测量没有问题。

**学术精英的数学成就和基层实践之间,存在巨大的落差。**祖冲之的七位小数,对于敦煌的圆田计算毫无用处。这不是悲剧,而是一个事实:数学的前沿和数学的日常,从来都是两件不同的事。

九九乘法表与除法口诀

敦煌写本中发现了多份九九乘法表,有些写在卷子末尾,有些是单独的作业纸。

与今天不同,古代口诀从大数开始:“九九八十一,九八七十二,九七六十三……“一直到"一一如一”。这个"从大到小"的顺序贯穿整个古代,直到近现代才改为从"一一"开始的顺序。

除了乘法表,还有归除口诀。形如:“一归如一进,逢一进一十……“这是算筹做除法时的辅助口诀,帮助计算者快速确定每一位商。宋元时期算盘普及后,这些口诀和珠算操作紧密结合,发展成今天我们熟知的"一一得一,一二得二……“和"归除歌诀"体系。

敦煌写本证明,在宋元算盘正式普及之前,唐代民间已经发展出了一套高度口语化的计算辅助记忆系统——不靠算盘,靠的是经过千百年积累的口诀传统。

莫高窟壁画里的几何

敦煌的数学遗迹不只在文字上。莫高窟的藻井图案(窟顶装饰)展示了高水准的几何作图能力:

  • 第329窟藻井:以中心为对称点,向外辐射的多层正方形嵌套,各层旋转45度,形成"旋转方格"图案。这需要精确的45度角等分和边长的 \(\sqrt{2}\) 倍缩放。

  • 第428窟藻井:圆内接多边形嵌套,从外到内依次是正八边形、正方形、圆,精确度相当高。

  • 第407窟藻井:复杂的三角形拼接图案,涉及等边三角形的密铺(三角形镶嵌),没有现代量角器,工匠是用绳和规矩完成这些图案的。

这些图案反映了唐代工匠群体对几何知识的实际掌握——他们不一定能写出公式,但能用绳、规、矩在实践中作出精确的几何图形。

民间数学 vs 官方算经:两条平行的河流

敦煌数学文书给中国数学史研究带来了一个全新的维度:精英数学(算经文化)与民间数学(敦煌写本)之间的断层

官方算经十书是经精英数学家整理、注释、官方背书的知识体系,代表中国数学的最高成就。而敦煌写本代表的是基层的、实用的、口耳相传的数学实践——粗糙、有误,但真实反映了普通人(商人、工匠、小吏、僧侣)的数学生活。

两者之间的落差是惊人的:祖冲之的 \(\frac{355}{113}\) 诞生于5世纪,但敦煌7—10世纪的算题仍然用 \(\pi = 3\)。《缉古算经》在8世纪要求算学生学三年,但敦煌写本的三次方程踪影全无。算经十书在学术史上是峰,敦煌文书在社会史上是面——两者共同构成了中国古代数学的完整图景。

20世纪以来,严敦杰、李俨、钱宝琮等人对敦煌数学文书的系统整理,深刻改变了我们对唐代数学的理解:中国古代数学不是一条单一的精英传承线,而是一棵大树——有高耸入云的主干(算经系统),也有伸展在地面的庞大根系(民间数学实践)。两者缺一,都不完整。


晚唐五代:历算的两次创新

唐朝的故事从来都不是直线上升的。八世纪中叶,安史之乱几乎摧毁了整个官僚体系,算学馆在战后衰落,元和年间在籍学生只剩十人。历法计算的需求没有缩水,但国家对数学的投入缩水了。于是历算家们在逼仄的条件下,做了两件了不起的事。

徐昂与《宣明历》:三差的发明

公元 822 年,历官徐昂主持修成《宣明历》,于唐长庆二年颁行。这部历法在中国本土通行 71 年,但真正令它不朽的是它在日本的命运:859 年传入日本,被官方采用,沿用约 800 年,直到明代《大统历》传入才退出历史舞台。一部历法能在另一个文明连续使用 800 年,中国历史上绝无仅有。

《宣明历》最重要的数学成就,是发明了日食预报的三差修正,将三种修正分离建模:

时差:与定朔时刻距正午的远近有关。距正午越远,月亮视差对食分影响越大;

\[f(n) = 2350 - 26n\quad (n \text{ 为距二至日数})\]

刻差:与一天中的具体时刻有关,反映月亮在食甚时的东西视差,随节气周期呈分段线性变化。

三种修正合并,用现代语言来理解:时差对应太阳视差的时间分量,气差对应太阳赤纬引起的纬度视差修正,刻差对应月亮时角引起的视差修正。徐昂在没有三角函数名词的情况下,用分段线性函数逼近了日食预报中的三维视差修正。宋代人评价"法制简易,合望密近,无能出其右者”,这不是夸张——800 年的日本历史是最好的注脚。

边冈与《崇玄历》:高次多项式的出现

《宣明历》颁行约六十年后,历官边冈(生卒年不详,活跃于 9 世纪末)主持修历。他用高阶整体多项式取代了前人的分段线性插值。他的太阳中心差算法等价于:

\[f(l) = \frac{\Delta \cdot l \cdot (2s - l)}{s^2}\]

其中 \(l\) 为太阳平近点角,\(s\) 为半周天日数(约 91 日),\(\Delta\) 为最大修正量。展开这个公式:

\[f(l) = \frac{2\Delta}{s^2} l - \frac{\Delta}{s^2} l^2\]

这是一个二次函数,在整个半周天上均匀成立,没有接缝。边冈进一步把这种思路用于每日晷长计算,差分表到三阶甚至四阶才归零,在数学上意味着被逼近的函数是三四阶多项式:

\[f(x) = a_0 + a_1 x + a_2 x^2 + a_3 x^3 + a_4 x^4\]

这是欧洲独立发展出多项式插值理论(格雷戈里-牛顿内插公式,1670 年代)之前,中国数学史上有据可查的最高次数多项式逼近的实例之一。

为什么边冈被历史遗忘?《崇玄历》颁行后两年,唐朝开始崩溃,五代十国的战乱使大量文献散佚,边冈原著 40 卷如今只残存于《新唐书》的节录。宋代数学家在独立重新发展高阶差分法时,没有追溯到边冈的先驱工作——正如文艺复兴时代的欧洲人要重新发现古希腊数学,中国数学史上也有自己的断裂与再发现。

同期欧洲数学:阿尔昆与拜占庭学者

当唐朝的边冈用高次多项式拟合行星运动曲线时,欧洲的数学水平在哪里?

公元 800 年前后,法兰克王国的查理大帝(Charlemagne,742—814)正在主持欧洲的"加洛林文艺复兴”,努力让宫廷里的贵族子弟学会基本的读写算术。主持宫廷学校教育的,是英国约克的学者阿尔昆(Alcuin,约 735—804)。阿尔昆留下了一本题为《供年轻人磨砺心智的命题》(Propositiones ad acuendos juvenes)的小书,包含 53 道算术谜题,是中世纪欧洲最早的数学题集之一。

题目包括这样的经典问题:“一个人有一百头猪,分三天出售:第一天出售一半加半头,第二天出售余下的一半加半头,第三天出售剩余的,三天各售多少头?“这类题目显示:公元 800 年的欧洲数学,相当于中国小学生算术的程度——远未触及分数四则、面积体积、联立方程,更不要说不定方程、高次多项式、天文内插法。

同期东罗马帝国(拜占庭)的情况稍好:拜占庭保存了部分希腊数学典籍(欧几里得《原本》的抄本,海伦《度量论》的片段),并通过主教区学校传授基础算术与几何。有学者(如 9 世纪的菲洛普诺斯注解者一脉)延续着对古典数学文本的评注工作,但在创新上几近停滞。

时期(公元 800—900 年)中国成就欧洲水平
历法数学《宣明历》日月食差分三修正(时差/气差/刻差),多变量分段线性逼近修道院按固定算法推算复活节日期,无历法改革能力
插值法边冈《崇玄历》:三阶/四阶多项式逼近天文函数拜占庭抄本:保存希腊等差内插(丢番图风格),无发展
代数天元术萌芽于华北(刘秉忠、李冶先驱期)无代数,斐波那契(Liber Abaci,1202 年)尚在四个世纪之后
算术教育国子监算学:《九章算术》《孙子算经》为基础教材阿尔昆 53 道谜题为最高水平

这张对比表不是为了贬低欧洲数学——欧洲在 13 世纪(斐波那契引入阿拉伯数码和代数)、16 世纪(文艺复兴代数)、17 世纪(微积分)将以惊人的速度弯道超车。但在唐朝,中国数学领先的程度,用现代术语来说是几个数量级,而不是一代人的差距。

敦煌石室里封存的那些九九表和算题残卷,折射出的正是这种差距:即便是写给平民和僧侣的基础数学课本,其内容也比同期欧洲宫廷学者手边最好的东西丰富得多。


Part V: 宋元数学的黄金时代

公元1127年,金人的铁骑渡过黄河,北宋朝廷带着百官和羞耻仓皇南逃。皇帝被俘,汴梁陷落,一个帝国的重心永远地向南移动了。

没有人会预料到,在这两百年的颠沛流离里——北宋的衰落,南宋的偏安,最终蒙古的吞并——中国数学会迎来自己最辉煌的时代。

但事情就是这样发生的。南宋临安,人口超过一百万,大运河上千帆竞渡,纸币交子和会子在全国流通,商人需要计算利率,官府需要丈量田地,天文台需要推算历法。需求催生了数学家,而数学家们做到了让任何时代都叹服的事情:贾宪的增乘开方、秦九韶的大衍求一术、李冶的天元术、朱世杰的四元消法——这些成就放到十三世纪的任何文明中,都无可匹敌。


敦煌文书的发现与流散:一段令人痛心的历史

1900年(清光绪二十六年,即20世纪第一春),阴历四月二十八日,守窟道士王圆箓(?—1931)在清理莫高窟积沙时,意外发现了一面砌死的砖墙。墙后是一个小石室——今天编号为第17窟(藏经洞的正式编号是A17窟旁的A16耳室),内藏写本和印刷品数万件,从5世纪到11世纪连续积累,是1035年前后西夏大军压境时僧侣封闭保存的。

文书的发现随即引发了令人痛心的流散:

  • 1907年,英国探险家斯坦因(Aurel Stein,1862—1943)以极低代价从王圆箓处带走约8000件,装24箱,用40头骆驼运出,翻越葱岭,最终入藏英国大英图书馆(London,编号S1—S7599)
  • 1908年,法国汉学家伯希和(Paul Pelliot,1874—1948)精通汉文,有选择地取走约6000件精品,今藏巴黎法国国家图书馆(编号P1—P5579)。值得注意的是,斯坦因在慌忙中撕裂了若干卷子,P.3349号(下文详述)的两个残片S.19和S.5779被他带走,正文留给了第二年到来的伯希和
  • 1911年,日本探险者桔瑞超,后有俄国的鄂登堡等人,也陆续取走了一批。俄藏约3000卷,今在圣彼得堡俄罗斯科学院东方研究所(编号孟1—孟2953)
  • 中国留存约1.7万卷,主要在北京国家图书馆(编号1—9871)

目前全球敦煌写本总量约3万卷,分散于北京、伦敦、巴黎、圣彼得堡、东京、台北、上海等十余处机构。数学文书约在其中占极少数,但却是研究唐代基层数学实践最直接的第一手资料。

20世纪的敦煌数学研究,以刘复(1925年发表最早论文,依据P.3349)、李俨(1926年研究P.2667,后整理全部数学写本收入《中国古代数学史料》)、严敦杰(1917—1988)为开创者。

敦煌数学文书目录:主要编号

目前学界较为系统整理过的敦煌数学文书,主要集中在以下编号:

伯希和编号(巴黎法国国家图书馆):

  • P.3349:含算法正文和九九乘法表,有明确纪年——唐昭宗光化二年899年),是世界上保存最好的有明确纪年的古代乘法表之一。原件被斯坦因撕裂为三段:S.19和S.5779在伦敦,P.3349正文在巴黎
  • P.2667:习称《算书》,13道面积体积算题,是研究最充分的敦煌数学文献之一(本章正文已详述其圆田题目)
  • P.2490:五代后周广顺二年950年)写本,一张长方形田亩换算表,以步数直接查亩数
  • P.4342:乘法表残卷

斯坦因编号(英国大英图书馆):

  • S.930:算法题目,含开方等内容,文字极为潦草,经李俨等人校补
  • S.5856:分配比例题,六元一次不定方程问题
  • S.4661:算法残片
  • S.19、S.5779:P.3349的被撕走部分,与法藏部分共同构成完整的《算经》序文和九九表

这些文书的主体年代为唐代(7—10世纪),少数延伸到五代(10世纪中叶)。

P.3349的九九表:倒序的口诀

P.3349的九九乘法表写于唐昭宗光化二年(899年),这一纪年清晰可查,使它成为全球现存最可靠的有明确年份的古代乘法表之一。

这份九九表的顺序,与今天的教学顺序完全相反:从”九九八十一“开始,向下逐行递减,最终到”一一如一“结束。在OCR原文的算筹图示中,还附有逐步累加的"通前”(累计和)栏,显示全部45项之积的总和为1155

\[ \sum_{m=1}^{9}\sum_{n=1}^{m} mn = \sum_{m=1}^{9} m \cdot \frac{m(m+1)}{2} = 1155 \]

这个"倒序"并非899年独有,而是从古代一直延续到宋代。依据是:这张表是小九九(45句,每对 \((m,n)\) 中只写 \(m \ge n\) 的那句),在春秋至五代时期,口诀从"九九八十一"开始,原因大概是当时教学从大数开始以显示难度。南宋杨辉记载,当时计算者"只念四十五句”,说明小九九贯穿了整个唐宋时期。口诀顺序改为"一一如一"开始的现代形式,大约发生在宋元之际(12—13世纪)。

除了乘法表,P.3349同一卷还有归除口诀(“一归如一进,逢一进一十……"),这是算筹做除法的辅助记忆系统。这个系统与珠算口诀直接相关,说明在宋元算盘正式普及之前,唐代民间已经发展出高度口语化的计算辅助系统。

敦煌算书中的面积计算错误

敦煌算书(P.2667《算书》第六段共10题面积题)中,若干面积计算公式与《五曹算经》中的公式相同,包含已知的近似误差:

  • 圆面积:用 \(\pi = 3\)(即 \(A = C^2/12\)),而非祖冲之的 \(355/113\)
  • 弓形面积(“蛇田”):用弦长与矢高的乘积近似,而非精确积分

这些错误公式并非无知,而是有意的实用简化。敦煌的基层官吏和商人,进行土地丈量时精度要求低,误差在4—5%以内即可接受。精英数学(算经)与基层实践之间的落差,在这里表现得最为清晰:祖冲之5世纪就算出了小数点后7位的 \(\pi\),但敦煌7—10世纪的算题仍用 \(\pi = 3\)——不是因为不知道更准确的值,而是更准确的值在田间丈量中完全没有用处。

与《五曹算经》的关系表明,敦煌地区使用的是这些实用算经作为教学材料,而非算经十书中的学术版本。这与当时唐代的数学教育制度一致:国子监算学使用《九章算术》等高级教材,而基层则流传《五曹》《夏侯阳》等实用算经。

西域影响:粟特与回鹘的数学文化

敦煌是丝绸之路的枢纽,多语言并存。藏经洞中除汉文、藏文外,还有粟特文(来自中亚锡尔河流域的伊朗语族)和回鹘文(古代突厥语)的文书,其中包括商业账目和契约文书。

粟特文商业账目的计数方法,用字母数字体系表示金额,与汉文算法的算筹计数完全不同。两套系统在敦煌并行,面向不同的使用者——粟特商人用自己的传统,汉族官吏和僧侣用算筹口诀。目前没有明确证据表明两套系统之间有算法层面的相互影响,但敦煌作为贸易枢纽的地理身份,使它成为中亚和东亚两种数学实践最接近的地方。

莫高窟壁画中的数学图像:工匠的几何知识

敦煌的数学遗迹不只在文字上。莫高窟的藻井图案(窟顶装饰)展示了高水准的几何作图能力,证明了唐代工匠群体对几何知识的实际掌握:

  • A329窟藻井(原大170厘米见方):外周正方形,内层多重正方形各旋转45°形成"旋转方格"图案,需要精确的45°角等分和边长的 \(\sqrt{2}\) 倍缩放
  • A428窟藻井:正中四个同心圆,外接正方形,再外八角形,全图32等分圆周形成32瓣莲花,结合同心圆与正多边形的高精度嵌套
  • A407窟藻井:内外三重方圆交替,中央圆内三只奔兔共三耳构成等边三角形,等分圆周形成八瓣莲花

这些图案的精确度令人叹服,尤其考虑到它们是工匠在脚手架上凌空完成的,所用工具只有规(圆规)、矩(直角尺)和界尺(直尺)。工匠不一定能写出公式,但能用绳、规、矩在实践中作出正确的几何图形。这代表了一种操作性的几何知识——无法用文字传达,只能在师徒制中通过实际操作传授,是中国古代数学实践的另一重要维度。

P.2490的算表(950年)从另一个角度展示了敦煌地区的数学实用性:这是一张预先计算好的长方形田地面积查表,行列对应宽度(10—60步)和长度(10—60步),使用者无需任何计算,直接在表格中查出亩数(精度到半亩)。这种"查表代替计算"的思维,与现代数学表格完全相同,是中国数学实用传统的典型体现。

Chapter 25: 贾宪与北宋数学——贾宪三角与增乘开方

谁发明了"霍纳法”?

1819年,英国数学家威廉·乔治·霍纳(William George Horner)向皇家学会提交了一篇论文。论文描述了一种高效求解多项式方程的算法:把多项式写成嵌套的形式,每一步只做一次乘法和一次加法,大大减少运算量。皇家学会出版了这篇论文,学界给这个方法冠上了他的名字——“霍纳法”(Horner’s method),沿用至今。

霍纳大概不知道,他在1819年发表的这个算法,一个北宋官员在仁宗皇帝在位年间——大约公元1050年——就已经完整掌握了。领先的时间:近八百年。

这个北宋官员叫贾宪

史料对贾宪极其吝啬。《宋史·艺文志》只留下一句话:“贾宪撰《黄帝九章算法细草》九卷。“他的同代人王洙记载,贾宪曾师从司天台的算法名家楚衍——楚衍于1023年参与修订《崇天历》,是当时顶尖的历算专家。至于贾宪其人,长什么样,在哪里工作,如何想到他的算法,我们一概不知。更糟糕的是,贾宪的原著已经彻底失传。

我们所知道的贾宪,几乎全来自南宋数学家杨辉。杨辉在《详解九章算法》(1261年)中大量引录了贾宪的内容——而那时,贾宪的书已经消失了将近一百年。贾宪完成了他的工作,然后他的工作差点永远消失。这是中国数学史上反复出现的悲剧:天才的成就太脆弱,依赖一个人,依赖一本书,依赖一个时代的幸存。

那么,是什么让"霍纳法"戴上了霍纳的名字,而不是贾宪的名字?很简单:霍纳把论文发表在了西方学术界能读到的语言和刊物上。数学史的命名规则,从来不只是"谁先发现”,还要看"谁先发表在正确的地方”。这是一个关于权力与语言的故事,不只是一个数学故事。

贾宪三角:前八行与二项展开

1050年,贾宪画了一张三角形数表。他可能不知道这张表将来会有多重要——他只是在为自己的开方算法寻找工具。

每一行由上一行相邻两个数相加生成:

\[ \begin{array}{c} 1 \\ 1 \quad 1 \\ 1 \quad 2 \quad 1 \\ 1 \quad 3 \quad 3 \quad 1 \\ 1 \quad 4 \quad 6 \quad 4 \quad 1 \\ 1 \quad 5 \quad 10 \quad 10 \quad 5 \quad 1 \\ 1 \quad 6 \quad 15 \quad 20 \quad 15 \quad 6 \quad 1 \\ 1 \quad 7 \quad 21 \quad 35 \quad 35 \quad 21 \quad 7 \quad 1 \end{array} \]

贾宪三角:第 0—7 行,每个数等于正上方两数之和;橙色圆圈显示各系数值

六百年后,法国数学家帕斯卡(Blaise Pascal)在1654年独立给出了同样的表,欧洲人从此叫它"帕斯卡三角”。

这张表的用途,不只是好看。第六行的 \(1, 5, 10, 10, 5, 1\) 正是 \((a+b)^5\) 展开的系数:

\[ (a+b)^5 = a^5 + 5a^4b + 10a^3b^2 + 10a^2b^3 + 5ab^4 + b^5 \]

每个系数是一个组合数 \(\binom{5}{k}\):

  • \(\binom{5}{0}=1\)(\(a^5\) 的系数)
  • \(\binom{5}{1}=5\)(\(a^4b\) 的系数)
  • \(\binom{5}{2}=10\)(\(a^3b^2\) 的系数)
  • \(\binom{5}{3}=10\)(\(a^2b^3\) 的系数)
  • \(\binom{5}{4}=5\)(\(ab^4\) 的系数)
  • \(\binom{5}{5}=1\)(\(b^5\) 的系数)

贾宪用这张表做的事是:开高次方。在表里,左边的1叫"积”,右边的1叫"隅”,中间那些数都叫"廉"。开平方时用到第二行,开立方用第三行,开四次方用第四行。这些系数作为算法中的权重因子,贾宪就是这样把一张静态的数表变成了动态的计算机器。

为什么这张表令人震惊?——二项展开领先600年

让我们停一下,感受一下这件事的分量。

贾宪这张表的每一行,恰好是 \((a+b)^n\) 展开的系数——这就是"二项式定理"(Binomial Theorem)。西方数学史上,这个定理的一般形式由牛顿(Isaac Newton)在1665–1676年间给出,对正整数次幂的明确表述最早见于塔尔塔利亚(约1530年)和帕斯卡(1654年)。

但贾宪在1050年就已经系统地制作了这张表,并且知道怎么用它来开任意高次方。这意味着:北宋数学家已经实际上掌握了二项展开的规律,即使他们没有用抽象符号写出"二项式定理"的一般陈述。

为什么 \((a+b)^n\) 的系数是组合数? 让我们实际思考 \((a+b)^5 = (a+b)(a+b)(a+b)(a+b)(a+b)\)。展开时,我们从每一个括号里选一项。如果最终要得到 \(a^3 b^2\),就是从5个括号里选了3次 \(a\)、2次 \(b\)。有多少种选法?就是从5个位置里选3个来放 \(a\) 的方案数,正是 \(\binom{5}{3} = 10\)。这就是那个10的由来——贾宪三角第5行第3个数恰好是10,不是偶然。

这比帕斯卡(1654年)给出帕斯卡三角、比牛顿(1665年)给出二项式定理,早了整整六百年。贾宪没有写出现代意义上的证明,但他已经完整地使用了这个结果,并把它变成了实际的计算工具。数学史家李约瑟(Joseph Needham)在《中国科学技术史》中称贾宪三角是"中国传统数学最壮观的成就之一",并不夸张。

贾宪三角的加法规则

贾宪三角最简洁的构造规则是:第 \(n+1\) 行的每个数,等于第 \(n\) 行对应位置及左边位置的数之和。

比如第五行是 \(1, 4, 6, 4, 1\),第六行的生成:

  • \(1 = 1\)(最左边,直接继承)
  • \(5 = 1 + 4\)(第一格加第二格)
  • \(10 = 4 + 6\)(第二格加第三格)
  • \(10 = 6 + 4\)(第三格加第四格)
  • \(5 = 4 + 1\)(第四格加第五格)
  • \(1 = 1\)(最右边,直接继承)

这个规律用代数写出来是:

\[ \binom{n}{k} = \binom{n-1}{k-1} + \binom{n-1}{k} \]

证明:从 \(n\) 个元素中选 \(k\) 个,分两种情形:选了元素1,则从剩下 \(n-1\) 个中再选 \(k-1\) 个,共 \(\binom{n-1}{k-1}\) 种;没选元素1,则从 \(n-1\) 个中选 \(k\) 个,共 \(\binom{n-1}{k}\) 种。两种情形互斥穷尽,故等式成立。

这个等式就是贾宪三角能一行一行往下延伸、每次只需要加法的根本原因。贾宪当时不一定写出了这个证明,但他已经在实践中完整掌握了这个规律,并把它变成了解方程的工具。

增乘开方法:完整算例 \(x^3 = 1{,}860{,}867\)

这就是那个被霍纳在1819年重新发现的方法。它的核心思想叫嵌套多项式计算

\[ p(x) = (\cdots((a_n \cdot x + a_{n-1}) \cdot x + a_{n-2}) \cdot x + \cdots) \cdot x + a_0 \]

把一个 \(n\) 次多项式的计算从"需要大量乘幂运算"化简为一连串"乘以 \(x\) 再加系数"的重复。效果是:对于 \(n=10\) 的方程,直接计算需要约55次乘法,而这个方法只需要10次。在算筹时代,省下45次乘法不是一个小数字。

下面就用《中国数学史大系》第五卷所载贾宪原著的算例(表2.1.2):求 \(x^3 = 1{,}860{,}867\) 的正整数根。(答案是 \(x = 123\),即 \(123^3 = 1{,}860{,}867\)。)


第一步:确定百位数字(商第一位 = 1)。

\(100^3 = 1{,}000{,}000 < 1{,}860{,}867 < 200^3 = 8{,}000{,}000\)

百位商 = 1。在算筹上,设"下法"(三次项系数)= 1,置于最下行。

初始四行状态:

行名数值含义
\(1{,}860{,}867\)被开方数(待减量)
方法\(0\)一次项系数
廉法\(0\)二次项系数
下法\(1\)三次项系数(隅)

“增乘"操作:上商(百位 = 1)与下法做第一轮增乘,得新廉 = \(1\),新方 = \(1\),从实减去 \(1 \times 10^6 = 1{,}000{,}000\):

行名操作后数值
\(860{,}867\)
方法\(3{,}000{,}000\)
廉法\(3{,}000{,}000\)
下法\(1{,}000{,}000\)

(注:方、廉各乘以位权 \(10^3\);贾宪算筹的"三退"即各行右移三位,对应从百位换算到十位的位权调整。)


第二步:确定十位数字(商第二位 = 2)。

退位后(各行除以相应位权后),试验十位商 = 2,即 \(x \approx 120\)。

再做一轮增乘,更新各行:

行名更新值
\(860{,}867 - [300{,}000 \times 2 + 32{,}000 \times 2^2 + 1{,}000 \times 2^3]\)
计算\(860{,}867 - 600{,}000 - 128{,}000 - 8{,}000 = 132{,}867\)(剩余实)
方法\(432{,}000\)
廉法\(36{,}000\)
下法\(1{,}000\)

第三步:确定个位数字(商第三位 = 3)。

再次退位,试验个位商 = 3,即 \(x = 123\)。

更新:

\[ 432{,}000 \times 3 + 363 \times 3^2 + 1 \times 3^3 = 132{,}867 \quad ✓ \]

余实恰好为零,开方尽,答案 \(x = 123\)。

验证:\(123^3 = 1{,}860{,}867\) ✓


“增乘"这个名字非常准确:每一步,都是把现有余数乘以当前商,加到相应的系数行里,不断累积部分结果。这与现代的综合除法(synthetic division)完全一致。英国数学家霍纳在1819年发表了同样的方法,因此西方教科书称其为"霍纳法”。贾宪约在1050年就已经完整掌握了这一算法,领先约八百年。

贾宪增乘开方与霍纳法的逐步对照:

对比项目贾宪增乘开方(约1050年)霍纳法(1819年)
核心操作算筹四行的"增乘"序列多项式嵌套求值
每轮运算次数\(n\) 次乘加\(n\) 次乘加
负系数支持刘益扩展(正负损益)完全支持
发表场所算书(失传,靠杨辉保存)英国皇家学会期刊
领先时差约769年

两者在数学结构上完全相同。霍纳法就是贾宪方法的符号翻译版。

增乘开方法适用于一般多项式

贾宪的方法不仅限于开纯次方。对一般多项式 \(a_n x^n + a_{n-1} x^{n-1} + \cdots + a_0 = 0\),嵌套写法是:

\[ ((\cdots((a_n \cdot x + a_{n-1}) \cdot x + a_{n-2}) \cdot x + \cdots) \cdot x + a_1) \cdot x + a_0 \]

直接展开计算 \(a_n x^n\) 需要 \(n-1\) 次乘法,计算全部 \(n+1\) 个系数项需要约 \(\frac{n(n+1)}{2}\) 次乘法和 \(n\) 次加法。Horner 法只需要 \(n\) 次乘法和 \(n\) 次加法。在算筹时代,这种效率的提升意义重大——每一步计算都是手动的,节省一次乘法就意味着节省实实在在的时间和出错概率。

刘益与演段术:用图形做代数

贾宪的名字依靠杨辉才得以流传,而另一位北宋数学家——刘益——的命运更加微妙:他的著作彻底失传,我们所知道的关于他的一切,几乎全部来自杨辉的引文。杨辉对他的评价极高,称其"引用带从开方正负损益之法,前古之所未闻也"——这是一个顶尖数学家给另一个数学家的最高赞誉。

刘益大约活跃于11世纪中叶,与贾宪同时代,自称"中山刘先生”(中山即今河北保定一带),著有《议古根源》二百题。程大位1592年编纂的数学文献目录把这部书列在第一位,可见它在明代人眼中的地位。然而原著没有流传下来,我们只能通过杨辉《田亩比类乘除捷法》引录的22道例题,来窥见刘益数学的面貌。这22道题,就是留存至今的全部。

演段术(yǎn duàn shù)是刘益最重要的创造。“演"是演绎、展开;“段"是条段、几何块。演段术的核心思想是:用几何图形来建立代数方程。每一个代数项被理解为一块面积或体积——一次项是矩形条,二次项是正方形,三次项是立方体。问题变成:如何把这些图形块拼合在一起,使其面积(或体积)等于题目给出的常数?

以《议古根源》第4题为例。题目说:“直田积八百六十四步,只云长阔共六十步,欲先求阔步。“设所求之阔为 \(x\) 步,则长为 \(60-x\) 步,题意化为方程:

\[ x(60 - x) = 864, \qquad \text{即} \qquad -x^2 + 60x = 864 \]

刘益的演段图解是这样的:作一个宽为 \(60\)、高为 \(x\) 的长方形,面积为 \(60x\)。但这个长方形比实际的田多出了一个边长为 \(x\) 的正方形(即多计了 \(x^2\)),所以"正少一阔”,需要用"益隅”(加入一个角落正方形)来弥补差额。这在代数上等价于配方:两边各加 \(36 = 6^2\),得

\[ (x - 30)^2 = 900 - 864 = 36 \qquad \Rightarrow \qquad x = 30 - 6 = 24 \text{ 步} \]

刘益直接从图形读出答案,不写任何公式符号。演段图本身就是证明。

这个思路与九世纪伊斯兰数学家花拉子密(al-Khwarizmi)在《代数学》中用几何图形解二次方程的方法,惊人地相似。两种传统相隔万里,各自独立地发现了同一个真理:代数方程就是几何面积,解方程就是割补图形。花拉子密比刘益早约两个世纪,但刘益走得更远。

蒋周与《益古集》:演段术的北宋另一源头

与刘益同处北宋,还有一位活跃于平阳(今山西临汾)的数学家蒋周,他的著作《益古集》是南宋以后代数发展的重要源头之一——尽管它的原著已经彻底失传。

我们今天能了解蒋周,几乎全靠金代李冶(1192—1279)在《益古演段》中的转述。李冶在序中说:“近世有某者以方圆移补成编,号《益古集》,真可与刘(徽)、李(淳风)相颉颃。余犹恨其秘匿而不尽发,遂再移补条段,细缮图式,使粗知十百者便得入室啖其文。“元代朱世杰《四元玉鉴》的祖颐序则直接点明"平阳蒋周撰益古”。李冶居栾城(河北),朱世杰寓燕山(北京),两人生活在金、元时代,都将蒋周列为北宋数学的重要传人,可见《益古集》在当时的地位。

《益古集》的核心方法也是演段术,即以几何图形演绎代数方程。李冶在《益古演段》中保留了若干"旧术”,即蒋周的原术,共64道题。从中我们可以看到蒋周解题的特色。

以《益古演段》第56题为例(保留蒋周原术):“今有圆田一段,内有圆池水占之。外计地二十三亩一分,又云从外田通内池径六十三步。问:内外周、径各多少?”

设环田内圆直径 \(D_1\)、外圆直径 \(D_2\),面积 \(A = \frac{\pi}{4}(D_2^2 - D_1^2)\),已知 \(D_2 + D_1 = 63\)。蒋周原术先求"实径”(\(D_2 - D_1\)):

\[ A = \frac{\pi}{4}(D_2 + D_1)(D_2 - D_1) \implies D_2 - D_1 = \frac{4A}{\pi(D_2+D_1)} \]

取 \(\pi \approx \frac{22}{7}\)(密率),\(A\) 折算为步数,即可解出实径,再通过 \(D_2 = \frac{(D_2+D_1)+(D_2-D_1)}{2}\) 求出内外径。整个推导过程以面积关系为依托,不立方程符号,而是用几何条段直接操作——典型的演段风格。

蒋周的贡献在于:他将演段术系统地应用于圆形田地(而非仅限于方形),扩大了方法的覆盖范围。李冶正是在《益古集》的基础上,进一步引入天元符号体系,使演段术完成了从"几何图示"到"代数符号"的飞跃,催生了《测圆海镜》和《益古演段》——这两部书成了元代数学发展的直接起点。

刘益将演段术推广到了四次方程。《议古根源》第18题要求计算圆田被截取一段弓形的矢长 \(x\)(弓形的高)。由圆的几何性质和《九章算术》弧田面积公式联立,消去弦长后,导出一个四次方程:

\[ -5x^4 + 4Dx^3 + 4A\cdot x = (2A)^2 \]

其中 \(D\) 是圆直径,\(A\) 是弓形面积(已知)。这不是简单的变量替换——这是真正的四次多项式方程,其中系数有正有负(“正负损益”),需要处理负系数的增乘开方法才能求解。

在刘益之前,中国的开方算法(贾宪的增乘开方法)基本只处理正系数情形。刘益将它推广为带益隅开方:能处理带有负项的一般实系数多项式方程。杨辉所说的"正负损益”,正是指这一突破。刘益的算法在负系数情形下,与现代综合除法在形式上完全一致——比霍纳1819年的论文同样早了约七八百年,只是它被封存在了一部失传著作的22道残存习题里。

贾宪的遗产:宋元代数的两条腿

让我们退一步,想想贾宪给后代留下了什么。

贾宪三角:给了后世一个可以无限延伸的系数表,让高次开方不再需要即场计算系数。六百年后帕斯卡重新发现了它;朱世杰在《四元玉鉴》卷首称之为"古法七乘方图",表明它已成为13世纪中国数学家的基本工具。

增乘开方法:给了后世一个可以处理任意高次多项式方程的数值算法,效率极高。刘益将其推广到带负系数的方程,秦九韶将其应用于同余方程和历法计算,李冶和朱世杰将其嵌入天元术和四元术的求解框架。

这双重发明,构成了宋元代数高峰的两条腿:一条是如何建立方程(天元术),另一条是如何求解方程(增乘开方法)。没有贾宪,后续的一切都不会发生。

然而贾宪的书失传了。他的名字,要靠南宋的杨辉、金元的李冶才勉强保存下来。这位改变了数学史的北宋官员,留给我们的只有一张数表和一个算法的记录——以及那个永远无法回答的问题:如果他的书没有失传,中国数学的发展轨迹会是什么样?


北宋的数学教育:断断续续的国家算学

北宋在数学教育制度上的尝试,是一段断断续续的历史。隋唐的国子监算学馆制度曾是亚洲最系统的国家数学教育,但宋朝建立后,整整一百多年没有恢复。

元丰算学(1082年):元丰六年(1081年),国子监奏请设立算学;次年(1082年)十二月,朝廷正式颁旨"立算学",补选算学博士为师,将算学列入国子监五学之一(国子学、太学、武学、律学、算学)。但随即遇到麻烦:没有合适的校舍(选定地址后"迄今工部下所属检计修造"),教师考试也"未有应格";国子监上奏认为将来"养士设科,徒有烦费,实于国事无补",提议停办,朝廷从之。

崇宁算学(1104—1106年):崇宁三年(1104年),政府再次兴办算学,学额210人,“许命官及庶人为之”。规定的教材包括《九章算术》《周髀算经》、《假设疑数算问》,以及兼习《海岛算经》《孙子算经》《五曹算经》《张邱建算经》《夏侯阳算经》,另加历算、三式、天文等应用知识。考试采用类似太学的"三舍法",优秀毕业生可获授通仕、登仕、将仕郎等品阶。但崇宁五年(1106年)正月,算学再次被罢,并入国子监,此后虽几经周折,到宣和年间(约1120年)又有短暂恢复,直至北宋灭亡(1126年)才彻底停办。

这两次尝试的共同问题,是供需严重失衡:国家的算学科举在出路方面远不如进士科吸引人,应试的人既少、质量也参差不齐;而另一方面,北宋真正推动数学进步的人——贾宪、刘益、沈括——基本都是官员或在野学者,并不依赖官办算学馆的体制。这与唐代情况形成对比:唐代算学馆规模虽小,却是保存《九章算术》传本的关键机构。北宋算学馆则更像一个反映王安石变法时代"重技术、兴百工"精神的政策实验,而非真正的学术机构。


Chapter 26: 沈括《梦溪笔谈》中的数学

引言:一个官员的好奇心,改变了数学史

设想一个人,他的一生是这样度过的:带领数万民工治理沭阳的河道,让荒地变成七千顷良田;在开封到泗州之间做精确的水准测量,首次测出800里的地面高差精确到分(合今约2毫米);出使辽国据理力争,挫败对方蚕食边境的图谋;领兵抗御西夏;研究石油,第一个给石油起了中文名字;亲手制作浑仪、晷表、浮漏,与平民卫朴合编施行了19年的《奉天历》;最后,在镇江郊外的梦溪园,把一生的观察和思考写进了两千多条笔记。

这个人是沈括(1031—1095),北宋最伟大的博学家,没有之一。

《梦溪笔谈》不是一部数学教科书,也不是一部科学论文集。它更像是一个极其聪明的人把自己这辈子遇到的有意思的事情都记下来了——天文、地理、物理、化学、医学、工程、诗词、考古,无所不包。数学内容散落其中,像珍珠混在沙里,需要懂得识别的眼睛才能发现它们的价值。

但正是这种"随手记下来"的状态,让沈括的数学具有一种其他著作没有的特质:它来自真实的好奇心,而不是教学任务。他推导隙积公式,因为堆坛子的计数问题让他觉得有趣;他给出会圆术,因为土地测量工作需要它;他估算围棋局面数,因为有人向他提了这个问题。数学在沈括这里,是工具,但也是玩具。

就是这种出于纯粹好奇心的探索,让沈括做出了超越前人的数学发现。这件事本身就值得我们停下来想一想:中国11世纪最深刻的数学洞察,来自一个政府官员的私人笔记。这不是科学机构或学术共同体的产物,这是一个人的好奇心。

隙积术:棱台堆积的精确计数

想象一堆酒坛子,摆成方台形:最底层摆 \(n \times n\) 个,往上每层减一圈,顶层是 \(1 \times 1\) 一个。问:一共有多少个坛子?

最直接的想法是把每层加起来:\(1^2 + 2^2 + 3^2 + \cdots + n^2\)。但这只是把问题转化成了另一个问题——这个求和等于多少?

沈括给出的方垛(正方形底面棱锥堆积)公式:

\[ N = \frac{n(n+1)(2n+1)}{6} \]

验证 \(n=4\):底层 \(4 \times 4 = 16\) 个,次层 \(9\) 个,再上 \(4\) 个,顶层 \(1\) 个。总计 \(16 + 9 + 4 + 1 = 30\)。

公式验算:\(\frac{4 \times 5 \times 9}{6} = 30\) ✓

三角垛则更有意思。底层是三角数 \(T_n = \frac{n(n+1)}{2}\),往上每层是 \(T_{n-1}, T_{n-2}, \ldots\)。总数是:

\[ N = T_1 + T_2 + \cdots + T_n = \frac{n(n+1)(n+2)}{6} \]

验证 \(n=4\):\(10 + 6 + 3 + 1 = 20\)。公式:\(\frac{4 \times 5 \times 6}{6} = 20\) ✓

这个公式隐藏着一个美丽的秘密:\(\frac{n(n+1)(n+2)}{6} = \binom{n+2}{3}\),正好是从 \(n+2\) 个元素中取3个的组合数。三角垛的总数等于某个组合数——这个联系后来被杨辉和朱世杰发展为"垛积术"的核心。

为什么沈括的公式比直接加法更"高一层"?

直接求 \(1+2+3+\cdots+n\) 是一阶等差数列的和。三角垛的公式是把一阶数列的部分和再求和——这是一个二阶问题。方垛的公式是平方数之和,同样是二阶。沈括认识到,要解决这类"逐层叠加"的问题,需要超出简单等差公式的新工具——这个思路直接开启了中国数学差分研究的先河。

沈括的推导核心思路:连续体加修正项

沈括在《梦溪笔谈》中说得清楚:不能直接用刍童(棱台)公式计算堆积,因为实际堆积中各层是离散的(有空隙),刍童公式算的是连续实体,结果"常失于少"(总是偏小)。

他的修正思路是把问题分解为两部分:

  1. 连续体近似(刍童公式给出的值,称为"上位")
  2. 离散修正项(因为每层之间存在空隙而需要补偿的量,称为"下位")

两者相加,得到精确的离散堆积数。这种"连续体 + 修正项"的思路,本质上是有限差分方法的早期实践——与19世纪欧拉(Euler)系统建立的有限差分理论在思路上相通。

阿拉伯数学家伊本·海赛姆(Ibn al-Haytham,约965—1040年)在光学研究中,为了计算旋转体的体积,发现了与 \(\sum k^2\) 公式等价的结论——时间上与沈括几乎同代,属于独立发现。两人彼此不知道对方的存在,却从完全不同的问题出发,走到了同一个数学结论。

会圆术:弓形弧长的近似公式

沈括在《梦溪笔谈》卷十八中给出了会圆术,即从弓形的弦和矢(弓形的高)来估算弧长的公式。

问题背景: 田地的边界常常是弧形的。已知弦长(弓形两端点间的直线距离)和矢高(弓形最高点到弦的垂直距离),怎么估算那段弧的长度?

设弓形全弦长为 \(a\)(半弦 \(c = a/2\)),矢高 \(b\),圆的直径为 \(d\)。沈括的公式是:

\[ l \approx \sqrt{4b^2 + a^2} + \frac{2b^2}{d} \]

第一项的几何来源: 把弧近似为两段折线——每段从弦端点连到弧的中点,每段长度为 \(\sqrt{b^2 + (a/2)^2}\),两段合计 \(2\sqrt{b^2 + (a/2)^2} = \sqrt{4b^2 + a^2}\)。这是勾股定理的直接应用,相当于用折线近似曲线。

第二项的几何来源: \(2b^2/d\) 是经验性的曲率修正项——弧越弯(矢 \(b\) 越大),修正越大;圆越大(直径 \(d\) 越大,曲率越小),修正越小。这个修正项来自沈括对弧和折线之间差距的经验估算。

精度检验:用沈括的符号对半圆验证。

取半径 \(r\) 的圆,割出半圆:全弦 \(a = 2r\),矢 \(b = r\),直径 \(d = 2r\)。精确弧长 \(= \pi r \approx 3.14159r\)。

代入公式:

\[ l \approx \sqrt{4r^2 + 4r^2} + \frac{2r^2}{2r} = 2r\sqrt{2} + r \approx (2.828 + 1)r = 3.828r \]

误差约 \(21.8\%\)——对半圆而言误差较大。

然而对较小的弓形(矢远小于弦,即 \(b \ll a\)),精度大幅改善,误差可在 \(1\%\) 以下——这正是实际田地测量中最常见的情形。

更值得注意的是沈括的态度:他在原文中明确指出这是近似方法,而不是精确公式,并坦然说明了公式的几何直觉来源。这种"实用公式 + 诚实标明误差"的精神,在中国古代数学著作中是罕见的品质。

元代郭守敬(1231—1316年)在编制《授时历》时,从会圆术出发,推导出弧矢割圆术,将弧长和矢高的关系化为一个四次方程来精确求解——把沈括的近似公式变成了精确工具,这是沈括工作最重要的直接延续。

围棋盘上的天文数字

隙积术和会圆术,是沈括最著名的数学贡献。但《梦溪笔谈》卷十八里藏着另一段几乎被所有教科书忽略的文字,而它触及的数学问题,在深度上丝毫不亚于堆坛子和割弓形。

问题是:围棋一共有多少种不同的局面?

据沈括记载,唐代僧一行曾经算过这个问题。沈括也忍不住自己推导了一遍。围棋盘纵横各19线,共 \(19 \times 19 = 361\) 个交叉点;每个交叉点可以是黑子、白子或空,三种状态。所有可能的局面数是:

\[ 3^{361} \]

沈括对此说得很坦率:“此固易耳,但数多,非世间名数可能言之。"——这个数太大了,没有现成的中文单位可以表达。

但他没有就此打住。他用了一种本质上是指数推理的方法。先计算沿边19个格点的排列数 \(f = 3^{19} = 1{,}162{,}261{,}467\),再"以法累乘之,乘终十九行”——即把这个数连乘19次,得 \(f^{19} = (3^{19})^{19} = 3^{361}\)。他还给出了更快的方法:把 \(f\) 自乘得 \(f^2\),再以下乘上、以下乘下,通过反复平方,用不到20次乘法就得出结果——这就是今天所说的快速幂(fast exponentiation)算法。

他最终估算结果是"大约连书万字五十二"。用对数验算:

\[ 361 \times \log_{10} 3 \approx 361 \times 0.4771 \approx 172 \text{ 位数} \]

而"五十二个万字"意味着 \((10^4)^{52} = 10^{208}\) 的量级——沈括的估算偏大,但他的计算路径完全正确:通过幂次(指数)来理解一个庞大的数,而不是试图写出它的全部数字。这是中国数学史上最早的一次指数量级推理,比欧洲对数正式出现(纳皮尔,1614年)早了约500年。

沈括自己并不把这当作什么大事。他在同一卷里紧接着讨论了军事后勤:如果十万士兵出征,全靠人力运粮,每人每日食米2升,一个民工背六斗米并自带五日干粮——最优安排是:“一人饷一卒,一去可十八日;二人饷一卒,一去可二十六日;三人饷一卒,一去可三十一日;三人饷一卒,极矣。“他的结论是:派10万作战部队,需要30万运粮民工,这是极限。超过这个比例,多出的民工自身消耗的粮食比他们运送的更多,得不偿失。

这是一个约束优化问题的早期案例,现代运筹学有完整的处理框架。沈括的方法是通过逐步推算:出发第8天遣返一名随行民工,第17天遣返另一名,使有效补给里程最大化。他没有写出目标函数,没有列约束条件,但他找到了最优解,给出了清晰的数值论证。

把围棋局数和运粮优化放在一起,我们看到的是同一种思维——对"数到底有多大"和"方案到底有多优"这两个问题的直觉性把握。沈括是政治家、工程师、地理学家、天文学家,数学在他手里是解决真实问题的工具,而非学者书斋里的游戏。他从来不把自己的数学成就单独标榜,但正是这种"随手就能算"的能力,让《梦溪笔谈》里散落着一颗颗数学史上的明珠。


隙积术的完整数学推导

沈括在《梦溪笔谈》卷十八中给出方垛公式,但正文只陈述了结论,没有展开推导。以下复原其内在逻辑——沈括的思路是几何式的,不是代数归纳式的。

方垛公式的沈括推导路径

沈括的关键洞察是:不能把三维堆积问题简单处理成二维层叠的重复,必须引入一个修正项。他把问题分解为两部分:

首先,把棱台(方垛)近似为等差数列之和。若底层 \(n \times n\)、顶层 \(1 \times 1\),将每层简单叠加,得:

\[S_{\text{近似}} = 1^2 + 2^2 + \cdots + n^2\]

其次,这个直接叠加给出的不是精确答案,因为棱台各层之间的"阶差"需要修正。沈括发现,修正项恰好是一个三角垛(triangular stack),其公式为 \(\frac{n(n+1)}{6}\)。将两者合并,得到精确公式:

\[N_{\text{方垛}} = \frac{n(n+1)(2n+1)}{6}\]

这个推导路径本质上等价于现代数学中的如下恒等式:

\[\sum_{k=1}^{n} k^2 = \frac{n(n+1)(2n+1)}{6}\]

在西方,这个公式由欧拉(18世纪)系统整理入教科书;在阿拉伯数学中,伊本·海赛姆(约965—1040年)在同时期也发现了类似的求和公式(用于光学中积分体积的计算),与沈括大约同代,属于独立发现。

更一般的棱台

沈括的方法不仅限于正方形底面。他同样给出了刍童(楔形棱台,上下底均为矩形但不等大)的堆积公式。设底层为 \(m \times n\),上层为 \(1 \times 1\),高 \(h\) 层,刍童(隙积)的精确计数:

\[N = \frac{h(2mn + m + n) + h(h-1)(m+n)/2 + h(h-1)(2h-1)/6}{3}\]

这个公式已经相当复杂,处理的是一个真正的三维离散几何问题。《梦溪笔谈》能在一个笔记条目里完整给出这个结果,说明沈括对此有深入思考,而非随手估算。

隙积术的历史地位

在沈括之前,中国数学处理过等差数列(《九章算术》)和简单垛积问题,但没有系统处理三维堆积的精确计数。沈括的隙积术开创了后来垛积术这一独立数学分支,直接影响了杨辉(1261年)的级数研究和朱世杰(1303年)《四元玉鉴》中著名的"茭草形段”——那是中国古代垛积研究的顶峰。

会圆术的精度分析

公式的几何来源

沈括的会圆术给出弓形弧长的近似:设半弦 \(c\)、矢(弓高)\(s\)、直径 \(d\),则弧长

\[l \approx \sqrt{4s^2 + c^2} + \frac{2s^2}{d}\]

第一项的来源是勾股定理:把弧近似为两段折线,每段连接弦端与弧中点,长度为 \(\sqrt{s^2 + (c/2 \cdot 2)^2}\cdot 2 = \sqrt{4s^2+c^2}\)(用整弦 \(2c\) 时的写法,沈括实际使用半弦 \(c\),符号略有不同,此处统一)。第二项 \(\frac{2s^2}{d}\) 是一个经验性的曲率修正——矢越大(弓越弯),修正越大;圆越大(曲率越小),修正越小。

精度的数量级

对小弓形(\(s \ll c\)),误差极小,公式近于精确。随着弧长增大,误差增大。对半圆(\(s = r, c = r, d = 2r\)):

精确弧长 \(\pi r \approx 3.14159r\),公式给出 \(\sqrt{5}r + r \approx 3.236r\),误差约 \(3\%\)。

对四分之一圆(\(s = r - r\cos 45° \approx 0.293r, c = r\sin 45° \approx 0.707r, d = 2r\)):

精确弧长 \(\frac{\pi r}{2} \approx 1.571r\),公式给出约 \(1.576r\),误差不到 \(0.3\%\)。

这说明,对实际测量中常见的较小弓形,会圆术的精度完全满足工程需要。沈括在《梦溪笔谈》中没有给出误差分析,但他明确指出这是"近似法”,体现了难得的量化诚实态度。

十二气历:一个超前七百年的日历方案

沈括对历法改革有一个激进的构想,记录在《梦溪笔谈》和单独的《十二气历》文本中。

问题的根源

中国传统历法是阴阳合历:以朔望月定月份,以节气(太阳运动)调整农业节律,两者无法完美对齐,必须每19年插入7个闰月。这带来严重的使用困难:农民需要知道播种时间(取决于节气,即太阳运动),却必须把日期换算到以月相为基础的阴历月份里——两套系统的错位,给日常农业生产造成持续混乱。

沈括的方案

完全抛弃朔望月,以十二节气(非十二中气)划分月份,每年分十二个月,大月三十一天,小月三十天,完全根据太阳运动而非月相安排。这实质上是一套纯阳历,与今天的格里历原理完全相同,比格里历(1582年)早约五百年,比伊朗的贾拉利历(1079年,Omar Khayyam参与制定)约早几年。

为什么没有被采纳

沈括的十二气历在北宋遭到猛烈批评,被指为"悖乱阴阳,于礼非宜"。攻击者的理由有三:其一,废除朔望月违背了中国几千年来以月相计时的文化传统,影响祭祀、婚丧等礼制;其二,没有闰月就无法调和天文数据,批评者误以为纯阳历精度不够(实则精度更高);其三,改历有政治风险,历法是天子权威的象征,改动等于挑战既有秩序。

这是一个科学上领先时代、政治上无法落地的典型案例。竺可桢(1926年)在评价沈括时说,格里历虽然已经是世界通行标准,但其月份长度的不规则性远不如沈括十二气历的整齐设计。

磁偏角:欧洲之前四百年的测量

《梦溪笔谈》卷二十四记载:

“方家以磁石摩针锋,则能指南,然常微偏东,不全南也。”

这是关于磁偏角(magnetic declination)现象的文字记录中最早的、有明确定量意识的陈述之一。沈括不仅观察到指南针指向并非正南,而且指出偏向"微偏东"——这是真北与磁北之间差角的初步测量。

欧洲有文献记载磁偏角现象,最早约在15世纪末(哥伦布1492年横渡大西洋时注意到磁偏角随经度变化)。沈括的观测约在1086—1093年间,领先欧洲约四百年

沈括还描述了制作磁针的方法(“取新纡中独茧缕,以芥子许蜡缀于针腰,无风处悬之”),这是悬挂式指南针,比水浮式指南针更精确,更适合精密方位测定。

《梦溪笔谈》数学条目的完整图景

《梦溪笔谈》全书二十六卷,约六百条,专属数学内容集中于卷十八(技艺),但涉及数学思维的条目散布于多个卷次。完整梳理:

数学主题卷次核心内容
隙积术(方垛、刍童)卷十八三维堆积精确计数,开创垛积术
会圆术卷十八弓形弧长近似,曲率修正
围棋局数(指数推理)卷十八快速幂算法的早期实例
军粮运输优化卷十一约束优化的早期案例
十二气历卷七、卷二十五纯太阳历方案,超前时代
磁偏角测量卷二十四领先欧洲约四百年
浑仪简化设计卷七去除月道环,提高精度
日月交食预报卷七日月运动不均匀性的讨论
内插法评述卷七对前代历法内插法的系统批评

沈括与刘徽:两种数学精神的对照

把沈括和刘徽放在一起,是一个有启发性的对比。两人都是中国数学史上的顶级人物,但他们的数学精神截然不同。

刘徽(约3世纪)的数学,追求严密性:割圆术通过穷竭逼近,每一步都有理论保证;祖暅原理是关于体积的一般性定理,可以推广应用。刘徽在写注文时,反复使用"案"、“按图验之”、“可以微数推之"这样的语言——他在建立的,是数学论证的标准。

沈括的数学,追求有用性:隙积公式给出数值,可以直接用;会圆术给出近似,误差可接受;快速幂算法给出计算路径,效率最高。沈括在写这些内容时,语气是随手记录的——他在做的是知识整理,而非体系建构。

刘徽沈括
风格演绎论证,步步为营经验总结,实用导向
精度追求任意精度(割圆术可无限精化)接受实用精度(会圆术误差可接受)
动机解释已有知识的内在逻辑解决实际遇到的具体问题
影响后来宋元数学的理论基础直接引发垛积术、《授时历》等应用

两种精神都是数学所需要的。没有刘徽,就没有对数学结构的深入理解;没有沈括,就没有把数学带入工程、测量、天文日常的实践传统。中国数学史上,沈括提供了一个罕见的例证:最深刻的数学发现,有时来自一个不以数学为业的人,仅仅因为好奇心和实践需要的双重驱动。

作为一个时代的博学者,沈括的数学贡献在中国历史上是独特的:他不写数学专著,但他把数学思维带进了博物笔记,让数学问题在一个更宽广的知识生态里存活。这种"非专业化的专业水准”,正是《梦溪笔谈》最奇特也最珍贵的地方。

Chapter 27: 秦九韶《数书九章》——大衍求一术与正负开方术

从一道题到一套算法:什么叫"数学"

我要先给你讲一个故事。

公元1247年,南宋,湖州。一个名叫秦九韶的人,正在守母丧的三年期间。按礼制,守孝期间不能做官,不能参加宴饮,生活应该是素净的、安静的。

秦九韶利用这三年时间,写了一本书。

这本书叫《数书九章》,全书18卷,约27万字,81道题。

但这本书的价值,不在于它的篇幅,而在于它里面有一个数学核心,其深度和普遍性,远远超出了书中任何一道具体题目的范围。那个核心叫大衍求一术

在我们讲大衍求一术之前,我想先说清楚一件事,一件关于"什么叫数学"的事。

三世纪的《孙子算经》里有一道题:今有物不知其数,三三数之余二,五五数之余三,七七数之余二,问物几何?答曰二十三。

这道题的解法,在中国流传了将近八百年。被叫做"孙子定理",被编成口诀,被抄进教科书,被一代一代的算学学生背诵。

但这八百年里,没有人把它变成一套一般性算法

孙子的口诀只处理一种情形:模数是3、5、7,而且3、5、7两两互素。换一组模数,口诀就失效了。换一组有公因子的模数,孙子就更束手无策了。孙子给出的是一道题的答案,不是一类问题的解法。

秦九韶做了什么?他把"一道题的答案"升华成了"一套普遍算法"。他处理的不只是3、5、7,而是任意一组模数——包括有公因子的、分数形式的、来自真实天文观测数据的复杂模数。他给出的不只是怎么算,还有为什么这样算。

这个差距,就是"一个解答"和"数学"之间的差距。


秦九韶这个人:天才与麻烦制造者

有一件事要先说清楚:秦九韶这个人,按照同时代的文献记录,很可能不是一个令人愉快的人。

他被弹劾,被指控贪污,被指控横行乡里,甚至有记载说他曾在食物中下毒谋害竞争对手——这些记载主要来自理学家刘克庄,刘克庄和秦九韶互相不喜欢,所以记载的可靠性打个折扣,但多份独立来源的弹劾至少说明他是个不太省事的人。

然后他写了中国数学史上最伟大的著作之一。

人类的创造力有时候不与道德挂钩。数学史上这样的人不少。只是秦九韶的案例格外鲜明。

他约1202年生于四川,父亲是朝廷官员,他跟随父亲在临安(杭州)、成都等地生活,年少时从一位隐居的学者学数学,大约也学过天文历法。他后来做过各地的郡守,处事强横,最终在任上去世,约1261年。

《数书九章》是他守孝三年里写成的。他说自己"历数有书,数字演绎,卒归于大衍"——所有的数,最终都归结于大衍(同余)问题。这句话不是吹牛,而是他的真实判断:同余问题是历法计算、天文测量、军事后勤一切实际数学工作的底层结构。


大衍求一术:从问题到算法

问题的标准形式。

给定一组同余方程:

\[ x \equiv r_1 \pmod{m_1}, \quad x \equiv r_2 \pmod{m_2}, \quad \ldots, \quad x \equiv r_k \pmod{m_k} \]

在模数两两互素的情形,求满足所有条件的最小正整数 \(x\)。

算法概述(简单情形)。

设 \(M = m_1 \times m_2 \times \cdots \times m_k\)(总模数,模数两两互素时等于最小公倍数),定义 \(M_i = M/m_i\)(总模数除去第 \(i\) 个模数)。

对每个 \(i\),求乘率 \(K_i\),满足:

\[ M_i \cdot K_i \equiv 1 \pmod{m_i} \]

这一步——“大衍求一”——就是求 \(M_i\) 关于 \(m_i\) 的模逆元。

然后,解为:

\[ x \equiv \sum_{i=1}^{k} r_i \cdot M_i \cdot K_i \pmod{M} \]

“大衍"两字典出《周易·系辞》“大衍之数五十,其用四十有九”,秦九韶把这套数学方法与中国哲学传统中最重要的宇宙观联系起来——这是宋代数学家的典型风格:算法是实用的,但要在文化语境里找到它的安身之处。


完整演示:用大衍求一术解一道经典题

来,我们把这道经典题解一遍,不跳步骤,每一步都仔细讲清楚。

题目: 解 \(x \equiv 2 \pmod{3}\),\(x \equiv 3 \pmod{5}\),\(x \equiv 2 \pmod{7}\)。

第一步:检查互素条件,建立参数。

\(\gcd(3,5)=1\),\(\gcd(3,7)=1\),\(\gcd(5,7)=1\),两两互素,可以直接用大衍求一术。

\(M = 3 \times 5 \times 7 = 105\)

\(M_1 = M/3 = 35\),\(M_2 = M/5 = 21\),\(M_3 = M/7 = 15\)

第二步:求 \(K_1\)(35关于模3的乘率)。

需要 \(35 K_1 \equiv 1 \pmod{3}\)。

先化简:\(35 = 11 \times 3 + 2\),所以 \(35 \equiv 2 \pmod{3}\)。

问题变成:求 \(K_1\) 使 \(2 K_1 \equiv 1 \pmod{3}\)。

用辗转相除(求逆元):

  • \(3 = 1 \times 2 + 1\)

从这一步读出:\(1 = 3 - 1 \times 2\),即 \(2 \times (-1) \equiv 1 \pmod{3}\)

所以 \(K_1 \equiv -1 \equiv 2 \pmod{3}\)。

验证: \(35 \times 2 = 70 = 23 \times 3 + 1\),即 \(70 \equiv 1 \pmod{3}\) ✓

所以 \(K_1 = 2\)。

第三步:求 \(K_2\)(21关于模5的乘率)。

需要 \(21 K_2 \equiv 1 \pmod{5}\)。

先化简:\(21 = 4 \times 5 + 1\),所以 \(21 \equiv 1 \pmod{5}\)。

直接得 \(K_2 = 1\)。

验证: \(21 \times 1 = 21 = 4 \times 5 + 1\),即 \(21 \equiv 1 \pmod{5}\) ✓

第四步:求 \(K_3\)(15关于模7的乘率)。

需要 \(15 K_3 \equiv 1 \pmod{7}\)。

先化简:\(15 = 2 \times 7 + 1\),所以 \(15 \equiv 1 \pmod{7}\)。

直接得 \(K_3 = 1\)。

验证: \(15 \times 1 = 15 = 2 \times 7 + 1\),即 \(15 \equiv 1 \pmod{7}\) ✓

第五步:线性组合。

\[ x \equiv r_1 M_1 K_1 + r_2 M_2 K_2 + r_3 M_3 K_3 \pmod{M} \]\[ = 2 \times 35 \times 2 + 3 \times 21 \times 1 + 2 \times 15 \times 1 \]\[ = 140 + 63 + 30 = 233 \]

第六步:取最小正整数。

\(233 = 2 \times 105 + 23\),所以 \(x \equiv 23 \pmod{105}\),最小正整数解 \(x = 23\)。

验证:

\(23 \div 3 = 7 \text{ 余 } 2\) ✓;\(23 \div 5 = 4 \text{ 余 } 3\) ✓;\(23 \div 7 = 3 \text{ 余 } 2\) ✓

整个过程没有任何猜测,每一步都是机械可执行的代数运算。


关键步骤深挖:如何用辗转相除法求乘率

孙子那道题的乘率计算恰好都很简单(因为 \(M_i\) 对 \(m_i\) 的约化余数都是1或2,很容易凑)。但一般情形,\(M_i\) 对 \(m_i\) 的约化余数可以是任何数,直接凑就没那么容易了。

秦九韶的关键贡献是:系统化了用辗转相除法求逆元的步骤。

来,我们做一道更复杂的例子。

例:求 \(37\) 关于模 \(13\) 的逆元,即找 \(K\) 使 \(37K \equiv 1 \pmod{13}\)。

先化简:\(37 = 2 \times 13 + 11\),所以 \(37 \equiv 11 \pmod{13}\),问题等价于求 \(11K \equiv 1 \pmod{13}\)。

用辗转相除法(扩展欧几里得算法):

\[ 13 = 1 \times 11 + 2 \]\[ 11 = 5 \times 2 + 1 \]\[ 2 = 2 \times 1 + 0 \]

\(\gcd(11, 13) = 1\)(互素,逆元存在)。

现在从下往上回代:

从第二行:\(1 = 11 - 5 \times 2\)

用第一行替换 \(2\):\(2 = 13 - 1 \times 11\)

代入:\(1 = 11 - 5 \times (13 - 11) = 11 - 5 \times 13 + 5 \times 11 = 6 \times 11 - 5 \times 13\)

所以 \(6 \times 11 \equiv 1 \pmod{13}\),即 \(K = 6\)。

验证: \(11 \times 6 = 66 = 5 \times 13 + 1 \equiv 1 \pmod{13}\) ✓

既然 \(37 \equiv 11 \pmod{13}\),\(37 \times 6 \equiv 11 \times 6 \equiv 1 \pmod{13}\),所以37关于模13的逆元是6。

这套辗转相除法求逆元的流程,就是秦九韶大衍求一术的核心机械操作步骤。秦九韶在算筹上把它系统化,给出了清晰的"奇偶"操作规则,使任何一个受过训练的算学学生都能机械地执行这套算法。


再做一道题:模数更复杂的情形

来,我们换一道模数更大的题,把算法再走一遍。

题目: 某数被7除余3,被11除余5,被13除余2,求最小正整数解。

验证互素: \(\gcd(7,11)=1\),\(\gcd(7,13)=1\),\(\gcd(11,13)=1\) ✓

建立参数: \(M = 7 \times 11 \times 13 = 1001\)

\(M_1 = 143\),\(M_2 = 91\),\(M_3 = 77\)

求 \(K_1\): \(143 \equiv 3 \pmod{7}\)(因为 \(143 = 20 \times 7 + 3\))。

求 \(3K_1 \equiv 1 \pmod 7\):用辗转相除:\(7 = 2\times3+1\),直接 \(1 = 7 - 2\times3\),所以 \(3\times(-2)\equiv1\pmod7\),\(K_1\equiv-2\equiv5\pmod7\)。

验证:\(3\times5=15=2\times7+1\equiv1\pmod7\) ✓

求 \(K_2\): \(91 \equiv 3 \pmod{11}\)(因为 \(91 = 8\times11+3\))。

求 \(3K_2\equiv1\pmod{11}\):\(11=3\times3+2\),\(3=1\times2+1\)。回代:\(1=3-1\times2=3-1\times(11-3\times3)=4\times3-11\)。所以 \(3\times4\equiv1\pmod{11}\),\(K_2=4\)。

验证:\(3\times4=12=11+1\equiv1\pmod{11}\) ✓

求 \(K_3\): \(77\equiv12\equiv-1\pmod{13}\)(因为 \(77=5\times13+12\))。

求 \((-1)K_3\equiv1\pmod{13}\),即 \(K_3\equiv-1\equiv12\pmod{13}\)。

验证:\(12\times12=144=11\times13+1\equiv1\pmod{13}\) ✓

线性组合:

\[ x \equiv 3 \times 143 \times 5 + 5 \times 91 \times 4 + 2 \times 77 \times 12 \pmod{1001} \]\[ = 2145 + 1820 + 1848 = 5813 \]

\(5813 = 5 \times 1001 + 808\),最小正整数解 \(x = 808\)。

验证: \(808 = 115\times7+3\) ✓;\(808 = 73\times11+5\) ✓;\(808 = 62\times13+2\) ✓


当模数不互素时:秦九韶的真正创新

孙子处理3、5、7,秦九韶也能处理。但秦九韶超越孙子的地方,是他能处理模数不互素的情形。

这才是秦九韶真正困难的工作,也是他真正的创新所在。

为什么不互素很麻烦?来看一个例子。

题目: 解 \(x\equiv1\pmod{6}\),\(x\equiv5\pmod{9}\)。

6和9不互素,\(\gcd(6,9)=3\)。如果你直接套用CRT公式,会失败——因为 \(M_1=9\) 和 \(m_1=6\) 不互素,逆元不存在!

秦九韶的处理方法叫化定母——把不互素的模数组化简为两两互素的"定母"组。

第一步:相容性检验。

对每对有公因子的模数,检验是否满足相容条件(否则方程组无解)。

\(m_1=6\),\(m_2=9\),\(d=\gcd(6,9)=3\)。

检验:\(r_1-r_2=1-5=-4\),是否被3整除?\(-4/3\) 不是整数!

这意味着,方程组 \(x\equiv1\pmod6\) 且 \(x\equiv5\pmod9\) 无解

(这是可以理解的:\(x\equiv1\pmod6\) 意味着 \(x=1,7,13,19,25,31,\ldots\);\(x\equiv5\pmod9\) 意味着 \(x=5,14,23,32,\ldots\);两个序列没有公共元素。)

换一个有解的例子: \(x\equiv1\pmod{6}\),\(x\equiv4\pmod{9}\)。

\(d=\gcd(6,9)=3\),检验 \(r_1-r_2=1-4=-3\),被3整除,有解。

第二步:化约(连环求等约彼存此)。

秦九韶的操作:找出哪些模数之间有公因子,通过分解和化约,把它们变成两两互素的定母。

对这个例子:\(6=2\times3\),\(9=3^2\)。它们共享因子3。化约方法:保留3的最高次幂(\(9=3^2\) 保留),另一个去掉公因子(\(6\) 的因子3被约掉,剩余互素部分2)。化约后定母:\(\{9, 2\}\),两两互素,可以施用大衍求一术。

实际历法应用中,模数来自观测数据,往往有很复杂的公因子结构。秦九韶能处理这些情形,使他的算法真正"可用”——不只是理论上的美丽,而是工程上的工具。


上元积年:历法是一个大型同余方程组

来,我们把大衍求一术的应用场景说清楚,说它为什么真的重要。

中国古代历法有一个概念叫上元积年。历法家这样想:我要找一个遥远的过去时刻——那一刻,所有天文周期(太阳年、朔望月、近点月、交点月、木星周期、土星周期……)同时完成整数圈,就像一张多指针的大钟,所有指针同时指向12点。那一刻叫"上元",从那一刻到某个已知的观测时刻,共经过了多少年,叫"上元积年"。

有了上元积年,后续一切历法推算都以它为基准:今天是上元积年后第 \(N\) 年,各天文周期在 \(N\) 年内转了多少圈?把这些整圈数去掉,余数就是当前的相位,就能预测下一次日食、下一个朔日、下一个节气。

构造上元积年,本质上就是解一个大型同余方程组。

设上元积年为 \(N\),不同的天文周期给出不同的同余约束:

\[ N \equiv 0 \pmod{T_1}, \quad N \equiv 0 \pmod{T_2}, \quad \ldots \]

(实际比这复杂:因为已知观测时刻不是上元时刻,所以余数不一定是0,而是来自实际观测数据的某个修正值 \(r_i\)。)

南宋的《统天历》(1199年)、《授时历》(1281年郭守敬制定,元代颁行)都要解这样的方程组。没有大衍求一术,就没有办法精确地构造上元积年,历法就是不精确的。

秦九韶在《数书九章》卷3第3题"治历演纪"中,以21页的篇幅,完整演示了从天文观测数据出发,经大衍求一术逐步推算上元积年的全过程,并以此与《宋史》中的历法记录相互印证。

清代数学家阮元在《畴人传》中评价道:“自元郭守敬授时术截用当时为元,迄今五百年来,畴官术士,无复有知演纪之法者,独《数书九章》犹存其术,嗜古之士得以考见古人推演积年日法之故。”


大衍求一术等价于现代CRT算法:554年的差距

让我把这件事说清楚,因为很多人有模糊的印象但没有仔细想过。

现代CRT算法(高斯1801年《算术研究》形式):

给定两两互素的模数 \(m_1,\ldots,m_k\) 和余数 \(r_1,\ldots,r_k\),设 \(M=\prod m_i\),\(M_i=M/m_i\),找 \(e_i\) 使 \(M_i e_i\equiv1\pmod{m_i}\),则

\[ x\equiv\sum_{i=1}^k r_i M_i e_i\pmod M \]

秦九韶大衍求一术(1247年):

给定(化约后两两互素的)定母 \(m_1,\ldots,m_k\) 和余数 \(r_1,\ldots,r_k\),设衍母 \(M=\prod m_i\),各衍数 \(M_i=M/m_i\),求乘率 \(K_i\) 使 \(M_i K_i\equiv1\pmod{m_i}\)(“大衍求一”),则

\[ x\equiv\sum_{i=1}^k r_i M_i K_i\pmod M \]

两者在数学上完全等同,符号只是不同的名字:秦九韶的"衍母"就是高斯的 \(M\),“衍数"就是 \(M_i\),“乘率"就是逆元 \(e_i\)。

德国学者高斯1801年,中国学者秦九韶1247年。时间差:554年。

比利时数学史家李倍始(Ulrich Libbrecht)在1973年的博士论文《13世纪中国数学》中写道,大衍求一术是"世界数学史上最早的完整同余方程组求解算法”。

这是学术共同体对秦九韶工作的正式评价。

554年的差距,必须明确地说出来,不只是出于民族自豪感,而是因为这种说法是历史事实,回避它是对历史的不诚实。


大衍求一术:完整算法与数值例

先说历史背景,因为不说清楚就无法理解这个成就的重量。

三世纪的《孙子算经》里有一道题:有一样东西,不知几何,三个三个地数余二,五个五个地数余三,七个七个地数余二,问是多少?答案是二十三。

这道题的解法在中国流传了近八百年,被叫做"孙子定理"或"中国剩余定理”。它解决的是一个特殊情形:模数两两互素(3、5、7彼此没有公因子),而且给出的是这一道具体的题的答案,而不是一个一般性的算法。

八百年过去了。秦九韶在守孝的三年里,做了《孙子算经》没有做的事情:他建立了一个完整的一般性算法,可以解决任意一组同余方程组——包括模数不互素的困难情形。这个差别,就是"一道题的答案"和"数学"之间的差别。

问题的标准形式:找整数 \(x\) 同时满足

\[ x \equiv r_1 \pmod{m_1}, \quad x \equiv r_2 \pmod{m_2}, \quad \ldots, \quad x \equiv r_k \pmod{m_k} \]

算法步骤:

设 \(M = \mathrm{lcm}(m_1, \ldots, m_k)\),对每个 \(i\) 定义 \(M_i = M / m_i\)(即 \(M\) 除去第 \(i\) 个模数)。

第一步,对每个 \(i\) 求乘率 \(K_i\):找整数 \(K_i\) 使得

\[M_i \cdot K_i \equiv 1 \pmod{m_i}\]

这一步称为"大衍求一"——求使余数等于1的乘数。求法是辗转相除(扩展欧几里得算法)。

第二步,线性组合:

\[x \equiv \sum_{i=1}^{k} r_i \cdot M_i \cdot K_i \pmod{M}\]

取最小正整数解即为所求。

当模数不互素时——秦九韶真正要处理的困难情形——他增加了"化定母“步骤:通过”连环求等,约彼存此“的操作,将非互素的模数集合化简为两两互素的"定母”,然后再对定母施用上述大衍求一术。这个处理非互素情形的能力,是秦九韶超越《孙子算经》的关键所在。

化定母算法详解:以方程组 \(x \equiv 1 \pmod{6}\),\(x \equiv 3 \pmod{10}\),\(x \equiv 2 \pmod{7}\) 为例。三个模数 \(m_1 = 6\),\(m_2 = 10\),\(m_3 = 7\) 中,6与10不互素(公约数为2),因此不能直接使用大衍求一术。

第一步:相容性检验。 对每对有公约数的模数,检验余数差是否整除于公约数。 \(m_1=6\),\(m_2=10\),公约数 \(d = \gcd(6,10) = 2\);检验 \(r_1 - r_2 = 1 - 3 = -2\),确实被2整除,方程组有解。

第二步:连环求等约彼存此。 秦九韶的做法:以 \(m_2 = 10\) 除以 \(d=2\) 得5,再验 \(\gcd(6, 5) = 1\),两两互素,可以停止。这里"约彼"指将10约为5,“存此"指保留6不动。原始余数 \(r_2=3\) 对新模数5的约束变为 \(x \equiv 3 \pmod{5}\)(因为 \(3 < 5\),直接继承)。由此得到两两互素的定母集合 \(\{\mu_1, \mu_2, \mu_3\} = \{6, 5, 7\}\)。

第三步:对定母施用大衍求一术。 衍母 \(M = 6 \times 5 \times 7 = 210\);\(M_1 = 35\),\(M_2 = 42\),\(M_3 = 30\)。

同余式衍数 \(M_i\)奇数(\(M_i \bmod \mu_i\))求乘率 \(K_i\)
\(x \equiv 1 \pmod{6}\)35\(35 \equiv 5 \pmod{6}\)\(5K_1 \equiv 1 \pmod{6}\) → \(K_1 = 5\)
\(x \equiv 3 \pmod{5}\)42\(42 \equiv 2 \pmod{5}\)\(2K_2 \equiv 1 \pmod{5}\) → \(K_2 = 3\)
\(x \equiv 2 \pmod{7}\)30\(30 \equiv 2 \pmod{7}\)\(2K_3 \equiv 1 \pmod{7}\) → \(K_3 = 4\)
\[x = 1 \times 35 \times 5 + 3 \times 42 \times 3 + 2 \times 30 \times 4 = 175 + 378 + 240 = 793\]\[793 = 3 \times 210 + 163, \quad x \equiv 163 \pmod{210}\]

验证: \(163 = 27 \times 6 + 1\) ✓;\(163 = 32 \times 5 + 3\) ✓;\(163 = 23 \times 7 + 2\) ✓。

整个化定母过程对历法计算的重要性在于:实际天文周期换算出来的模数往往有复杂的公约数关系——不同的月份周期、年份周期彼此并不互素——秦九韶的算法恰恰能处理这类现实的复杂情形,而不只是教科书里的理想例子。

现在来说一个数字:554。

德国数学家高斯(C. F. Gauss)在《算术研究》(1801年)中系统讨论了同余理论。比利时学者李倍始(Ulrich Libbrecht)在1973年的博士论文《13世纪中国数学》中,称大衍求一术为"世界数学史上最早的完整同余方程组求解算法”。秦九韶的《数书九章》成书于1247年。1801减去1247,等于554年。

大衍求一术比高斯早了554年。这种事情,必须明确地说出来。

三斜求积:秦九韶的海伦公式

三斜求积是另一件礼物。已知三角形三边 \(a, b, c\),求面积。秦九韶给出的公式与西方的海伦公式等价:

\[ S = \sqrt{p(p-a)(p-b)(p-c)}, \quad p = \frac{a+b+c}{2} \]

数值例:取 \(a=13, b=14, c=15\)。

\[ p = \frac{13+14+15}{2} = 21, \quad S = \sqrt{21 \times 8 \times 7 \times 6} = \sqrt{7056} = 84 \]

检验:以 \(b=14\) 为底,高 \(h\) 满足 \(d^2 + h^2 = 13^2\),\((14-d)^2 + h^2 = 15^2\),解得 \(d = 5\),\(h = 12\),面积 \(= \frac{1}{2} \times 14 \times 12 = 84\) ✓

秦九韶在《数书九章》中没有直接写出海伦公式——他把三斜求积转化成了一个多项式方程,然后用增乘开方法求解。设 \(u = 4A\),他的方程是:

\[ -u^4 + 763200 u^2 - 40642560000 = 0 \]

令 \(t = u^2\):

\[ t^2 - 763200t + 40642560000 = 0 \]

判别式 \(\Delta = 763200^2 - 4 \times 40642560000 = 420{,}024{,}000{,}000\)

\(\sqrt{420{,}024{,}000{,}000} \approx 648{,}090\)(秦九韶用增乘开方法精确求出)

\(t = \frac{763200 - 648090}{2} = 57555\)

通过这道题,秦九韶展示了他的研究风格:几何问题代数化,代数方程数值化。把一切都纳入一套统一的算法框架,这是《数书九章》的精神所在。

正负开方术:含负系数的高次方程

秦九韶在贾宪增乘开方法的基础上,将其推广到含负系数的高次多项式方程,称为正负开方术。这个推广听起来简单,实则需要在算筹上小心处理正负号的传递——每一步乘减运算都可能产生负的中间结果,而这在早期算筹传统中是需要专门规则来处理的。

正负开方术的名字,正来源于"系数可正可负":贾宪的原始增乘开方法只能处理各项系数均为正的情形,秦九韶将其推广到任意实系数。用今天的语言说,他建立了带负系数多项式的Horner嵌套算法,并给出了完整的正负号规则。

三次方程完整演示: 《数书九章》中有一类题目,最终归结为求解三次方程。以题型为例,设方程为

\[x^3 - 15x^2 + 66x - 80 = 0\]

用秦九韶的增乘开方术,首先估根。注意到 \(f(2) = 8 - 60 + 132 - 80 = 0\),故 \(x=2\) 是一根。用算筹演算的嵌套格式(每行表示一次"乘当前估根并加下一系数"的操作):

\[ \begin{array}{r|rrrr} & 1 & -15 & 66 & -80 \\ \times 2 & & 2 & -26 & 80 \\ \hline & 1 & -13 & 40 & 0 \end{array} \]

余式 \(x^2 - 13x + 40 = (x-5)(x-8) = 0\),三根为 \(x = 2, 5, 8\)。

注意在算筹运算的第二行:\(1 \times 2 = 2\),\(-15 + 2 = -13\)(),\(-13 \times 2 = -26\)(),\(66 + (-26) = 40\)(恢复正),\(40 \times 2 = 80\),\(-80 + 80 = 0\)。整个过程中间值在正负之间跳跃,秦九韶的算法必须在每一步正确处理这个符号翻转,而不能像只处理正系数情形那样简单地"累加"——这正是"正负"开方术所处理的核心困难。

秦九韶实际解过的方程最高达十次。他在《数书九章》“秦王暗点兵"一题中,处理了一个十次方程的数值求解,这在当时的世界数学中是罕见的高次数值代数成就。他的增乘开方术对任意次数的多项式一律有效,只要能给出一个足够精确的初始估根。

边界情形与秦九韶自己的知识局限。 秦九韶的正负开方术对有正实根的方程运行顺畅,但他不处理(也没有讨论)负根和复数根的情形——在他的框架里,方程的解代表实际测量量(长度、面积、时间),因此有意义的解只能是正数。这个限制不是算法缺陷,而是他的数学世界观:他把方程当作提取正实数解的工具,不把它们当作代数对象本身来研究。这一态度直到五百年后汪莱、李锐的工作才开始系统地被审视。

治历演纪术:大衍求一术的历法应用

大衍求一术的一个最重要的实际应用,是解决历法推算中的上元积年问题。秦九韶在《数书九章》卷3第3题"治历演纪"中,以长达21页的篇幅,完整地演示了从测量数据出发,经大衍求一术逐步推算历法上元积年的全过程,并以此验证了《宋史》中的相关记录。

所谓"上元积年”,是中国传统历法中一个关键参数:推算出一个历史上某个特定时刻(上元),使得在那一刻,所有天文周期(太阳年、朔望月、近点月、交点月等)恰好同时完成整数圈,即满足一个大型同余方程组。找到这个上元,就能把所有天文周期归整到同一起点,后续所有历法推算都以"上元积年"(从上元到当前年份的年数)为基础展开。

这本质上是求解一个多元同余方程组:设上元积年为 \(N\),要求 \(N\) 同时满足若干形如 \(N \equiv r_i \pmod{m_i}\) 的约束。各 \(m_i\) 对应不同的天文周期(换算为某种基本时间单位),\(r_i\) 是该周期内的余数(来自观测数据)。秦九韶将大衍总数术(中国剩余定理)系统地应用于这一问题,逐一求解各子问题,最后组合出满足所有约束的最小正整数解。

清代数学家阮元在《畴人传》中评价道:“自元郭守敬授时术截用当时为元,迄今五百年来,畴官术士,无复有知演纪之法者,独《数书九章》犹存其术,嗜古之士得以考见古人推演积年日法之故。“这说明治历演纪术在宋以后已逐渐失传,而秦九韶的记载成了后人了解这一传统的唯一完整来源。

折扣、百分法与归一法:商业数学的精密化

《数书九章》的另一重要维度,是它对商业和行政数学问题的精密处理,尤以折扣(减成计算)、百分法(利率与资本问题)和归一法(单位换算后的比例计算)最为突出。

折扣问题:南宋社会动荡,物价涨落剧烈,折扣计算是商业生活的日常需要。秦九韶在《数书九章》卷12第6题(米谷粒分)中设计了一个代表性例题:粮站收米1534石,抽样检验发现254粒中有谷粒28颗,已知每勺有米300粒,问实际含米几石、含谷几石?这里的折扣就是 \(\frac{254-28}{254}\),实际含米量为:

\[ 1534 \times \frac{226}{254} \approx 1364.9 \text{ 石} \]

百分法:《数书九章》中有三类百分问题,分别是:(1)已知本金和利率求利息;(2)已知利息和利率求本金;(3)已知本金和利息求利率。这三类问题构成了一个完整的利率计算体系,比当时印度数学家婆什迦罗《丽罗瓦提》中的同类问题更为全面。

归一法:在工程类问题中,秦九韶使用"归一法”(即今日的单价法)处理多层次比例换算。例如卷12第5题,已知某工程中各类劳动力的定额,需要逐步把问题归结到"一个基本单位的产出”,再依次向上扩展,是一种系统的量纲分析。

这些算法并没有超越前人的理论框架,但秦九韶的贡献在于把它们纳入一套严密的算法语言,用术文规范描述,并配合具体实例演算,使南宋的商业数学实践达到了前所未有的系统化程度。

方变锐阵:一道隐含佩尔方程的军事题

《数书九章》中,有一道题在后世引发了格外多的讨论,不是因为解法完美,而是因为它暴露了一个问题,同时也暗示了一种超前的数学可能。这就是卷15第2题"方变锐阵"——把方形兵阵变换为三角形锐阵的军事数学问题。

题目大意:步兵五军共62500人,原列方阵,每人占地 8×8 方尺。现改为正三角形阵,新阵边长为方阵边长的1.5倍,阵内留出不少于5丈宽的骑道。问方阵与锐阵各边列兵多少?

问题的数学本质在于:若三角形阵每边有 \(t\) 人,三角形总人数等于等差数列之和 \(\frac{t(t+1)}{2}\);若方阵每边有 \(s\) 人,总人数为 \(s^2\)。两者相等,要求:

\[\frac{t(t+1)}{2} = s^2\]

整理为:

\[t^2 + t - 2s^2 = 0\]

这是一个二元二次不定方程。令 \(u = 2t+1\)、\(v = 2s\),方程化为:

\[u^2 - 2v^2 = 1\]

这正是佩尔方程(Pell’s equation),其解有递推公式:

\[u_{n+1} = 3u_n + 4v_n, \quad v_{n+1} = 2u_n + 3v_n\]

从最小正整数解 \((u_1, v_1) = (3, 2)\)(即 \(t=1, s=1\))出发,可以递推出无穷多组解:\((t,s) = (1,1), (8,6), (49,35), (288,204), \ldots\)

然而,秦九韶的解法在后续步骤中出现了错误——他用错了余数的处理方式,导致计算出的内外兵数之和与总人数不符。清代四库馆臣最先指出这个矛盾:“以内锐阵兵数减前方阵兵数,余为外锐阵兵数,非是。盖无以知两总数为相等也。”

这道题在《数书九章》81题中是唯一一道二元二次不定方程问题,且解法有误,因此历来不受重视。但从现代眼光看,它提示了一个令人好奇的问题:秦九韶是否意识到这道题等价于一个佩尔方程?他显然没有给出递推公式——中国数学史上佩尔方程的系统理论,要等到18世纪的欧洲和19世纪的中算复兴才会出现。但这道题的存在,说明宋代数学家在处理军事问题时,已经无意中触及了数论中最深刻的方程类型之一。


秦九韶的算法风格:一切归结为操作步骤

最后,我想说一说秦九韶数学的整体风格,因为它代表了中国宋元数学的精神。

秦九韶的每一道题,都有相同的结构:问题描述(来自现实的场景),术文(解题的算法步骤,可以机械执行),草曰(演算过程),答曰(答案)。

没有证明,没有为什么。但也没有神秘感。每一道题都是透明的:你可以完全理解每一步在做什么,即使你不知道为什么这样做就能给出正确答案。

这是中国数学传统和欧几里得传统最根本的差别。欧几里得的《几何原本》问"为什么",建立公理,推演定理,追求逻辑上不可辩驳的演绎链条。秦九韶的《数书九章》问"怎么做",建立算法,演示步骤,追求任何掌握了这套方法的人都能独立完成计算。

两种传统各有其长,各有其局限。欧几里得风格在追求普遍性和严格性上是无敌的,但它产生的结论有时候离实际应用很远。秦九韶风格在处理具体的大规模计算问题上是无敌的,但它有时候不能说清楚为什么算法有效,也不能系统地发现算法的边界在哪里。

19世纪的中国数学家李锐、汪莱开始用欧式的眼光审视秦九韶的算法,试图弄清楚为什么大衍求一术有效。这是中西数学传统相遇后产生的一种新的数学工作方式——既做算法,也问"为什么"。

但那是另一个时代的故事了。

现在,在13世纪的湖州,一个性格有争议的南宋官员,在守孝的沉默里,把人类历史上最早的完整同余方程组求解算法写了下来。

然后他去世了。书传了下来。算法传了下来。

Chapter 28: 李冶《测圆海镜》《益古演段》——天元术

战乱中的内心秩序

1232年,蒙古军队包围了汴梁。城外是成吉思汗继承者的铁骑,城内是末日气氛。在那一年,一个名叫李冶(1192–1279)的金朝地方官,辞去了他的职务,离开了城市,开始了漫长的流亡岁月。

金朝是女真族建立的王朝,1127年灭了北宋,统治华北约百年。到了李冶的时代,金朝已经在蒙古的冲击下摇摇欲坠。李冶看着他的世界一点点瓦解:政府倒台,文明中心被摧毁,读书人失去了安身之所。

然后,在太行山的某处,这个流亡的学者开始思考:如何用算筹表示一个未知数?

他在那段岁月里发展出的方法,叫天元术。是什么让一个人在外部世界彻底失控的时候,转向数学的内在秩序?也许,正是因为世界越混乱,越需要一个地方,在那里每件事都精确地等于它应该等于的那个数值。

李冶晚年在答弟子问时说了一句话,值得记住:"数本难穷,吾欲以力强穷之,彼其数不惟不能得其凡,而吾之力且惫矣。“他知道数学是奥妙无穷的,不能靠蛮力,只能靠领悟自然的规律。他又说:“苟能推自然之理,以明自然之数,则虽远而乾端坤倪,幽而神情鬼状,未有不合者矣。“这不是神秘主义,这是一个数学家说:数学的规律是普遍的,只要沿着正确的路走,无论多深的问题都能触及。

天元术是什么?——代数符号的一次革命

在讨论天元术之前,先问一个问题:代数符号意味着什么?

今天,我们对 \(x\) 已经习以为常。“设 \(x\) 为未知数”,这句话每个中学生都会说。但在历史上,“用一个符号表示未知数,然后对这个符号进行运算”——这个想法本身就是一次革命。

在欧洲,这个革命发生在16–17世纪:韦达(Viète, 1591年)给出字母符号代数,笛卡儿(Descartes, 1637年)完善了现代代数记号。

在伊斯兰世界,花拉子密(al-Khwarizmi, 约820年)写出了第一部代数书——但他的代数是用文字写的:“设有一个数,加上其三分之一,等于四”。没有符号,全是散文。

在中国,天元术出现于12世纪末到13世纪初,比韦达早了将近四百年。天元术的核心:用算筹的位置来表示未知数的幂次——这是一种"位置代数”(positional algebra)。算筹竖排,从下到上代表幂次递增:常数项在最低位,一次项(天元)在第二位,二次项在第三位。在"天元"那一位旁边写一个"元"字,在常数项旁边写一个"太"字——就这样,一个完整的多项式就被表示出来了。

天元术的历史起源:一条200年的接力线

天元术不是李冶一个人发明的。《四元玉鉴》祖颐后序记录了一条清晰的传承线索:

平阳蒋周撰《益古》;博陆李文一撰《照胆》;鹿泉石信道撰《钤经》;平水刘汝谐撰《如积释锁》,绛人元裕细草之,后人始知有天元也……

这些人,绝大多数的著作已全部失传。但这条线索告诉我们:天元术是在山西、河北一带的民间学者圈子里,经过将近两百年的积累,逐步发展出来的。

最关键的一步发生在刘汝谐(约12世纪后期)。他写了《如积释锁》,第一次给出了一套用文字表示多项式各项系数的系统——用"天、人、地"等19个字来标记从高次到低次的各项系数。这个方法还很笨拙,但已经是本质上的飞跃:方程系数第一次可以被显式表示和操作,而不仅仅是蕴含在几何图形里。

然后彭泽(太原人,约1230年前后)做了一个看似小但意义重大的改变:他把"天元"放在底部,让高次项在上方——这与李冶在《测圆海镜》里用的方式相同(“彭泽天元式”)。李冶在《测圆海镜》序中说到:“独太原彭泽彦材法,立天元一在下。凡今之印本《复轨》等书,俱下置天元者,悉踵习彦材法耳。”

最后是李冶:他把彭泽天元式再精简一步,只保留"元"字标记一次项、“太"字标记常数项,其余位置只凭行数判断幂次。这个简化让天元式成为真正可操作的代数工具,而不仅仅是一种记账符号。天元术到李冶时已达到成熟的地步。

天元术的符号体系:中国的符号代数

天元术的基本思想:设一个未知数,称为”天元"(类比现代的 \(x\)),用算筹竖排表示含未知数的多项式,各次项系数从低到高排列,在一次项旁写"元"字,在常数项旁写"太"字。

以多项式 \(x^3 + 3x^2 - 2x + 1\) 为例,在天元术的算筹布局中,从下到上依次是:

1   ← x³ 系数(最高次,最上面)
3   ← x² 系数
−2  ← x 系数(负数在中国用斜杠标注)
1   ← 常数项,旁边写"太"
    ← x 项旁边写"元"

这个竖排布局实质上就是 Horner 嵌套形式的等价表示:

\[ ((1 \cdot x + 3) \cdot x - 2) \cdot x + 1 \]

天元术能做的事情:对多项式进行加减乘运算,将几何关系(勾股定理、相似比、面积关系)翻译成关于天元的等式,化简后得到方程 \(f(x) = 0\),再用增乘开方法求解。这已经是完整的"建立方程——化简——求解"的流程。虽然没有现代那样的字母符号体系,但天元代替了几何直觉,多项式运算规则已经相当完备。

从《测圆海镜》看完整的天元术推导

李冶的两部主要著作是《测圆海镜》(1248年)和《益古演段》(1259年)。前者以直角三角形内切圆为核心场景,共170道题,基本格式是:已知直角三角形某些条件,求内切圆(或旁切圆)的直径。

取一个具体例题:已知直角三角形勾 \(a=3\),股 \(b=4\),求内切圆半径 \(r\)。

用面积法:面积 \(= 6\),弦 \(c = 5\),半周长 \(p = 6\),所以 \(r = 1\)。

但李冶要展示的是天元术的做法。设内切圆半径为天元 \(x\)。内切圆与直角三角形的关系给出:

\[ r = \frac{a + b - c}{2} = \frac{3 + 4 - 5}{2} = 1 \]

对于更复杂的题目,这种关系要写成方程来解。《测圆海镜》把这个过程重复了170次,覆盖了几乎所有可能的条件组合方式——这本身就是一种对代数方法的系统性验证,展示了天元术作为"通用求解框架"的能力。

《测圆海镜》中的一道中等难度题:直角三角形中,已知勾加弦等于 \(K = 9\),弦等于 \(c\),内切圆直径已知(比如 \(d = 2\)),求勾长。

设勾 \(a\) 为天元。由 \(a + c = 9\) 知 \(c = 9 - a\)。结合勾股定理和内切圆关系,可以列出关于天元 \(a\) 的方程,化简得一元高次方程,用增乘开方法求根。整个推导过程在算筹上通过多项式的加减乘运算完成,对应了现代初等代数课的完整流程。

《益古演段》:从田地面积到天元方程

《益古演段》以面积计算为主题。一道典型题目:

“今有方田一段,中有方池,只云池每面少田每面一十二步,又云田积比池积多五一八四步,问田池各几步?”

设田的边长为 \(a\) 步,则池的边长为 \(a - 12\) 步:

\[ a^2 - (a-12)^2 = 5184 \]

展开:

\[ 24a - 144 = 5184 \implies a = 222 \]

田每面 222 步,池每面 \(222 - 12 = 210\) 步。

用天元术的说法:设天元一为田面长 \(a\),则"以天元一减一十二步,得池面"即 \(a - 12\);差为5184,列方程;化简得 \(24a = 5328\),得 \(a = 222\)。整个过程在算筹上逐步进行,对应了现代初等代数课的完整流程。

益古演段的"条段法”(又称"出入相补法”):把田地分成条带,每条的面积用几何直觉计算,再通过加减凑出方程。这种方法把几何和代数紧密融合,是中国古代代数推理方式的典型代表。


天元术的符号逻辑与立天元一

天元术最核心的操作,是"立天元一"——在算筹布局中设定一个"天元"作为未知数,就像今天的代数课上说"设 \(x = \cdots\)"。但两者之间有一个微妙而重要的区别:笛卡儿的 \(x\) 是一个任意的字母符号,天元是一个有结构的位置——它在算筹的竖排中占据固定的一次项位置,常数项在其下,二次项在其上,以此类推。

也就是说,天元本质上是一种位置代数(positional algebra):未知数的幂次由其在算筹排列中的位置决定,而不是由附加在字母上的指数符号决定。这种设计与巴比伦代数(用位置表示数量级)有一定的相似性,但天元术的多项式操作能力远超巴比伦算法。

立天元一的标准操作

以《测圆海镜》中"已知直角三角形三边,求内切圆直径"为例(卷一第一问的化简版本):

已知直角三角形勾 \(a\)、股 \(b\)、弦 \(c = \sqrt{a^2+b^2}\),设内切圆直径为天元,记为"天元一"(即设 \(x = d\),\(d\) 为直径)。

内切圆与直角三角形的关系给出:

\[r = \frac{a + b - c}{2}\]

即 \(d = a + b - c\)。这对简单情形是直接得出的。但在《测圆海镜》的复杂题目里,已知条件不是三边而是某些边或和差的组合,关系就不能直接写出。这时天元术的威力才真正显现。

一个完整的天元术推导过程

取《测圆海镜》卷一第十三问(简化):已知勾加弦 \(a + c = K\)(给定数值),内切圆直径 \(d\) 已知,求勾 \(a\)。

第一步,立天元一: 设勾 \(a\) 为天元,算筹上记"天元一"于一次项位,其余位为零。即

\[a = x \quad \text{("天元一")}\]

第二步,用天元表示其他量: 由 \(a + c = K\) 知 \(c = K - x\)。股 \(b\) 由勾股定理表示:

\[b = \sqrt{c^2 - a^2} = \sqrt{(K-x)^2 - x^2} = \sqrt{K^2 - 2Kx}\]

第三步,利用内切圆关系建立方程: 直径 \(d = a + b - c = x + \sqrt{K^2-2Kx} - (K-x) = 2x - K + \sqrt{K^2-2Kx}\),故

\[\sqrt{K^2 - 2Kx} = d + K - 2x\]

两边平方,得:

\[K^2 - 2Kx = (d+K-2x)^2 = d^2 + K^2 + 4x^2 + 2dK - 4dx - 4Kx\]

整理:

\[4x^2 - (4d+4K-2K+4K)x + (d^2+2dK) = 0\]

化简后得关于 \(x\) 的二次方程,再用增乘开方法求根。

在算筹上,这整套推导通过竖排系数的加减乘运算逐步完成,每一步操作都有固定的算筹规则,最终"得一式,如法求之"——意即化成标准方程,按开方法求解。

天元术的历史意义:第一套符号代数?

关于天元术是否构成"符号代数",数学史界有持续的讨论。判断标准有两个:(1)是否有独立于具体数值的符号来表示未知数;(2)是否可以对这些符号进行一般性的算法操作。

天元术两条都满足。“天元"是一个一般性符号,不依赖具体数值;天元术有完整的多项式加减乘法则,可以对含天元的表达式进行系统化操作。从这个意义上说,天元术是世界数学史上最早成熟的符号代数体系之一

它与其他历史上重要的代数体系的比较:

体系时代未知数表示多项式操作方程类型
花拉子模代数(约820年)伊斯兰文字叙述,无符号无系统操作二次方程
李冶天元术(1248年)中国位置符号(算筹)完整多项式运算任意次方程
朱世杰四元术(1303年)中国四方向位置符号四变量消元多元高次
韦达符号代数(1591年)欧洲字母符号完整任意次方程
笛卡儿坐标代数(1637年)欧洲字母符号+坐标完整代数几何

天元术比韦达的符号代数早了约340年,比笛卡儿早约390年。它与笛卡儿方法的关键差异不在于数学能力,而在于符号系统的通用性:笛卡儿的字母符号可以直接印刷和书写,便于传播;天元术的算筹位置符号依赖实物演算,难以在书面上充分表达——这个技术局限,是天元术最终没有发展成现代代数的深层原因之一。

《益古演段》的教学设计:让天元术走向普及

《益古演段》(1259年)是李冶晚年专门为初学者写的天元术入门书。它在数学史上的地位,类似于一部优秀的大学入门教材:不是最深刻的著作,但是传播最广、影响最大的。

全书64题,全部以田地面积计算为场景,配有几何图示(“段"即图形分割)。每道题的结构都是固定的:先给出几何问题,画出"段图”(示意图),再以天元术逐步建立方程,最后用增乘开方法求解。这种"几何直觉→符号列式→数值求解"的三段式,是李冶刻意设计的教学路径。

《益古演段》流传比《测圆海镜》广泛,正是因为它的可教性:任何学过基本算筹操作的人,跟着李冶的步骤走,都能在64道例题之后掌握天元术的基本操作。它在中国古代数学中,扮演了类似欧几里得《原本》在欧洲的角色——不是理论的终点,而是入门的起点。

清代数学家罗士琳(1789—1853年)在整理天元术时,以《益古演段》为核心文本,正是因为它的例题覆盖了天元术绝大部分常见操作,是重建失传知识最可靠的基础。

李冶临终的一句话

李冶晚年对儿子说:“吾平生著述,死后可尽燔去,独《测圆海镜》一书,虽九九小数,吾常精思致力焉,后世必有知之者。”

“九九”:最微小的东西(指精细如毫末之事)。一个七十多岁的老学者,在流亡和失败的一生结束时,把所有文稿都让烧掉,只保留一本数学书。他相信,后世会有人懂得。

他等了634年。直到1903年,日本数学史家三上义夫发表了对《测圆海镜》的系统研究,西方学界才第一次真正认识到这部著作的价值。有时候,数学的时钟走得非常慢。

天元术与花拉子密代数:一次假想的对话

如果花拉子密(约820年)和李冶(1248年)能够相遇,他们的代数会有什么区别?

花拉子密在《代数学》中解一道题,他写道:“一个正方形加上十倍于它的边等于三十九。“然后他用几何图形——在正方形旁边补角——求出答案。整个过程是散文加图形,没有一个未知数的符号。

李冶解同一道题,他写道:“立天元一为边长”——在算筹底部放一根算筹代表 \(x\)。然后直接写出 \(x^2 + 10x = 39\)(用算筹布局表示),化简,用增乘开方法求根。整个过程是符号运算,没有任何几何图形。

这个区别是本质性的:花拉子密的方法依赖于几何直觉,每道题都需要一次新的"灵感”;天元术是一套可以机械操作的规则,任何可以化为多项式的问题,都可以系统地走同一套流程。这是从"数学技艺"到"数学算法"的转变。

花拉子密比李冶早四百年,但天元术比花拉子密的代数更接近现代数学的精神。数学史不是直线的进步——它有各自独立发展的分支,在不同的文化中,以不同的方式,达到相似的高度。

Chapter 29: 杨辉的算法成就——速算、幻方与垛积

贾宪遗产的守护者

假如没有杨辉,我们可能永远不知道贾宪三角曾经存在。

杨辉(约13世纪中叶),南宋杭州人,曾任地方官吏,著有《详解九章算法》(1261年)等一系列数学著作。在中国数学史上,他也许不是最有创造性的数学家,但他做了一件至关重要的事:他保存了前人的遗产。

贾宪的《黄帝九章算法细草》在北宋末年战乱中失传。杨辉在《详解九章算法》中大量引录了贾宪的内容——而那时,贾宪的书已经消失了将近一百年。杨辉是从中间人处看到残本,还是有人口耳相传,我们不得而知。但正是这一次"转述”,使贾宪的成就得以传世。如果没有杨辉,世界上可能完全不知道贾宪三角曾经存在,也就无从纠正西方误以为 Pascal 三角是 Pascal 首创的历史错误。

幻方构造:斜步法的完整演示

幻方(纵横图)是把 \(1\) 到 \(n^2\) 填入 \(n \times n\) 方格,使每行、每列、两条对角线的数之和都相等,等于幻方常数 \(S_n = \frac{n(n^2+1)}{2}\)。

杨辉在《续古摘奇算法》中给出了从 \(3 \times 3\) 到 \(10 \times 10\) 的各种幻方,并说明了奇数阶幻方的斜步法(今称 de la Loubère 方法或杨辉斜步法):

规则:从顶行中央开始填1;每次向右上斜移一格填下一个数;若向上越界则折至最底行同列;若向右越界则折至最左列同行;若新位置已有数则向下移一格继续。

n=3 的完整演示(幻方常数 \(S_3 = 15\)):

\[ \begin{pmatrix} 4 & 9 & 2 \\ 3 & 5 & 7 \\ 8 & 1 & 6 \end{pmatrix} \]

验证:

  • 行:\(4+9+2=15\),\(3+5+7=15\),\(8+1+6=15\) ✓
  • 列:\(4+3+8=15\),\(9+5+1=15\),\(2+7+6=15\) ✓
  • 对角:\(4+5+6=15\),\(2+5+8=15\) ✓

洛书三阶幻方:九宫格填入 1—9,奇数(浅黄)位于四正与中心,偶数位于四角;每行列对角线之和均为 15

斜步法对任意奇数 \(n\) 都有效。杨辉共给出幻方11例,涵盖三阶至十阶,还专门研究了幻圆和异形幻圆,展示了令人惊叹的组合创造力——这些不只是游戏,背后有完整的构造算法。

幻圆与异形幻圆

幻方把数字填入正方形格子;幻圆(杨辉名之"攒九图”)则把数字排列在同心圆的各个节点上,使每条过圆心的直径上的数之和都相等。这是幻方概念向圆形对称的自然延伸。

《续古摘奇算法》中的攒九图是最基本的幻圆:将1到33排列在四层同心圆与过圆心的射线的交点上,要求每条直径(由射线上的点组成)的数之和相等。杨辉给出了完整的构造方案,幻和为138(每条直径上6个数之和)。这是目前所知中国数学史上最早的幻圆记录。

除了规则幻圆之外,杨辉还给出了一组被后人称为异形幻圆的构型:

  • 聚五图:5个数围绕一个中心,每条"花瓣"上的数之和相等,中心数出现在所有"花瓣"中,形如梅花状排列。
  • 聚六图、聚八图:类似原理,分别有6条或8条对称轴。
  • 八阵图:以八卦方位排列,融入了传统易学对称观念,同时满足幻方条件。
  • 连环图:多个幻方通过公共边或公共顶点相互连接,各自及整体都满足幻方条件。

这些构型从组合数学角度看,每一类都需要不同的填数策略,不能简单地套用正方形幻方的斜步法。杨辉没有给出通用的一般性理论,但他给出的具体例子本身就隐含着系统化的构造思路。在宋元数学的背景下,这些工作代表了中国古代组合数学研究的最高水平之一,并对后来明清时期的幻方爱好者产生了直接影响。

素因数分解与指数律:速算背后的数论意识

杨辉的速算方法不只是口诀背诵,其背后隐含了对数的结构的深刻直觉。在《续古摘奇算法》的乘法速算表中,他对21到299之间的奇数逐一给出了速算口诀,其实质就是素因数分解

杨辉没有"素数"这个名称,但他对素数的识别是准确的。以若干例子说明他的记法:

杨辉语实际分解
21三因、七因\(3 \times 7\)
27三因、九因\(3 \times 9 = 3^3\)
63加一,损三\(7 \times 9\)
107隔位加七素数
161七因,退七七\(7 \times 23\)

对于确实是素数的数,杨辉只能描述为"连身加"或"加××"(某种特定加法),无法析因,这说明他已经意识到素数的不可析性。在3到293之间的素数,他的表里基本全部出现,仅有个别例外(如177=3×59被误标为素数)。

从现代观点看,杨辉的速算表就是一张对100以内以及略超100的数的素因数分解表。他虽无理论框架,但操作上已经完全掌握了素因数分解的实质——这在13世纪的数学背景下是相当了不起的认识。

指数律的运用也见于《续古摘奇算法》。书中有一道"倍增"题目:一文钱第一天,每天翻倍,三十天后共计多少?杨辉给出了多种速算方案:

  • “以十度八因”——即 \(2^{30} = (2^3)^{10}\),先算 \(2^3=8\),再连乘10次。
  • “五度六十四乘之”——即 \(2^{30} = 2^6 \times (2^6)^4 = 64 \times 64^4\)(但此式有误,实际是 \(2^{30} = 64 \times 2^{24}\),原文逻辑是 \(2^{30} = (2^6)^5\))。
  • “以三度三十二乘出,得数自乘”——即 \(2^{30} = (2^5)^6 = 32^6\)。

每种方案都利用了幂的乘法法则 \(2^{a+b} = 2^a \times 2^b\)。以今天的眼光,这就是指数律:底数相同、幂次相加。杨辉对此"弥复精密",在实践层面对指数运算规律已经驾轻就熟。这一认识也呼应了北宋沈括在《梦溪笔谈》中对"棋局都数"的指数运算探讨,说明宋代数学界对指数概念已有相当程度的集体掌握。

垛积术:三角垛求和的详细推导

杨辉在沈括隙积术基础上,进一步系统研究了各种垛积数的求和公式。

三角垛求和:求 \(1 + 3 + 6 + 10 + \cdots + T_n\),其中 \(T_k = \frac{k(k+1)}{2}\)。

\[ S_n = \sum_{k=1}^{n} T_k = \frac{1}{2}\sum_{k=1}^{n} k^2 + \frac{1}{2}\sum_{k=1}^{n} k \]

代入已知公式:

\[ = \frac{n(n+1)(2n+1)}{12} + \frac{n(n+1)}{4} = \frac{n(n+1)(n+2)}{6} \]

验证 n=4:\(1 + 3 + 6 + 10 = 20\)。公式:\(\frac{4 \times 5 \times 6}{6} = 20\) ✓

注意这个结果 \(\frac{n(n+1)(n+2)}{6} = \binom{n+2}{3}\),正是二项式系数。三角垛的总数等于某个组合数,而这个联系正是后来朱世杰招差术的核心思想的来源之一——不同阶次的垛积数对应贾宪三角不同斜行上的数字。

杨辉的几何成就:从连续量到离散量的桥梁

杨辉的几何工作有一个显著特点:善于把连续几何量问题与离散量的垛积问题联系起来,在两者之间架设桥梁。

在《田亩比类乘除捷法》卷上,他明确指出平面图形的面积计算与计算图形内部格点个数"连垛虽然圭田相似,却用梯田法"——即形状相似但计算方法不同。他举了四个例子:圭垛(等差数列,类三角形)、梯垛(等差数列,类梯形)、方箭(正方形格点排列)、圆箭(圆形格点排列)。每道题都有明确的术文,把几何图形的"层层堆叠"直接转化为等差数列求和。这种连续—离散对应的思维,是杨辉对中国数学方法论的独特贡献,也预示了后来朱世杰将垛积问题推向更高层次的方向。

杨辉在勾股术方面也留有贡献。他对《九章算术》勾股章和《海岛算经》中刘徽的证法进行了详细注解,在某些地方(如勾股容方题的推导)给出了比刘徽更为简洁的证明。他还把前人的"勾股容圆"等命题加以推广,运用勾股比例推导出若干新命题,展示出严谨的逻辑推理能力。

革故创新:对《九章算术》的批评性整理

杨辉对《九章算术》的态度非常独特——他深知此书的经典地位(“九章为算经之首,盖犹儒者之六经”),却毫不迟疑地指出其编排存在问题,并主张重新分类整理。他在《详解九章算法·纂类》中,把《九章算术》原来的题目打乱重排,按数学性质而非题材重新归类:把少广术、开平方术、开立方术分为两章(因为它们数学性质不同);把均输术并入衰分术;把贵贱率、反其率、分率归为一章;把方程术、损益术、正负术合并。这些调整在现代数学分类眼光看来都是正确的。

杨辉知道这样做会招来批评(“不畏人诋纂类为篡类”),但他认为只要判断是正确的,就应当坦然去做。这种敢于质疑经典的态度,在以《九章》为"圣典"的传统学术环境中颇为罕见。

杨辉对后代数学的影响:从明代到乾嘉

杨辉著作的命运并不平顺。《详解九章算法》十二卷、《日用算法》等在元末战乱中大量散佚,今天的传世本都是残卷——幸运的是,《详解九章算法》残本(共六卷)在日本得以保存,《续古摘奇算法》、《杨辉算法》诸种残本也经由不同渠道辗转留存。这就产生了一个历史的吊诡:杨辉的著作,是通过一条从中国经朝鲜、经日本再回到中国的漫长路径才得以部分复原的。

对明代数学的直接传递。 明代最重要的商业数学家吴敬(1450年)和程大位(1592年),都把杨辉当作直接的前辈来引述。吴敬《九章算法比类大全》中保留了大量杨辉整理的贾宪材料,包括增乘开方法的部分步骤;程大位《算法统宗》中的幻方专题,其数学框架几乎完全来自杨辉《续古摘奇算法》中的奇数阶斜步法和幻圆构造。从某种意义上说,明代商业数学是在杨辉建立的知识基础上写就的,尽管明代数学家未必都意识到这一点。

对乾嘉考据学的重要性。 乾嘉学派重建宋元代数传统时,杨辉关于贾宪的引述成了无可替代的一手证据。贾宪的原著《黄帝九章算法细草》早已失传,唯有通过杨辉《详解九章算法》的引录,我们才知道贾宪三角(“开方作法本源"图)和增乘开方法的存在与具体内容。1843年清代数学家罗士琳整理"开方说"时,明确指出贾宪三角的源头在杨辉引文;1898年前后的清末算学整理者亦以杨辉残本为参考。在一条从北宋贾宪到宋杨辉到清乾嘉的知识传递链中,杨辉是那个不可缺失的中间环节。

幻方研究的独立传统。 杨辉的幻方研究开辟了一个相对独立的研究分支,在明清时期持续发展。明代徐岳、清代保其寿等人继续探索各阶幻方的构造方法,发展出了"正则幻方”(即对角线和也等于幻和的幻方)、“泛对角幻方”(每条折线对角线之和也等于幻和)等变体。这些发展最终在晚清与西方组合数学的概念接触后,才得到了真正的理论统一。杨辉是这个传统的奠基人,尽管他没有预见到这条线索会走多远。

与西方组合数学的比较对称性。 在13世纪,中国(杨辉,1261年)和欧洲(菲波那契,1202年)几乎同时以不同的方式触碰到了组合数学的基础问题:杨辉在研究幻方和垛积数的构造,菲波那契在研究整数分拆和兔子繁殖(斐波那契数列)。两人的方法和问题类型截然不同,但都代表了对"数字排列规律"的系统性追问。这一并行发展,在数学史上是一个耐人寻味的对称。

杨辉的数学教育思想

杨辉是中国古代著述最丰、要求最细的数学教育家。在《乘除通变算宝》卷上,他开宗明义地制定了一套"习算纲目"——一个完整的数学课程教学计划,规定了各个阶段的学习内容、顺序和时间分配:

  • 第一阶段:九九乘法表,学一到二月
  • 第二阶段:乘除基本运算,学二月;然后学速算口诀、九归
  • 第三阶段:分数运算,学十天,再温习两月
  • 第四阶段:开方,学七天,再练习两月
  • 高级阶段:在以上基础扎实后,才学《九章算术》

他的教育哲学的核心是可接受性原则:学习必须循序渐进,由浅入深。他说:“治分乃用算之喉襟也,如不学则不足以知算”;又说选读《五曹算经》和《应用算法》作为学《九章》前的过渡读物,“依法求日下两三问,且未要穷理,但要知如何发问,作如何用法”——意思是初学时先会用、再求理解,不要一开始就要求全部明白道理,要给学习者以信心和成就感。

这种把学习目标分层次、把理解与应用分阶段的教育思想,在13世纪的中国教育史上是超前的,直到今天仍有启发意义。

杨辉是谁?他的生平与时代

讲到这里,我们才来补一个最基本的问题:杨辉这个人,到底是谁?

这个问题比想象中难回答。《宋史》没有他的传记,我们对他的了解,几乎全部来自他自己著作里散落的只言片语。拼凑起来,大约是这样一个人:杨辉字谦光,钱塘(今浙江杭州)人,生卒年不详,活跃于南宋末年。他的著作时间线非常集中:前期(1261—1262年)写了《详解九章算法》和《日用算法》;后期(1274—1275年)接连写出《乘除通变算宝》、《田亩比类乘除捷法》、《续古摘奇算法》三部。两个创作高峰之间沉默了整整十余年——他在做什么?史料不告诉我们。

我们知道他做过地方官员。《日用算法》的序文里,友人陈几先说他"以廉饰己,以儒饰吏"——廉洁自律,有读书人的风骨。《续古摘奇算法》里有一句不经意的话:“辉因到姑苏,有人求三七衰分,继答之。“姑苏就是苏州——他到过苏州。另一处说到"伏靓京城现用官斛”,“京城"即临安(杭州)。还提到台州量田法,说明他可能在台州(今浙江台州市)任职有年。行踪是:杭州、台州、苏州,以及嘉兴一带。这是南宋江南最富庶的地带,商业发达,税务繁重,量田丈地是地方官的日常事务。正是这个现实背景,让杨辉对商业数学、田亩测算这类"有用的数学"格外上心。

更有意思的是:他是秦九韶的同代人。两人都在南宋末年的临安活动,时间上高度重合——但两人的著作从未互相引用,风格天差地别。秦九韶写的是处理官府大事(税法、军粮、水利)的精英数学,杨辉写的是面向日常实用、可以教给初学者的数学。两人就像两条平行线,在13世纪的临安同时存在,却彼此陌生。这是中国数学史上一个耐人寻味的谜。

《乘除通变算宝》:速算的艺术

杨辉的速算贡献,最集中地体现在《乘除通变算宝》(1274年)里。这部书的名字直接点题:乘法和除法,可以通过"通变”(转换变形)的方式变得更快更简单。

为什么需要速算?在算筹时代,大数的乘除是费时费力的体力劳动——用算筹逐位相乘,逐位相加,一步不能错。商业场合分秒必争,粮官、税吏、布商每天面对大量数字,一套快捷口诀能把运算时间压缩到原来的几分之一。

杨辉给出了五大类"相乘"速算法。先说单因法——把一个数改成更容易乘的形式。“细物十二斤半,税一,今有二千七百四十六斤,问税几何?“术曰:八因以代一二五除也——除以12.5,等价于除以100再乘以8,而"八因”(乘8)比除以12.5快得多:

\[2746 \div 12.5 = 2746 \div 100 \times 8\]

重因法——把一个复合数拆成两个简单因数,分两步乘。“绢二百七十四匹,每匹四十八尺,问共几尺?“草曰:置绢数六因之,八因之:

\[274 \times 48 = 274 \times 6 \times 8\]

身前因——当乘数个位为1时,先记下被乘数,再在前面加上"身×十位数”。“二百三十二斤,每斤三十一文,问钱几何?“草曰:置斤数为身,于身前三因之。先用 \(232 \times 3 = 696\),向前移一位得6960,再加上232本身,得7192。

损乘法——利用"九乘者损一,八乘者损二,七乘者损三"的规律,把乘9变成乘10减1,乘8变成乘10减2:

\[a \times 9 = a \times 10 - a, \quad a \times 8 = a \times 10 - 2a, \quad a \times 7 = a \times 10 - 3a\]

加法五术——当乘数接近整十整百时,用移位加法代替乘法。比如乘16,先移一位(乘10),再加上六倍:\(a \times 16 = a \times 10 + a \times 6\)。

这些方法背后有系统的算法逻辑:把复杂运算分解为若干简单运算的组合,每一步利用十进位值制的特性(移位即乘10)来简化。这不只是技巧的汇编,而是对运算分解原理的系统实践。

杨辉还整理了"九归新括”——除法的速算口诀,从"二归"到"九归”,每种除数都有对应的歌诀,是后来珠算除法口诀的最早版本。“二归:见一作五,见二下十。三归:见一下二十一,遇三成十……“这套口诀,经过朱世杰(1299年)和程大位(1592年)的改进,成为中国算盘的标准口诀体系,传承了近700年,直到20世纪推广电子计算器才逐渐退出历史舞台。

四角垛:从视觉叠层到求和公式

杨辉的垛积术,除了三角垛,还系统处理了四角垛——各层为正方形的累积。四角垛第 \(k\) 层是边长为 \(k\) 的正方形,包含 \(k^2\) 个单元。把 \(n\) 层叠起来,总量是:

\[Q_n = 1^2 + 2^2 + 3^2 + \cdots + n^2\]

利用三角数 \(T_k = \frac{k(k+1)}{2}\) 和关系 \(k^2 = 2T_k - k\),可以将四角垛总量化归为三角垛来计算:

\[\sum_{k=1}^n k^2 = 2\sum_{k=1}^n T_k - \sum_{k=1}^n k = 2 \cdot \frac{n(n+1)(n+2)}{6} - \frac{n(n+1)}{2} = \frac{n(n+1)(2n+1)}{6}\]

验证 \(n=4\):\(1+4+9+16=30\),公式:\(\dfrac{4 \times 5 \times 9}{6} = 30\) ✓

这个公式与贾宪三角有深刻联系。四角垛的结果可以写成两个组合数的差:

\[\frac{n(n+1)(2n+1)}{6} = 2\binom{n+2}{3} - \binom{n+1}{2}\]

而三角垛的结果恰好是单个组合数 \(\binom{n+2}{3}\)。不同阶次的垛积数,都对应贾宪三角不同斜行上的数字的某种线性组合——这个深层联系,是朱世杰后来把垛积问题推广到高阶招差的理论基础之一。

幻方:从宇宙象征到算法构造

杨辉对幻方的研究,集中于《续古摘奇算法》(1275年)。我们已经讲过斜步法和幻圆,这里要深入一个根本问题:杨辉为什么对幻方感兴趣?

表面上看,幻方是数字游戏。但在宋元的知识语境里,幻方有深刻的宇宙论含义。最小的3×3幻方——洛书——在中国文化中有特殊地位。传说大禹治水时,洛河里浮出一只神龟,背上有点组成的图案,代表1到9这九个数字,每行每列每对角线之和都是15。汉代学者把洛书与《易经》的九宫联系起来,形成了一套用数字描述宇宙方位的象数体系:奇数(阳)位于四正和中央,偶数(阴)位于四角,象征阴阳相互制衡的宇宙结构。

杨辉没有满足于此。他的贡献在于把幻方研究从宇宙象征提升为算法问题。他给出了奇数阶幻方的斜步法,给出了4×4、6×6等偶数阶幻方的填法,给出了不同形状的幻圆构造——每一种都有明确的操作规则,可以机械执行,任何有耐心的人都可以完成。这是从"神秘启示"到"算法构造"的转变,幻方不再只是神圣图案,而成为一类组合数学问题:给定约束(每行每列每对角线的和相等),如何系统地找到满足约束的排列?

他对4×4幻方的处理最为精彩。幻方常数为:

\[S_4 = \frac{4(4^2+1)}{2} = 34\]

杨辉给出的4×4幻方(与文艺复兴时期欧洲画家丢勒《忧郁》铜版画中的幻方同款,两者独立发现):

\[ \begin{pmatrix} 16 & 2 & 3 & 13 \\ 5 & 11 & 10 & 8 \\ 9 & 7 & 6 & 12 \\ 4 & 14 & 15 & 1 \end{pmatrix} \]

验证:每行之和 \(16+2+3+13=34\),\(5+11+10+8=34\),\(9+7+6+12=34\),\(4+14+15+1=34\) ✓;两条对角线:\(16+11+6+1=34\),\(13+10+7+4=34\) ✓。

构造方法是:先按行写下1到16,再对换四个角(1↔16)以及中间对角(6↔11),由此得到上述结果——一种优雅的、有内在逻辑的对称操作,而不是蒙头乱填。杨辉还研究了8×8、10×10等幻方,发展出不同的构造策略,形成了中国数学史上对幻方研究的第一个系统性成果。

幻方背后的宇宙学意涵并未消失——它只是被转化了。《续古摘奇算法》里的"八阵图”(八卦方位的幻方排列)就是这种联系的直接体现。数字的对称性既是数学事实,也是宇宙秩序的映射——在杨辉那里,这两种理解可以同时成立,并不矛盾。

为什么解释比答案更重要

读到这里,我们需要暂停,做一个方法论上的观察,因为它关乎杨辉在整个中国数学史上最独特的贡献。

《九章算术》的体例是:问——答——术。先提问题,再给答案,再给"术”(算法步骤),但很少解释为什么术是对的。刘徽的注(3世纪)是第一次系统给术文加上解释,但他的注太难,不是初学者能读懂的。

杨辉的创新在于,他在刘徽之上加了第四层:“解题”——对每道题的求解思路用通俗语言说明;还有**“比类”——用类比帮助读者理解通用原理;还有“草”**——完整的计算过程,让读者能一步一步跟着走,而不只是看结果。他明确说,自己写书的目的之一是让读者"未要穷理,但要知如何发问,作如何用法”——先让人会用,再让人明白道理,顺序不能反。

这是中国数学史上最明确的教学法理念陈述之一。数学书不只是答案的仓库,而是引导读者建立理解的工具。这个理念在13世纪的中国是超前的——欧洲数学教科书要到17、18世纪才普遍开始重视"解释为什么"而不只是"给出步骤”。

从这个角度看,杨辉的贡献有两个层次。第一个层次:他的数学成就(垛积、幻方、速算、素因数分解)——让他在技术上成为宋元数学中不可缺少的一环。第二个层次:他对数学知识如何传播、如何教授的思考方式——让他在教育史上成为中国古代数学教育家的最高峰。前者让后人想起他的名字,后者让后人得益于他的方法。一个数学家,能够让知识在他身后继续流动,而不是随他本人一起消失——这是最难得的贡献。


Chapter 30: 朱世杰《四元玉鉴》——四元术与招差术

想象一个需要二维桌面才能写出来的方程

在讨论朱世杰的数学之前,先花一点时间在脑子里想象这样一个场景:

你有一道方程,含有四个未知数。在现代数学里,你会把它写成 \(f(x, y, z, w) = 0\) 这样的形式,紧凑地排在一行上。但那是因为我们有字母符号。

在13世纪的中国,如果你要表示一个含有两个未知数的多项式,你需要一张二维的算筹排列:一个方向表示第一个变量的次数,另一个方向表示第二个变量的次数,每个格子里放对应次数组合的系数。含三个变量的多项式需要一个三维的排列——你要在地板上摆算筹,或者用分层的平面模拟三维。四个变量……

这就是朱世杰四元术的操作环境。四个未知数:天、地、人、物。四元方程组在算筹上通过逐步消去变量,最终得到一元高次方程再求解。整个过程极为繁琐,但步骤清晰可操作。

美国科学史家乔治·萨顿(George Sarton)称朱世杰为"中世纪最伟大的数学家之一”。这个评价并不夸张。

朱世杰(约1249–1314),元代,字汉卿,号松庭,燕山(今北京附近)人。他一生没有出仕,以民间数学教师身份游历各地约二十年,“四方来学者日众”,最后在广陵(今扬州)著有《四元玉鉴》(1303年)。

四元术消元:天地二元的简单演示

用两元(天、地)的简单例子演示消元思路:

\[x + y = 10, \quad xy = 21\]

消元步骤:由第一式得 \(y = 10 - x\),代入第二式:

\[x(10 - x) = 21 \implies x^2 - 10x + 21 = 0 \implies (x-3)(x-7) = 0\]

解为 \((x,y) = (3,7)\) 或 \((7,3)\)。

在算筹上,朱世杰用二维方格表示两个变元的多项式,天元方向纵排,地元方向横排,各格填写对应系数。消去地元的操作是对行进行线性运算,得到只含天元的一元方程,再求解。对于真正的四元方程组,这个过程要做三次——先消去"物"元,再消"人"元,最后消"地"元,留下"天"元。

招差术:完整差分例题

朱世杰的招差术是他最深远的贡献。它最终给出了高阶有限差分插值公式,与牛顿前向差分插值公式完全等价,但比牛顿(1687年)早约四百年。

请再停下来:比牛顿早四百年。

公式:设数列 \(f(0), f(1), f(2), \ldots\),定义各阶差分:

\[ \Delta^1 f(k) = f(k+1) - f(k), \quad \Delta^2 f(k) = \Delta^1 f(k+1) - \Delta^1 f(k), \quad \ldots \]

令 \(\Delta_0^r = \Delta^r f(0)\) 为各阶差分在 \(k=0\) 处的值,则朱世杰招差公式:

\[ f(n) = f(0) + n\Delta_0^1 + \binom{n}{2}\Delta_0^2 + \binom{n}{3}\Delta_0^3 + \binom{n}{4}\Delta_0^4 + \cdots \]

其中 \(\binom{n}{k} = \frac{n(n-1)\cdots(n-k+1)}{k!}\)。

完整算例:求 \(f(n) = 1^3 + 2^3 + \cdots + n^3\)(前 \(n\) 个立方数之和)。

先建立差分表:

\(n\)\(f(n)\)
00
11
29
336
4100

建立差分表:

\(\Delta^0\)\(\Delta^1\)\(\Delta^2\)\(\Delta^3\)\(\Delta^4\)
\(n=0\)0
\(n=1\)11
\(n=2\)987
\(n=3\)36271912
\(n=4\)1006437186

在 \(n=0\) 处的各阶差分:\(\Delta_0^1 = 1, \quad \Delta_0^2 = 7, \quad \Delta_0^3 = 12, \quad \Delta_0^4 = 6\)

代入招差公式:

\[ f(n) = 0 + n \cdot 1 + \frac{n(n-1)}{2} \cdot 7 + \frac{n(n-1)(n-2)}{6} \cdot 12 + \frac{n(n-1)(n-2)(n-3)}{24} \cdot 6 \]

验证 n=3(应得 \(1+8+27=36\)):

\[ f(3) = 3 + \frac{3 \times 2}{2} \times 7 + \frac{3 \times 2 \times 1}{6} \times 12 + 0 = 3 + 21 + 12 = 36 \checkmark \]

验证 n=4(应得 \(36 + 64 = 100\)):

\[ f(4) = 4 + \frac{4 \times 3}{2} \times 7 + \frac{4 \times 3 \times 2}{6} \times 12 + \frac{4 \times 3 \times 2 \times 1}{24} \times 6 = 4 + 42 + 48 + 6 = 100 \checkmark \]

这个公式可以化简为 \(f(n) = \left[\frac{n(n+1)}{2}\right]^2\),即前 \(n\) 个立方数之和等于前 \(n\) 个自然数之和的平方——一个美妙的恒等式。但朱世杰展示的是差分方法本身的威力,可以推广到各种更复杂的数列。

补充算例:用招差术求 \(S(n) = 1^2 + 2^2 + \cdots + n^2\) 的通项公式

这是一个更经典的算例,也是招差术威力最直观的展示。我们不做任何猜测——只是机械地运算差分表,公式自然涌现。

建立数列前六项(令 \(n = 0, 1, 2, 3, 4, 5\)):

\(n\)\(f(n) = 0^2+\cdots+n^2\)一阶差分 \(\Delta f\)二阶差分 \(\Delta^2 f\)三阶差分 \(\Delta^3 f\)
00
111
2543
314952
4301672
5552592

观察这张差分表,三阶差分全是常数 2——这告诉我们 \(f(n)\) 是一个三次多项式

读出第一行各阶差分的首项:

\[ f(0) = 0, \quad \Delta f(0) = 1, \quad \Delta^2 f(0) = 3, \quad \Delta^3 f(0) = 2 \]

代入招差公式(“招差垛积"公式):

\[ f(n) = f(0) + \binom{n}{1}\Delta f(0) + \binom{n}{2}\Delta^2 f(0) + \binom{n}{3}\Delta^3 f(0) \]\[ f(n) = 0 + n \cdot 1 + \frac{n(n-1)}{2} \cdot 3 + \frac{n(n-1)(n-2)}{6} \cdot 2 \]\[ = n + \frac{3n(n-1)}{2} + \frac{n(n-1)(n-2)}{3} \]

通分化简(公分母为 6):

\[ = \frac{6n + 9n(n-1) + 2n(n-1)(n-2)}{6} = \frac{n(2n^2+3n+1)}{6} = \frac{n(n+1)(2n+1)}{6} \]

验证 \(n=5\)(应得 \(1+4+9+16+25=55\)):

\[ f(5) = \frac{5 \times 6 \times 11}{6} = 55 \checkmark \]

这个公式 \(\displaystyle\sum_{k=1}^{n} k^2 = \frac{n(n+1)(2n+1)}{6}\) 今天仍是每一本离散数学教材的第一个公式。朱世杰的方法在1303年给出了它——不是凑出来的,是算法推导出来的。

关键是:整个过程没有任何神来之笔,没有猜测公式再验证,也没有用归纳法。你只需要:①列出前几项,②做差分表,③读出首行各阶差分,④代入招差公式。这是一台产生公式的机器,而不是一种验证公式的技巧。这正是朱世杰招差术超越前人的地方。

《算学启蒙》:大众数学的另一面

朱世杰留下的不只有《四元玉鉴》这部深奥的代数大作。在同一时期(元大德己亥,1299年),他还编撰了另一部风格迥异的著作——《算学启蒙》,分上、中、下三卷,二十门,共259问,是一部面向初学者的综合性数学普及教材。

《算学启蒙》卷上从最基础的乘法口诀、量制换算、商业算术讲起;卷中涵盖几何面积、立体体积、盈不足等传统算法;卷下则逐步引入级数求和(“堆积还原门”)和天元术方程,将深浅内容打通,形成一条从入门到进阶的完整学习路径。书中某些问题仿照了前人(如"鸡兔同笼"类),但朱世杰在许多地方有新创造。

《算学启蒙》卷下"堆积还原门"讲述的垛积及其逆问题是该书最重要的数学成就之一。前五问是正向的垛积求和:给定底数,求各类几何形垛的总数。例如,“茭草垛”(自然数列)第1问求 \(\sum_{i=1}^{n} i = \frac{n(n+1)}{2}\),“三角垛”(三角数列)第4问求 \(\sum \frac{i(i+1)}{2} = \frac{n(n+1)(n+2)}{6}\)。而后六问是求和的逆问题——已知总积(前 \(n\) 项之和)反求末项或项数。这是朱世杰的独创贡献,在中国数学史上是第一次系统处理级数逆问题。

在《四元玉鉴》中,朱世杰将垛积问题进一步深化,达到了更高的水平:《四元玉鉴》中34道垛积类题目(分属"茭草形段"“箭积交参"“果垛叠藏"三门)几乎全部是已知总积反求末项,全部用天元术列方程求解。这些题目所涉及的级数类型远比《算学启蒙》丰富,包括三角垛、四角垛、撒星形垛等多种形式,是宋元差分与级数理论的最高峰。

古法七乘方图:帕斯卡三角的中国形态

《四元玉鉴》卷首有一幅名为”古法七乘方图“的图表,是贾宪"开方作法本源”(贾宪三角,即帕斯卡三角)的直接继承和推广。朱世杰在图前还添加了一幅”梯法七乘方图“作为解释性的辅助图,两者配合使用。

“古法七乘方图"本质上就是帕斯卡三角(杨辉三角),展示到第七乘(即第8行,对应8次多项式的二项式系数)。朱世杰在图上加画斜线,把每条斜线上的数字连成系列,显示出这些斜对角线上的数字之和恰好就是各类垛积的求和公式——三角垛系数、四角垛系数等,都藏在这张图的对角线上。

这揭示了一个深刻联系:垛积招差与古法七乘方图之间存在内在一致性——前者是级数的代数形式,后者是二项式展开的几何形式,而差分多项式插值恰好可以用二项式系数来表达。朱世杰虽然没有写下这个联系的明确说明,但他把两者放在同一部著作的首页并用斜线标出,表明他对此有清醒的认识。英国数学史家李约瑟在《中国科学技术史》中高度评价了这幅图,认为它代表了13世纪全球组合数学的最高水平。


四元术:变量排列与逐步消元

朱世杰在《四元玉鉴》中建立的四元术,处理含天、地、人、物四个未知数的多项式方程组。其核心思想是:用一个二维的筹式方阵来表示多元多项式,天元(设为 \(x\))沿竖方向向下展开,地元(\(y\))沿横方向向左展开,人元(\(z\))和物元(\(w\))分别向右和向上展开,各元的乘积填在对应的交叉位置上。

以勾三、股四、弦五、黄方二为例,朱世杰令 \(x+y+z+w = 3+4+5+2 = 14\),其自乘幂为:

\[(x+y+z+w)^2 = x^2+y^2+z^2+w^2+2xy+2xz+2yz+2xw+2yw+2zw = 196\]

整个展开式由十六个矩形或正方形块构成,在筹式方阵上一目了然。这个图示(“四元自乘演段之图”)是《四元玉鉴》最重要的预备知识,它直观地说明了四元多项式的排列规律。

消元过程:一道三元例题

“三才运元"一题是三元消元的典型。已知条件是:

\[\frac{c+(a+b)}{c-b} = ab, \quad \frac{c+(b-a)}{c-a} = a\]

朱世杰令 \(x=a\)(勾),\(y=b\)(股),\(z=c\)(弦),列出三套多项式方程组(“今式”、“云式”、“三元之式”),通过以下步骤逐步消元:

第一步(“剔而消之,皆人易天位”): 将三元之式与其他式子结合,消去弦元 \(z\),得到含 \(x\)、\(y\) 的"前式"和"后式”。

第二步(“互隐通分相消”): 用前式与后式的"内二行"和"外二行"分别做互乘相消,进一步消去 \(y\),最终得到关于 \(x\) 的一元四次方程:

\[z^4 - 6z^3 + 4z^2 + 6z - 5 = 0\]

(这里的 \(z\) 是对弦的最终化简结果,解得 \(z=5\)。)

朱世杰的消元策略是现代数学中结式(resultant)思想的具体实现。结式是从两个多项式的系数构造的行列式,当其等于零时,两多项式有公共根。1840年,英国数学家西尔维斯特(J.J. Sylvester)将这一工具系统化。朱世杰在1303年所做的,是在没有行列式符号的条件下,通过"互隐通分消之"这套筹算操作,手工实现了同等的消元逻辑——比西尔维斯特早五百余年。

全书中最高次的方程

《四元玉鉴》下卷"四象朝元"第六题,朱世杰将三个已知条件中包括勾、股、弦三元和一个开数四元,合成一个十四次方程:

\[2006w^{14} - 11112w^{13} + 22292w^{12} - 19168w^{11} + \cdots + 1152 = 0\]

解之得 \(w=2\)。这是现存中国数学史上次数最高的方程,在同时代世界其他地区也未见记录。

全书288问中,方程次数分布如下:二次35问,三次123问,四次80问,五次74问,六次以上50问,最高十四次1问。《四元玉鉴》实际上构成了一部关于多项式方程组的系统论著。

茭草垛与高阶有限差分

《四元玉鉴》“茭草形段"七问处理各种形状的堆积数之和。茭草形即三角数的累积:第 \(n\) 层的茭草垛之和为:

\[\sum_{k=1}^{n} \frac{k(k+1)}{2} = \frac{n(n+1)(n+2)}{6}\]

朱世杰给出的各类垛积公式可以统一写成:

\[\sum_{k=1}^{n} k = \frac{n(n+1)}{2}\]\[\sum_{k=1}^{n} k^2 = \frac{n(n+1)(2n+1)}{6}\]\[\sum_{k=1}^{n} k^3 = \left[\frac{n(n+1)}{2}\right]^2\]

以及多阶叠加的"三角垛"公式。《四元玉鉴》的"古法七乘方图"是贾宪三角形(帕斯卡三角)的自然推广——朱世杰说它是"古法”,暗示这已是一种成熟的传承知识,而不是他的新发明。

招差术的系统化

招差术(高阶有限差分内插法)是《四元玉鉴》与郭守敬《授时历》共同的理论基础。朱世杰在"如像招数"五问中给出了一般性的公式:设数列 \(f(0), f(1), f(2), \ldots\) 已知前若干项,令 \(\Delta^r f\) 为 \(r\) 阶差分,则第 \(n\) 项为:

\[f(n) = f(0) + \binom{n}{1}\Delta f(0) + \binom{n}{2}\Delta^2 f(0) + \binom{n}{3}\Delta^3 f(0) + \cdots\]

今日称此为牛顿前向差分公式(Newton forward difference formula,1687年),朱世杰在1303年已掌握并系统使用了这一公式——早于牛顿近四百年。郭守敬《授时历》中的"三差法"是同一数学结构的天文学应用,“招差"一词即由此而来,朱世杰将其提升为普遍的代数工具。

为什么四元术消亡了:算盘杀死了符号代数

四元术是宋元数学的最高峰。但它在明代完全失传了——清代学者重新整理古籍时,连当时最顶尖的数学家都看不懂《四元玉鉴》里的操作。祖颐在1303年就已经说了:“明算君子据余言,试为细草,然后知诚而不妄也”——他希望有人为这部书写细草(逐步解释),但等了五百年才有人做到。

这是为什么?答案是:算盘杀死了四元术。

13–14世纪,珠算盘逐渐普及,到明代已经完全取代了算筹。珠算盘做加减乘除非常快,比算筹更方便,更便携。但算盘有一个根本限制:它是一维的

算盘的一行算珠,只能表示一个数字。要表示一个多项式,你需要多行——但算盘不支持"在台面上摆出二维方格、对行列做整体操作"的功能,而这恰恰是天元术和四元术的操作基础。

更关键的是:天元术和四元术的本质是位置代数——多项式的幂次由算筹在空间中的位置决定,而不是由写在旁边的符号决定。当算筹从计算工具中消失,这种位置代数就失去了它的物质基础。你可以用文字描述"第三行第四列的系数是5”,但这种描述太繁琐,没有人愿意在纸上操作百行的文字表格。

结果就是:宋元代数最精密的工具,被一个更方便但功能更窄的工具给替代了。这是历史上最令人唏嘘的技术更迭之一:一个更好用的日常计算工具,导致了更深刻的数学方法的失传。一种方法的伟大,不足以保护它,如果它依赖的物质媒介消失了。

宋元代数的顶峰与终点:一张时间对照表

《四元玉鉴》是宋元数学的最高点,也是中国传统代数发展轨迹的终点。从贾宪的增乘开方(约1050年)到李冶的天元术(1248年),再到朱世杰的四元术和高阶招差(1303年),这一发展在世界数学史上没有同期的比肩之作。

让我们把这条时间线与西方平行比较:

宋元中国的成就年代西方等价成就年代领先时差
贾宪三角(二项系数表)约1050帕斯卡三角1654约604年
贾宪增乘开方法约1050霍纳法1819约769年
李冶天元术(符号代数)1248韦达符号代数1591约343年
朱世杰招差公式(差分插值)1303牛顿差分公式1687约384年
朱世杰四元消元(结式思想)1303西尔维斯特结式1840约537年

这五个对应,每一个都领先了两百年到近八百年。宋元数学家在没有与欧洲任何交流的情况下,独立走到了这个高度。

那么,为什么欧洲数学后来居上?原因是多方面的:算盘取代算筹、战乱与科举制度对数学创新的压制、没有类似欧洲大学的知识传播机构……但最根本的,也许是一个符号系统的问题。韦达的字母代数,可以印刷,可以在纸上任意书写,可以与几何直觉分离而单独发展——它脱离了具体的计算工具而独立存在。天元术的位置代数,无法从算筹中分离出来印刷。当算筹消失,它也消失了。

这不是数学思想的失败,而是符号系统的局限。中国数学家在1050年到1303年这250年里,展示了人类智识在没有字母符号的条件下能走多远。他们走得非常远。只是最后,他们需要一个新的容器——而那个容器,在另一片土地上,由另一批数学家,在几百年后造出来了。

Chapter 31: 郭守敬《授时历》——招差术的天文应用

比格里历早301年的同一个数字

1582年,教皇格里高利十三世颁布了格里历,修正了此前儒略历积累的误差。格里历中,回归年的长度被精确地定为:365.2425日。

这个数字,世界上有另一个地方也使用过:中国元朝,1281年。差了整整301年。

郭守敬(1231–1316),字若思,元代天文学家和数学家。他早年师从刘秉忠,1264年前后忽必烈召见他,他一口气提出六项水利建议,全部被采纳,由此进入元廷核心。1276年,元廷命许衡、王恂、郭守敬主持历法改革,历时五年。1281年颁布的**《授时历》**,沿用了整整364年(1281–1644),创中国单部历法使用时间的纪录。

《授时历》的关键精度:

回归年长度:365.2425日

现代精确值:365.24219日

误差:约26秒/年——过100年累计误差约43分钟。

而在此之前,欧洲使用的儒略历用365.25日,误差是《授时历》的10倍以上。《授时历》和格里历采用了完全相同的数值,这不是巧合,而是精确天文观测和高水平数学计算的结果。

《授时历》中的三次差分内插

三差法是《授时历》处理太阳不均匀运动的核心数学工具。太阳的日行度并非恒定——在冬至附近运动最快,在夏至附近最慢。《授时历》把一年分为盈缩两限,在每限内,从限的起点出发,设 \(n\) 为经过的天数,日行改正量 \(f(n)\) 用三次差分公式计算:

\[ f(n) = n \cdot p_1 + \frac{n(n-1)}{2} \cdot p_2 + \frac{n(n-1)(n-2)}{6} \cdot p_3 \]

其中 \(p_1\)(平差)、\(p_2\)(立差)、\(p_3\)(定差)是通过实测拟合的三个参数。《授时历》给出的实际数值(从冬至出发的半年):

  • 平差 \(p_1 = 8400\)
  • 立差 \(p_2 = 170\)
  • 定差 \(p_3 = -8\)

数值例:计算从冬至后第20天的日行改正量 \(f(20)\):

\[ f(20) = 20 \times 8400 + \frac{20 \times 19}{2} \times 170 + \frac{20 \times 19 \times 18}{6} \times (-8) \]\[ = 168000 + 32300 - 9120 = 191180 \text{(分)} \]

这与朱世杰招差术中的公式完全是同一种数学结构。郭守敬把差分方法直接用于天文计算,而朱世杰把同样的方法推广为一般性的高阶差分理论。两人大约在同一时代于元大都一带活动——招差术的名称,正是从郭守敬的"招差"一词来的,朱世杰借用并大幅推广了它。

弧矢割圆:球面三角的本土方法

郭守敬的另一项数学成就是弧矢割圆法,用弧、矢(正矢)、弦之间的关系来处理球面三角问题,不依赖三角函数表。这是沈括会圆术在球面问题上的推广,走的是一条具有中国特色的几何路线。传统历法需要大量查阅预制的三角函数表,而郭守敬用几何关系直接推算,减少了对表格精度的依赖,同时也减少了查表和插值的误差来源。

王恂:《授时历》的数学设计师

在《授时历》这项集体事业中,王恂(1235—1281)扮演的角色至关重要,却长期被郭守敬的声名所遮蔽。

元代史料对两人的分工有明确记载:“以太子赞善臣王恂业精算术,凡日月盈缩迟疾、五星进退见伏、昏晓中星,以应四时者,悉付其推衍;以都水监臣郭守敬颖悟天运,妙于制度,凡仪象表漏、考日时步星躔者,悉付规矩之。“简言之:王恂负责数学计算,郭守敬负责仪器制造。《授时历》的数学成就,在相当程度上应归于王恂。

王恂,字敬甫,中山安喜(今河北定县)人。13岁开始学"九数”,17岁被刘秉忠发现并带至紫金山师从培养,后又入忽必烈幕府,“以算术妙天下”,被公认为当时最高水平的数学家。他在《授时历》中的主要数学贡献有两个方面:

其一,招差术的改进与应用。王恂在处理日月不均匀运动的改正值时,广泛使用三次差分内插,但他采取"降阶"策略——将三次差分转化为一系列二次差分叠加处理,在保持精度的同时简化了计算流程。这与朱世杰后来的招差术系统化工作密切相关。

其二,天元术解高次方程。王恂在《授时历》中大量使用天元术建立和求解历法计算中出现的高次方程,特别是利用"半弧”(半弦函数)将三角关系转化为代数方程求解,是天元术用于天文计算的重要实践。他的方程处理水平虽不及秦九韶,但将代数方法系统地引入了国家级历法工程,意义深远。

可惜王恂英年早逝——改历完成后第二年,因家人相继离世而悲痛过度,46岁时去世。

元代的数学教育制度

从整体来看,元代统治者对数学持有较高的重视态度。忽必烈曾专门招募"通晓天文历数"的人才,王恂即因"以算术名家"而受到重用。至元二十八年(1291年),元廷在全国各路设置阴阳学,配置"阴阳学教授"一职,掌管天文历法人才的培训,这是一种有别于唐宋明算科的地方化数学—历算教育制度。元廷也曾将侍卫近臣子弟送往太史院学习天文数学,太史院由此成为元代重要的数学研究和教育机构。

不过,元代始终没有建立像唐代国子监算学馆那样成体系的全国性数学教育制度,也没有开设专门的数学科举考试(明算科在元代基本中断)。数学人才的培养主要依靠家学、师授和太史院的在职训练,而非制度化的学校教育。这一特点,既是元代数学能在应用层面(历法、水利)保持高水平的原因,也是宋元代数成就难以广泛传承的制度背景之一。


太阳为什么不"匀速"运行:开普勒第二定律的古代背景

《授时历》用三次差分内插来处理太阳运动,首先需要理解:太阳的运动为什么是不均匀的?

从地球看太阳,太阳沿黄道运动一圈需要一年。如果太阳是匀速运动的,那么每天走 \(\frac{360°}{365.25} \approx 0.986°\),日影长度的变化也会非常规则。但实际上,地球绕太阳的轨道是椭圆(开普勒第一定律,1609年),太阳在椭圆的一个焦点上。由开普勒第二定律(面积定律),地球运动扫过的面积速率恒定:

\[ \frac{dA}{dt} = \text{常数} \]

当地球靠近太阳(近日点,每年1月初),运动最快;当地球远离太阳(远日点,每年7月初),运动最慢。从地球上看,太阳在冬至前后(近日点附近)运动最快,每天走约 \(1.02°\);在夏至前后(远日点附近)最慢,每天走约 \(0.95°\)。

中国古代天文学家虽然没有开普勒定律,但通过长期精确观测,早已知道太阳的日行度不是常数。《授时历》把这个不均匀性称为"盈缩”——冬至前后"盈”(运动快于平均),夏至前后"缩”(运动慢于平均)。

**如何量化这个不均匀性?**这就需要一个函数 \(f(n)\) 来描述从某个基准点出发,第 \(n\) 天的累积改正量。这个函数不是直线,而是类似正弦函数的光滑曲线。《授时历》用三次多项式来近似这条曲线——这就是三差法的物理动机。

三差法的推导:从观测数据到差分系数

郭守敬和王恂得到三次差分公式的思路,可以用现代符号重建如下:

设 \(f(n)\) 是从冬至起第 \(n\) 天的日行改正量(“盈缩积”),定义各阶差分:

一阶差分(平差相关): \(\Delta_1(n) = f(n+1) - f(n)\),即相邻两天的日行度之差。

二阶差分(立差相关): \(\Delta_2(n) = \Delta_1(n+1) - \Delta_1(n)\),即一阶差分本身的变化率。

三阶差分(定差): \(\Delta_3 = \Delta_2(n+1) - \Delta_2(n)\),若 \(f\) 是三次多项式则 \(\Delta_3\) 为常数。

如果 \(f(n)\) 是三次多项式,则 \(\Delta_3\) 是常数,\(\Delta_2(n)\) 是一次线性函数,\(\Delta_1(n)\) 是二次函数,\(f(n)\) 是三次函数。

牛顿前向差分公式(1687年):

\[ f(n) = f(0) + \binom{n}{1}\Delta f(0) + \binom{n}{2}\Delta^2 f(0) + \binom{n}{3}\Delta^3 f(0) \]

其中 \(\binom{n}{k} = \frac{n(n-1)\cdots(n-k+1)}{k!}\)。

《授时历》的三差公式,以 \(f(0) = 0\)(冬至起点处改正量为零)为出发点:

\[ f(n) = p_1 n + p_2 \frac{n(n-1)}{2} + p_3 \frac{n(n-1)(n-2)}{6} \]

对比牛顿公式:\(p_1 = \Delta f(0)\)(一阶差分),\(p_2 = \Delta^2 f(0)\)(二阶差分),\(p_3 = \Delta^3 f(0)\)(三阶差分/定差)。《授时历》的公式与牛顿前向差分公式完全等价,只是参数命名不同,表述语言不同。

**郭守敬如何确定三个参数 \(p_1, p_2, p_3\)?**他通过实测三组数据 \(f(n_1), f(n_2), f(n_3)\)(三个不同时刻的日行改正量),建立三个方程,解出三个参数。这是标准的多项式拟合,虽然《授时历》没有用这个名词。

实际数值:《授时历》的三差参数

《授时历》给出的三差参数是(从冬至出发,计算半年内的盈缩积,单位为"分",即日行度的小数单位):

  • 平差 \(p_1 = 8400\)
  • 立差 \(p_2 = 170\)
  • 定差 \(p_3 = -8\)

这三个数字确定了一条三次抛物线,用来近似太阳日行不均匀性的半年变化。

验证: 从冬至出发,公式给出的改正量随时间先增大后减小(因为定差 \(p_3 < 0\),使曲线向下弯曲),在约 \(n = 88\) 天(约春分前后)达到峰值,然后减小,最终在夏至(约182天)回到零。这与天文观测一致。

将三差参数与现代精确值比较:

参数《授时历》值物理意义精度评价
\(p_1 = 8400\)平均日行度修正基准对应地球轨道偏心率约0.017与现代值吻合较好
\(p_2 = 170\)日行度的线性变化率对应轨道曲率的一阶修正良好
\(p_3 = -8\)日行度的二次变化率对应轨道曲率的高阶修正在精度范围内

这三个数字是郭守敬团队通过长达数年的实测(1276—1280年)推算出来的,精度在当时的世界范围内是最高的。

与牛顿前向差分公式的详细对比

项目《授时历》三差法牛顿前向差分
时间公元1281年公元1687年
公式形式\(f(n) = p_1 n + p_2\frac{n(n-1)}{2} + p_3\frac{n(n-1)(n-2)}{6}\)同上(不同记号)
理论依据天文观测拟合,无理论证明多项式理论,有完整证明
推广能力仅三次,针对特定天文问题任意阶,适用于任意离散数据
应用范围专为太阳/月亮运动设计通用数值分析工具

核心差异在于:郭守敬把三差法当作一个解决具体天文问题的专用工具,而牛顿把差分内插法提升为通用的数学理论。方法论上的飞跃,比时间上的差距更重要。

郭守敬的其他数学与工程成就

郭守敬不只是天文历法家,更是一个全能型的科学工程师。在三差法之外,他还有若干值得铭记的成就:

海拔测量与基准高程。 郭守敬首次把"海拔"作为独立的物理量来测量和记录。他在大都(今北京)确定了一个高程基准点,用水准仪测量黄河流域各段的高程差,得到了华北平原地区精确的高程分布图。他的记录显示:从大都到黄河入海口,地面高程下降约数十丈——这是中国历史上最早有明确数值记载的大地高程测量数据。

“海拔"这个词在汉语中的字面意思正是"高出海面的程度”,而这个概念的实际引入,与郭守敬的测量工作密切相关。

河流测量与水力工程。 至元二十九年(1292年),郭守敬奉命规划京杭大运河的最后一段——通惠河(从大都西北的白浮泉到通州),解决了长期困扰大都粮食漕运的水源问题。工程关键是引水:白浮泉比大都高,但中间有若干丘陵阻隔。郭守敬绕路引水,沿山麓等高线挖渠,绕开丘陵,才使水能顺畅流入大都。

这条引水线路长达60余里(约30公里),沿等高线行进,高程差控制在极小的范围内——这需要精确的水准测量和地形分析。郭守敬用一套以"木表"(水准标尺)和"水平"(水准仪)为核心的测量工具完成了这项工程,放水后"舳舻蔽水,帝御万宁宫闸,护闸进船",漕运直通大都。

简仪与圭表:仪器制造的革新。 郭守敬最广为人知的工程成就是设计制造了一批新式天文仪器,其中最重要的是简仪

传统浑仪有数十个同心环,各环之间相互遮挡,实测时视线受阻,误差大。郭守敬把浑仪拆解,保留必要部件,制造出两套独立的仪器:一套测赤道坐标,一套测地平坐标,各自结构简洁,互不干扰。“简仪"之名即来自"化繁为简”。

简仪用于实测的精度大幅提高。郭守敬在全国27个地点组织了天文观测(包括从南海到北极的南北大测量),这套多点观测数据正是确定《授时历》各参数的实测基础。

一年长度的高精度测定。 《授时历》采用的一年长度为 \(365.2425\) 日——与今天格里历完全相同,都是通过长期精确观测推算出来的。郭守敬团队在1276—1280年用简仪实测了多个冬至时刻,连续几年的数据取平均,消除了单次观测误差,得到了这个高精度数值。格里历到1582年才颁行,而《授时历》在1281年就采用了同样的数值——早了整整301年。

这些成就合在一起,使郭守敬成为世界天文学史上最重要的实验天文学家之一。他的工作,是用精密工程和系统数学相结合的典范——这也许是《授时历》沿用364年的根本原因。

新历的政治意义:忽必烈为什么需要一部新历法

1276年,郭守敬正式接受改历任务时,忽必烈刚刚灭掉了南宋的最后抵抗。蒙古大汗统一了中原,但他面临一个微妙的问题:政治上征服了中国,文化上却还没有征服。

在中国传统政治观念里,颁布历法是天子权威的象征。每个新朝代建立,第一件大事之一就是颁布属于自己的历法——这个行为叫"改正朔",意思是新王朝重新定义时间的起点,宣示自己是天命所归的正统。元朝当时还在使用金朝遗留下来的《大明历》(赵知微修订版),这在政治上是说不过去的:一个自称天下共主的大汗,却用前朝的历法来数日子?

更实际的问题是:《大明历》确实出现了明显误差。司天台工作人员多次上报,历法的日食、月食预报越来越不准,“岁久渐疏,多日不蒙明降,切恐失误国家大事”。历法的误差不只是学术问题,更是行政问题——农业节气依赖历法,军事出征日期依赖历法,国家祭祀依赖历法,一旦历法不准,国家运转就会出现系统性错误。

所以忽必烈的需求是双重的:政治上需要一部属于"大元"的历法,彰显新朝的天命合法性;技术上需要一部更准确的历法,满足国家治理的现实需要。这就是1276年改历的真实动因

忽必烈把这个任务交给了一个由儒学家(许衡)、数学家(王恂)和工程师(郭守敬)组成的联合团队,这个分工本身就很有意思:儒学家负责历法的理论框架和政治话语,数学家负责计算,工程师负责仪器制造和实测。一部历法,既是科学成果,也是政治文件。

四海测验:用27个观测点测量大地

在郭守敬主持改历的五年(1276—1281年)里,他做了一件空前的事:在全国27个地点同时开展天文测量,称为四海测验

这件事的意义,不只是精度问题。郭守敬的理由说得很清楚:“疆宇比唐尤大,若不远方测验,日月交食分数、时刻不同,昼夜长短不同,星辰去天高下不同”——意思是帝国幅员太广,不同地点观测到的天象有差异,仅仅在大都(北京)一处测量,做出来的历法在其他地方就会有误差。

七个最重要的观测点,从南到北横跨了将近50度的纬度差:

地点北极出地高度(约合纬度)夏至日昼长
南海(约越南胡志明市)15°54刻
衡岳(湖南衡山)25°56刻
岳台(河南开封)35°60刻
大都(北京)40°强62刻
和林(今蒙古乌兰巴托)45°64刻
铁勒(北方)55°70刻
北海(极北)65°82刻

这张表有几个科学价值值得注意。第一,它系统记录了"北极出地高度"(即地理纬度)随地点的变化,是中国历史上最完整的大地纬度测量记录之一。第二,它精确记录了不同纬度处的昼夜长短,数据与现代理论计算高度吻合,说明郭守敬的测量精度相当可靠。第三,铁勒一点的昼长已短到18刻(夜仅占18/100),郭守敬和同事们注意到了这个现象——按这个规律推算,极北之地在夏至前后应当全是白昼,虽然他们没有进一步分析,但这是中国历史上对极昼现象最早的定量逼近。

四海测验的数据,为《授时历》确定地平高度的计算提供了实测基础,使历法对不同纬度地区的日月出没时刻预报都有了可靠依据。这是中国传统历法第一次系统处理地理纬度对天象计算的影响。

招差术深讲:三次差分如何在实践中运作

前文已经介绍了《授时历》的三次差分公式结构,这里我们深入一步,看看郭守敬和王恂如何从实测数据推算出三个差分参数

这是一个数值拟合问题。太阳的日行不均匀性(盈缩)在一年中呈周期性变化,冬至前后最快,夏至前后最慢。以冬至为起点,经过 \(n\) 天的累积日行改正量 \(f(n)\) 用三次多项式近似:

\[f(n) = p_1 n + p_2 \frac{n(n-1)}{2} + p_3 \frac{n(n-1)(n-2)}{6}\]

其中初始值 \(f(0) = 0\)(冬至起点,改正量为零)。三个参数 \(p_1, p_2, p_3\) 对应一阶、二阶、三阶差分。

郭守敬和王恂的做法是:通过多年精密测量,在三个特定时刻 \(n_1, n_2, n_3\) 测得实际累积改正量 \(f(n_1), f(n_2), f(n_3)\),然后解三个线性方程:

\[ \begin{cases} p_1 n_1 + p_2 \dfrac{n_1(n_1-1)}{2} + p_3 \dfrac{n_1(n_1-1)(n_1-2)}{6} = f(n_1) \\[6pt] p_1 n_2 + p_2 \dfrac{n_2(n_2-1)}{2} + p_3 \dfrac{n_2(n_2-1)(n_2-2)}{6} = f(n_2) \\[6pt] p_1 n_3 + p_2 \dfrac{n_3(n_3-1)}{2} + p_3 \dfrac{n_3(n_3-1)(n_3-2)}{6} = f(n_3) \end{cases} \]

解出三参数,最终得到:

  • 平差 \(p_1 = 8400\)
  • 立差 \(p_2 = 170\)
  • 定差 \(p_3 = -8\)

这三个参数与今天用开普勒定律计算出的理论值相比吻合得相当好:定差 \(p_3 < 0\) 正确反映了"盈缩积"从冬至到夏至先增大后减小的趋势,平差 \(p_1\) 的量级对应地球轨道偏心率约0.017(现代精确值约0.0167)。

这种从实测数据出发、通过差分方程组回推参数的方法,在现代数值分析里叫做多项式拟合有限差分插值。郭守敬和王恂在没有任何现代符号体系的条件下,用算筹操作完成了这套程序——这不是小事,这是把纯粹的数学算法直接嵌入国家级科学工程的成功实践。

上元积年的废除:一个观念革命

《授时历》最具革命意义的一个改革,是废除上元积年。这件事听起来很技术,其实是一次思想上的根本转变。

“上元积年"是什么?中国传统历法的设计,是从一个特定的历史起点(“上元”)出发进行所有计算。这个"上元"是一个特殊时刻:在那一刻,太阳、月亮和所有行星恰好同时回到某种特定的起始位置(例如同时处于某一宿度的零点),日、月的整数轨道周期同时完成。从上元到当前年份的年数,就叫"上元积年”。

为什么需要这么一个起点?因为传统历法计算是逐步推演的:知道了上元时刻各天体的位置,再用各自的运行周期推算任意时刻的位置。上元是一切推算的锚点。

问题在于:满足所有条件的上元,通常需要上万年甚至几十万年之前才能找到。《纪元历》的上元积年是二千八百六十一万三千余年,《大衍历》的上元积年是九百七十二万一千余年……这些数字本身就说明了问题:这个"锚点"距离当前时代如此遥远,数字如此巨大,计算中累积的误差几乎不可控制。而且,上元的选择本来就是人为凑出来的——没有任何天文观测证明所有天体真的在那一时刻同时归零,上元不过是一个数学上的"凑整"技巧。

许衡和王恂在改历时明确提出:“上元积年没有实际用处,在新历中予以废除。"《授时历》以至元十八年(1281年)辛巳岁冬至为历元起算点,所有参数直接从近期精密观测得到,不再依赖遥远的"上元”。历法计算从此直接锚定在实测的当下,而不是推算出的遥远过去。

这在观念上意味着什么?它意味着历法从"从宇宙起源推演当下"的框架,转变为"从精密实测建立当下"的框架。前者是神学式的——宇宙有一个数学上完美的起点,历法是宇宙秩序的映射;后者是实证式的——我们不知道宇宙的起点,但我们知道今天的精确观测,历法是对实测规律的数学总结。这一步转变,如此微小,如此具体,却是中国传统天文学走向现代科学思维方式的重要一步。

郭守敬的仪器:简仪、仰仪与景符

仪器改革是郭守敬这场天文革命的另一半。他总共设计制造了17件天文仪器,其中三件值得详细介绍:

简仪——这是郭守敬最著名的发明。传统浑仪有数十个同心环,环环相套,用于同时测量天体的多种坐标。但实际使用时,这些环相互遮挡,视线受阻,误差大,安装调试也极其麻烦。郭守敬的做法是:把浑仪"拆解",保留必要部件,制造两套相互独立的简单装置——一套专测赤道坐标(赤经、赤纬),一套专测地平坐标(方位角、地平高度)。各自结构简洁,相互不干扰。“简仪"的名字即来自"化繁为简”。这个设计思想——专用工具比多功能工具更精准——是现代实验仪器设计的基本原则之一,郭守敬在13世纪就付诸实践了。

仰仪——传统观测仪器都是向上看天,仰仪的设计思路独树一帜:把一个半球形铜碗口朝上放置,让日光通过碗口中心的小孔投射到碗内,光斑的位置就反映出太阳在天球上的位置。由于光点投在凹面上,读数时不需要直视太阳,既保护眼睛,又能精确读出太阳的赤道坐标。仰仪还可以用于观测日食的过程——随着月亮遮住太阳,光斑的形状发生变化,仰仪能直观记录食分和食相的时刻。

景符——专门配合高表(圭表)使用。郭守敬把传统8尺表改高到40尺,大幅提高了影长测量的精度,但表顶的日影是模糊的(因为太阳不是点光源,投影有"虚影")。景符是一个中间有小孔的铜片,放在圭面上,让太阳光通过小孔在圭面上成一个清晰的光点,配合横梁的影,精确定出影长。这个设计相当于把一个小孔相机的原理用在圭表测量上,把虚影问题转化为点影问题,是一个非常巧妙的光学设计。

这三件仪器合在一起,构成了一套比前代任何历法测量系统都更精密、更系统的天文观测平台。正是有了这套平台,郭守敬团队才能获得足够精确的实测数据,最终得出回归年长度365.2425日这个数字——与三百年后欧洲格里历的数值完全相同。

一年有多长?从实测到精度的故事

365.2425日——这是回归年的长度(地球绕太阳一圈,从一个冬至到下一个冬至的时间)。今天,格里历(公历)也采用这个值:每4年一个闰年,每100年跳过一次闰年,每400年再加回一个闰年,这套规则的平均年长恰好是:

\[365 + \frac{1}{4} - \frac{1}{100} + \frac{1}{400} = 365 + 0.25 - 0.01 + 0.0025 = 365.2425 \text{ 日}\]

郭守敬团队如何得到这个数字?

方法是:连续多年精密测量冬至时刻,用相邻两次冬至之间的时间间隔来推算年长,多年取平均以消除单次误差。郭守敬团队在1276—1280年连续测量了至元十四年到至元十六年的冬至时刻(见本章前文的计算例),并对前代历法数据进行综合分析,最终得到:

\[1 \text{ 回归年} = 365.2425 \text{ 日} = 365 \text{ 日} + 5887 \text{ 刻} + 2.4 \text{ 毫}\]

(这里用的是宋元计时单位:1日=100刻,1刻=100分,以此类推)

与现代精确值365.24219日相比,误差约26秒——过100年累计误差约43分钟。这个精度,在1281年的世界上是最高的。欧洲的儒略历使用365.25日,误差是郭守敬数值的10倍以上。格里历1582年才颁行,恰好采用了与《授时历》相同的精度值。两者殊途同归,不是巧合,而是精密观测和数学计算的必然结果。


Chapter 32: 宋元数学的世界地位

1247年,世界上哪里的数学最好?

把时间定格在1247年——秦九韶完成《数书九章》的那一年。

地区1247年数学水平
中国(秦九韶)完整同余方程组算法(大衍求一术);高次多项式数值求解(正负开方术);三斜求积(海伦公式的独立发现);差分内插(招差术雏形)
欧洲斐波那契1202年刚把印度-阿拉伯数字引入欧洲,此时欧洲数学界还在消化基本代数运算;没有任何著作可与《数书九章》相比
伊斯兰世界花拉子模代数(约820年)已奠基,但此时伊斯兰代数已停滞,未出现与秦九韶同等水平的系统算法
印度婆罗摩笈多(628年)等是伟大先驱,但距1247年已六七百年,同期印度数学未有显著新进展

答案很清楚:宋元中国。

1247–1303年间的宋元数学时间轴

年份事件
约1050贾宪完成贾宪三角与增乘开方法
1086沈括发表《梦溪笔谈》,含隙积术与会圆术
1247秦九韶完成《数书九章》,含大衍求一术与正负开方术
1248李冶完成《测圆海镜》,天元术成熟
1259李冶完成《益古演段》
1261杨辉完成《详解九章算法》,保存贾宪成果
1281郭守敬颁布《授时历》,三次差分法用于天文
1299朱世杰完成《算学启蒙》
1303朱世杰完成《四元玉鉴》,四元术与高阶招差

半个世纪之内,这一系列里程碑接连出现。这不是偶然——这是一个文明在商业压力、行政需求和个人天才的共同驱动下,集中爆发出的数学能量。

为什么宋元数学没有延续?

这是中国数学史上令人最扼腕的问题。四个假说,没有哪一个可以单独解释一切:

假说一:元朝的制度破坏。 蒙古征服中国过程中,科举制度于1237年被废止,直至1315年才部分恢复——整整78年。传统士大夫阶层的上升渠道被截断,知识传承出现真实的断层。数学家群体(如朱世杰)在民间活动,但缺乏制度化传承的土壤。证据:天元术在明代几乎完全失传,明代学者无人能读懂四元术著作,直到清乾嘉学派的焦循、李锐等才重新整理。

假说二:计算工具的更替。 算盘在元末明初普及,取代算筹。算盘的优势是速度快、门槛低,但它根本无法操作多项式——算筹可以在算板上摆出方程的系数,算盘只能存储单个数字。工具的更替,使宋元代数的精华彻底无从实践。证据:程大位《算法统宗》(1592年)全书用算盘,没有任何天元术或四元术的内容,完全是另一个数学世界。

假说三:科举对理论数学的无需求。 明代八股文科举完全不测数学,“算学"不再是士大夫晋升通道上的必修课。数学变成了商人和工匠的实用工具,纯理论的符号代数自然无人问津。

假说四:宋元数学内部的连通性问题。 秦九韶的大衍求一术、李冶的天元术、朱世杰的四元术——它们实际上是相对孤立的个人成就。秦九韶和李冶几乎没有互动的记录,杨辉转述了贾宪但未必完全理解秦九韶,朱世杰似乎综合了各家但也没有创立一个学派。没有学派就没有传承的组织基础,数学天才一旦凋零,成就也就跟着消失。

真实的历史原因,很可能是这四个因素的叠加。这是一个深刻的历史教训:伟大的成就需要制度、工具和学派三者的配合才能持续发展。光有天才是不够的。


宋元数学与同时代世界数学的系统比较

以下对比是一次严肃的历史评估,依据是各文明此时期实际传世的数学文献,而非后来的推断或追溯。

同余理论

秦九韶大衍求一术(1247年)完整解决了任意一组同余方程——包括模数不互素的困难情形——并给出了可操作的逐步算法。这是一套完整的数学理论,不只是一道例题的解答。

高斯在《算术研究》(1801年)中独立建立了完整的同余理论,并证明了中国剩余定理的一般形式。时间差:554年。比利时汉学家李倍始(Ulrich Libbrecht)在其1973年博士论文《十三世纪中国数学》中明确指出,大衍求一术"在任何其他文明的任何文献中都找不到可比的对应”——这不是文化自豪,这是对已知历史记录的如实评述。

多项式数值解法

秦九韶的正负开方术,以及更早的贾宪增乘开方法(约1050年),是一套适用于任意次多项式方程的数值求解算法。今天被称为"秦九韶算法"或"Horner方法"的嵌套乘法,在欧洲是威廉·霍纳(William Horner)于1819年独立发表的——比贾宪晚约770年,比秦九韶晚约570年。

多元高次方程组

朱世杰的四元术(1303年)能够处理含四个未知数的高次方程组,其消元方法是一套系统化的、可操作的算法。在欧洲,类似的理论要等到西尔维斯特(James Joseph Sylvester)于1840年代发展出行列式理论和消去法理论才出现——比朱世杰晚了约540年。朱世杰的四元术在技术上是否等价于西尔维斯特的方法,数学史界仍有讨论,但在处理多元方程组这一具体任务上,没有任何中间时代(1303—1840年)的欧洲或伊斯兰文献可以与之对比。

垛积与有限差分

朱世杰的招差术(高阶差分求和)和沈括的隙积术(三维堆积精确计数),构成了一套有限差分(finite differences)方法的早期实例。欧洲系统的差分理论由格里高利(James Gregory)和牛顿(Isaac Newton)于17世纪后半叶建立。宋元垛积术与欧洲差分理论之间,有约350—400年的时间差。

完整对比表

数学领域宋元成就(年份)欧洲/伊斯兰等价成就(年份)时间差
完整同余方程组算法秦九韶大衍求一术(1247)高斯《算术研究》(1801)554年
任意次多项式数值解贾宪增乘开方(约1050)霍纳方法(1819)约770年
正负系数多项式求解秦九韶正负开方术(1247)霍纳方法(1819)572年
四元高次方程组消元朱世杰四元术(1303)西尔维斯特消去理论(1840年代)约540年
三角形面积公式(三斜求积)秦九韶(1247)海伦公式在欧洲广泛普及(约16世纪)约300年
高阶差分求和(招差术)朱世杰(1303)格里高利—牛顿差分公式(约1670)约370年
二项式系数三角(贾宪三角)贾宪(约1050)帕斯卡三角(1655年命名)约600年
圆周率精确到七位小数祖冲之(约480年)鲁道夫·范·科伦(16位,1596)约1100年(前6位)

时间差只是一种衡量方式,而且是相对粗糙的衡量方式——它无法捕捉不同数学传统在方法论深度和符号表达力上的差异。但它能有效传达一件事:在某些关键领域,宋元数学处于当时世界的最前沿,这不是民族自豪叙事,这是文献史实。

三位现代学者的重新评估

**李约瑟(Joseph Needham,1900—1995)**是把中国科学技术成就系统介绍给西方世界的先驱。他的多卷本《中国科学与文明》(Science and Civilisation in China)第三卷(1959年)专论数学,对秦九韶、李冶、朱世杰都有详细评述。李约瑟的总体判断是:中国数学在宋元时期达到了中世纪世界的最高水平,但其成就在欧洲几乎完全不为人知,主要原因是语言隔阂和翻译缺失。他同时指出,宋元数学之所以没有进一步发展为现代数学,缺乏演绎证明传统是重要原因之一——中国数学以算法为导向,缺少希腊式的公理化论证框架。

李约瑟的评价在今天学界看来有一定的局限性:他用欧洲数学的发展轨迹作为参照系,这个选择本身已经预设了某种判断标准。“缺乏演绎证明"对于中国数学是否是一个真正的"缺陷”,或者只是一种不同的数学风格,近年来学界有更复杂的讨论。

**李倍始(Ulrich Libbrecht,1928—2017)**的博士论文《十三世纪中国数学》(Chinese Mathematics in the Thirteenth Century,1973)是迄今对秦九韶《数书九章》最系统的西方语言研究。李倍始的核心贡献是:他把大衍求一术翻译成现代数学语言,系统比较了秦九韶与同时代欧洲和伊斯兰数学的水平,给出了没有争议的结论——大衍求一术在任何其他文明的任何已知文献中都没有对应物。他也详细分析了秦九韶三斜求积公式与海伦公式的关系,确认两者数学上完全等价,且中国发现独立于欧洲传统。

**卡琳·谢尔美(Karine Chemla)**是当代最重要的中国数学史研究者之一。她的核心论点是:不能用"有没有证明"来衡量中国数学,因为中国数学有自己的论证文化——刘徽注就是一种论证,只是不采用欧几里得的公理化形式,而是通过"以类推出"的方式展示算法的普遍性。谢尔美特别关注《九章算术》与刘徽注的关系,她的《古代中国的数学证明》(The History of Mathematical Proof in Ancient Traditions,2012)把中国数学重新放置在一个更平等的比较框架中,而不是用欧洲标准来衡量其"缺陷"。

宋元数学衰落的深层结构分析

前面已经提出了四个假说(制度破坏、工具更替、科举无需求、缺乏学派)。在此补充一个更基本的结构性问题:宋元数学的精华成就依赖于算筹,而算筹是一种需要实物操作的计算工具

中国古代数学之所以能在宋元时期达到如此高的水平,部分原因正在于算筹位值制的强大表达能力——用算筹可以"摆出"多项式,可以进行消元,可以表示负数。但这种能力被锁定在算筹这个物理介质里,没有发展出一套可以在纸面上独立操作的符号系统。

当算盘在元末明初取代算筹时,替换的不只是一种计算工具,而是一套操作数学对象的认知基础设施。算盘可以做加减乘除,速度极快,门槛极低;但算盘无法"摆出"一个多项式,无法做消元,无法在算板上保存方程的中间结果。

这意味着:整个宋元高次代数的知识传承,在没有算筹实践的环境里,只剩下了文字和符号——而当时的文字和符号表达系统(还未发展出完整的印刷数学符号规范)又不足以独立承载这套知识。结果是:知识的物质载体消失了,知识本身也随之沦为无法理解的文字。

这是一个关于知识、工具和制度三者相互依存的深刻案例。伟大的数学成就,如果没有相配套的符号表达体系和制度性传承,最终只能是一个灿烂的孤峰——令后人仰望,却无法攀登。

精确的年代对照:关键数学成就的横向坐标

下面这张表,是一次认真的历史核查,每一格都对应已知的传世文献,不是笼统的文明比较,而是具体的著作、具体的方法、具体的年份。

成就类别宋元中国(年份)同时代伊斯兰世界同时代欧洲
多项式方程数值解贾宪增乘开方法(约1050);秦九韶正负开方术(1247)欧玛尔·海亚姆(约1070)用圆锥曲线交点解三次方程——几何法,非数值算法斐波那契《算法书》(1202)能处理三次,方法远不及秦九韶系统;霍纳数值法(1819)才真正对应
一次同余方程组孙子定理(3世纪);秦九韶大衍求一术(1247)完整解任意模数情形阿拉伯数学家处理过个别同余问题,无系统理论欧拉(1736)开始系统研究,高斯(1801)完备化
线性方程组《九章算术》方程章,筹算矩阵消元(约1世纪)花拉子模《代数学》(约820)处理一元二次,无矩阵方法高斯消元法(19世纪命名);克拉默法则(1750)才系统出现
二项式系数三角贾宪三角(约1050);朱世杰推广到高阶招差(1303)海亚姆(约1070)也有二项式系数三角,但未推广到差分求和帕斯卡三角(1654年帕斯卡系统研究);命名晚于宋约600年
高阶差分求和朱世杰招差术(1303),处理三阶、四阶差分级数求和伊斯兰世界无对应发展格里高利(1668)、牛顿(1676)才建立差分理论
四元高次方程组朱世杰四元术(1303),四未知数高次消元无对应成就西尔维斯特消去理论(1840年代)才有技术可比性
三角函数无本土系统发展(仅有数值近似应用,如一行晷影表)全套,含球面三角;马拉加图西球面三角(约1260)水平极高逐步从阿拉伯传入;雷格蒙塔努斯《三角全书》(1464)才完备
圆周率精度祖冲之 \(355/113\)(约480年),精确到7位阿尔-卡西14位小数(1424),超过祖冲之近千年后鲁道夫·范·科伦35位(1596),最终超越

这张表说明的,不是"宋元在所有方面领先",而是一个更有趣的图景:宋元中国在算法代数(多项式求解、方程组消元、差分计算、同余理论)方面处于无可争议的世界前沿;而在几何-三角体系上,伊斯兰世界始终领先,宋元中国本土没有发展出球面三角。这不是失误,而是两种数学文化的根本性差异:一种以算法为核心工具,一种以几何为核心工具。

宋元数学衰落:几个细节值得补充

前面的分析已经给出了四个结构性假说。这里补充两个更具体的技术机制,帮助理解"知识是如何物理地消失的"。

天元术的传播瓶颈

天元术的符号系统本质上是一套位置算术:用筹码在算板特定位置的摆放来表示多项式的各次系数,位置本身编码了次数信息。这套系统有两个相互依存的条件:第一,学习者必须实际操作算筹,在物理空间里理解"位置即次数";第二,知识传递依赖面对面的师徒教学,因为在纸面上用文字描述筹算布局极其笨拙,容易失真。

李冶《测圆海镜》(1248年)在序言中已经隐约表达了对传播的担忧,他说自己的方法"工而速",但需要有人"与余同志者"才能真正理解。朱世杰《四元玉鉴》(1303年)的四元术更复杂:四个未知数对应算板的四个方向,不亲见算板根本无法理解布局规则。朱世杰周游各地讲学,但他没有建立一个有固定传承的学派。

元末明初战乱导致的人口死亡和流散,切断的不仅是书籍传递,更是这种需要人传人的默会知识(tacit knowledge)链条。当传人断绝,书还在,但读不懂了——正是这种情形在明代反复出现。

算盘取代算筹的认知代价

算盘在元末明初的普及,通常被描述为技术进步。从加减乘除运算的速度和普及程度来看,确实如此。但从代数操作的角度,这是一次认知降维

算筹的优势在于空间可组织性:算板上的不同区域可以同时摆放多个量,相互之间的位置关系编码了数学关系(方程的系数、多项式的次数、消元的中间结果)。这是一种外部符号系统,能把数学对象的结构在空间中显示出来,供操作者视觉感知。

算盘只有一行珠子,只能存储一个数。运算者必须把中间结果记在心里或写下来——但当时的汉字数学书写没有发展出一套能独立表达多项式结构的符号体系(没有类似"系数+次数标注"的数学记法)。没有外化的符号工具,天元术的代数操作就必须全靠记忆和心算,这远超普通学者的认知负担。

这个例子说明,数学知识的形态与它所依赖的工具基础之间存在深层耦合。当工具改变,知识本身不一定随之消失,但承载知识所需的认知支撑会发生根本性的变化,结果可能等同于失传。

宋元数学:世界地位的准确表述

在这一节的最后,需要对"世界地位"的说法做一个精确的限定,以免造成误解。

宋元数学的领先,是在特定数学类别内的领先,而不是全面意义上的领先。同时代的伊斯兰数学在三角函数、球面几何、光学数学、代数方程的几何理论等多个领域都拥有宋元中国完全不具备的成就。印度古典数学在无穷级数(马达瓦学派,约14世纪)方面甚至开启了分析学的先声,这是中国数学史上从未触及的方向。

“最好"这个词,在数学史语境里是危险的。更准确的表述是:在算法代数这个特定赛道上,13世纪的中国数学——以秦九韶、李冶、朱世杰为代表——构成了当时已知任何文明中最完整、最系统、技术水平最高的成果体系。这个判断可以在文献层面被验证,它是历史学结论,而不是民族叙事。

1300年,站在全球数学的地图上

让我们做一个更系统的历史横截面:公元1300年前后,世界各地的数学家在做什么?

宋元中国正处于顶峰。朱世杰刚在1299年完成《算学启蒙》,正在着手写《四元玉鉴》(1303年)。郭守敬主持的《授时历》已颁行19年。李冶的《测圆海镜》(1248年)和《益古演段》(1259年)已在流传。在符号代数方面,天元术能处理含一个未知数的高次多项式;四元术即将问世,处理四元方程组。在数值方法上,秦九韶的增乘开方术处理任意次多项式方程;招差术处理高阶差分插值。这些成就,在技术深度上超过了当时任何其他地区的已知数学成果。

伊斯兰世界在1300年处于一个复杂的状态。巴格达的智慧宫(Bayt al-Hikma)已在1258年蒙古攻占巴格达时被毁,伊斯兰数学最辉煌的时代已经过去。但马拉加天文台(1259年建立)仍在运作:纳西尔丁·图西(1274年卒)刚刚去世,他的继承者们正在整理他的工作。图西在球面三角学方面的成就是宋元中国完全没有触及的领域——他给出了完整的平面和球面三角函数关系,写出了《论完全四边形》,这是传统三角学的巅峰。他的"图西双轮"机械装置解决了行星模型的几何问题。伊斯兰数学在几何和三角方向的深度,远超宋元中国。

但在代数上,情况反转:花拉子密(约820年)的一元二次方程代数和欧玛尔·海亚姆(约1070年)的三次方程几何解,到1300年并没有再前进。没有任何伊斯兰数学家接近了系统处理多元多次代数方程组的水平——而朱世杰的四元术正是在做这件事。

印度在1300年,传统数学的主流已经走过了婆罗摩笈多(628年,处理不定方程和负数)、婆什迦罗二世(1150年,《丽罗瓦提》和《比佐坎那》,处理二次不定方程)之后的高峰。约在1350—1500年之间,喀拉拉邦(Kerala)学派将出现,以马达瓦(Madhava,约1350—1425年)为代表,给出了三角函数的无穷级数展开——这是通向分析学的关键一步,比欧洲的同类发现(格里高利—莱布尼茨,17世纪)早了约250年。但喀拉拉邦的工作在1300年尚未发生,而且它的影响基本局限在印度本土,没有向外传播。

欧洲在1300年的数学,整体上还在消化来自伊斯兰世界和古希腊的知识。斐波那契(约1170—1250年)的《计算之书》(Liber Abaci,1202年)把印度-阿拉伯数字和算术引入了欧洲。比萨的莱昂纳多(斐波那契)也处理了一些三次方程问题,但没有形成系统方法。欧洲大学体系在13世纪已初具规模(牛津、巴黎、博洛尼亚),但数学教学仍以传统的"四艺”(算术、几何、音乐、天文)为主,代数研究极其有限。没有任何欧洲数学家能处理四元高次方程组——这项技术要等到16世纪意大利的卡尔达诺、塔尔塔利亚等人,才开始在三次、四次方程上有系统性的理论突破,但那离全面的多元方程组理论仍然很远。

这张全球地图说明:算法代数是宋元中国的绝对优势,而几何-三角是伊斯兰世界的绝对优势,印度在无穷级数上有独特优势(但尚未到1300年),欧洲在这个阶段还是一个接受者而不是贡献者。没有哪个文明在所有方向上都领先——这正是数学史有趣的地方。

天元术与代数——精神的比较

让我们做一个更精细的比较,因为粗线条的"领先/落后"说法会掩盖真正重要的东西。

花拉子密(al-Khwarizmi,约820年)写《代数学》(al-Kitāb al-mukhtasar fī hisāb al-jabr wal-muqābala)时,所用的语言完全是散文:没有符号,一切用文字描述。“有一个数的平方,加上它的10倍,等于39”——这是他处理方程 \(x^2 + 10x = 39\) 的方式。他的解法是几何配方法(把 \(x^2 + 10x\) 看成一个正方形加两个矩形的面积),从几何图形直接读出答案。

这种方法有一个根本性的限制:每道题都需要一次新的几何构型,没有统一的算法框架。它能处理的方程类型相对有限,无法自然地推广到高次方程。

欧玛尔·海亚姆(约1070年)用圆锥曲线的几何交点法解三次方程,在几何直觉上更深刻,但同样依赖图形,无法推广到四次以上。

李冶(1248年)的天元术走的是完全不同的路:设"天元"(未知数)用算筹位置表示,把整个推导过程变成对符号对象的操作,而不是几何图形的观察。建立方程——化简——求解,这套流程可以机械执行,与问题的具体内容无关。这是代数"算法化"的本质:把思维从几何直觉中解放出来,变成纯粹的符号操作。

这个精神,与16世纪韦达(Viète,1591年)引入字母符号代数时发生的思维转变高度相似:用字母代替数,把代数从"一类计算题"提升为"对形式符号的操作"。但李冶比韦达早了343年,他使用的是算筹的位置而不是字母,两者的载体完全不同,精神却有惊人的相似性。

区别也是真实的:韦达的字母符号可以在纸上任意书写,可以印刷,可以在没有实物算筹的情况下独立操作。天元术的位置代数,依附于算筹这个物理载体,无法从算筹中分离出来变成独立的符号系统。这个差异,最终决定了两种传统在之后几个世纪的不同命运。

为什么没有发展出微积分:一个结构性问题

这是中国数学史上最常被问到的问题。宋元数学如此先进——为什么没有发展出极限、导数、积分?

这个问题预设了一个答案的方向:中国数学应该按照欧洲数学的轨迹发展。但这个预设本身就有问题。让我们更仔细地分析。

微积分在欧洲为什么在17世纪出现?首先,它有几何学的深厚背景:欧几里得的《几何原本》提供了严格演绎的传统,阿基米德的穷竭法(用多边形逼近圆面积)提供了极限思想的原型,笛卡儿坐标系(1637年)把几何和代数统一起来,使曲线可以用方程描述,切线问题和面积问题自然地转化为代数问题。其次,天文学(开普勒行星定律,1609—1619年)和物理学(伽利略的运动学,1632—1638年)提出了具体的计算需求:弧长、面积、速度变化率。第三,有一个统一的符号系统——韦达的字母代数被笛卡儿完善后,可以处理含极限的无穷小量运算。

现在看宋元中国:以算法为核心的数学传统,精于计算、长于数值方法,但缺少对连续性和无穷小过程的系统关注。沈括的会圆术(11世纪)处理弧矢关系,朱世杰的招差术处理有限差分——这些工作触及了"近似"和"差异",但没有走向"极限"。根本原因不是能力不足,而是问题的驱动方向不同:宋元数学的核心问题是高效计算(多大的方程能解?多复杂的同余方程能处理?多精确的历法能算?),而不是"无穷小量如何在逻辑上被定义和操作"。

中国数学的算法传统有一种"实用性约束":问题必须有明确的计算程序,必须能给出数值结果。这种约束在宋元时期产生了惊人的成就,但也使得"处理无穷过程"这类需要放弃直接计算、先建立理论框架的问题,难以进入主流数学议程。没有纯粹数学的独立传统(与实际计算分开的、专门追究"为什么"的理论探讨),无穷小的概念就缺少了生长的土壤。

这不是"失败",而是选择——尽管是无意识的、由文化和制度环境决定的选择。每种数学传统都是对特定问题的回应,宋元数学回应了中国官僚国家的实际计算需求,欧洲数学最终回应了近代物理学的理论需求。两者在各自的语境里都达到了极高的水平,只是达到的高度在不同维度上。

Part VI: 西夏、金、元少数民族数学与明代传统数学

宋元四大数学家的故事结束了。接下来,我们要把镜头拉远——投向同一时期的边疆地带,以及随后明代传统数学的演变轨迹。

这一编的内容比宋元主干更分散:西夏的数词体系、金代历法的差分运算、蒙古帝国的东西文化交流、明代的整理与珠算普及——但它们共同构成了中国数学史从宋元高峰走向明代转型的完整图景。


Chapter 33: 多元文化中的数学传统——藏族、西夏、女真

藏族:时轮历与数学基础

公元7世纪,文成公主入藏时带去了大量汉地历算书籍,史载"占卜历算之书六十种",这是汉藏数学交流的第一次大规模接触。松赞干布曾派察达丹等4人到内地学习历算,返回后将所学翻译成藏文,五行十二生肖纪年法、九宫八卦、二十四节气等,由此传入藏地。

真正对藏族数学产生深远影响的,是11世纪初传入的**《时轮经》**(Kālacakra,源自印度尼泊尔一带)。1027年,厕宾的班智达瓦贡布来到西藏,与藏族译师卓希绕札合作翻译了《时轮本续注疏》,形成了"时轮历"。

时轮历的数学基础

  • 六十年周期(绕回):类似中国的甲子,以60年为一个大循环。1027年是第一个绕回的"火兔年",由此开始计年。
  • 月份计算:时轮历区分太阳月(约30.4天)和朔望月(约29.5天),通过积累修正量来保持历法与天象的对应。
  • 插值修正:日月运行不均匀的修正量用差分内插处理,与汉地历法技术相通。

从842年吐蕃王朝灭亡到1318年嘎玛巴·仁钦多吉完成《历算综合论述》,历算活动持续了约500年,形成了"山洞派"、“时轮派”、“央恰派”、“普巴派"等多个学派,各有传世著作。

藏族的计算工具——沙雄(沙盘):一块带边框的平板,倒入细面沙摊平,用金属尖棒在沙面上写藏码(藏文数字)进行运算。藏码与早期印度数码相近,与汉族算筹体系完全不同。没有使用筹算的记载——沙雄是藏族独创的计算工具。

藏码是十进制的,从1到9各有独立符号,还有0的符号,在形式上与现代印度-阿拉伯数字有明显的亲缘关系。敦煌遗书中保存了早期藏文数码,经研究与今日仍在广泛使用的藏码完全一致,说明这套数码体系至少在公元8–9世纪就已经稳定。

西夏党项羌族:完整的十进制体系

西夏(1038–1227),党项羌族建立,辖区包括今宁夏全部及甘肃大部。西夏自创文字(西夏文,方块字),建立了完整的出版体系——世界现存最早的活字印刷品之一就出土于西夏。

迄今没有发现西夏的数学专著,但西夏辞书中保存了丰富的数学词汇。《番汉合时掌中珠》《文海》等辞书中,数词(一到亿)、度量衡,以及与数量有关的概念词汇(大、小、多、少、平、等、半、倍……)都有详细解释。

西夏数词体系是完整的十进制:一、二、三、四、五、六、七、八、九、十、百、千、万、亿,用西夏方块字表达,每个字与汉字对应但字形完全不同。大于10的数目像汉字那样排列,例如"十四"用"十"字加"四"字,“二十五"用"二十五"三字。

西夏的度量衡与汉地大体相同但有差异:

  • 面积:西夏"亩"定义为边长50尺的正方形面积(\(50 \times 50 = 2500\) 平方尺),而汉地一亩通常是240平方步;西夏的亩比汉地小得多,其目的似乎是构造 \(1\text{顷} = 100\text{亩}\) 的十进制系统。
  • 容积:完全十进制,从粟、粒、圭、撮、抄、合、升、斗、斛,每级10进位。

西夏《文海》中对"算"字的解释是"根基也,令有无分明之谓”,对"筹"字的解释是"数算用也”——说明西夏人与汉族一样使用算筹,而不是沙盘。1985–1986年在宁夏灵武发掘的西夏窑址中,出土了数百枚圆形算子(类似棋子,黑白两色),被研究者认为是一种西夏算具。

女真金朝:汉族历算的接受者

金朝(1115–1234),女真族建立,1127年灭北宋,统治华北约百年。在数学上,金朝基本上是汉族传统的接收者和延续者,没有独创性的发明,但有重要的历法实践。

女真族早期没有文字,用"刻木为契"来记事记数——在木片上刻代表数量的缺口,或刻约定俗成的符号。1138年颁布女真小字,同年规定官府文书"女真、契丹、汉人各用本字",三种文字并行。

金代**《知微历》(约1180年代)中,应用了差分内插法**来处理日月运动的不均匀性——具体用二次或三次差分公式计算日食食限。这与同期南宋历法的做法基本一致,说明金汉文化交流在历法数学上已经相当充分,尽管两国处于战争状态。

纳西族:东巴经中的堆垒十进记数

南方少数民族中,居住于今云南地区的纳西族也留下了与数学有关的珍贵文献。纳西族以"东巴经“著称——这是以独特象形文字(东巴文,约2000个字符)书写的宗教典籍,形成于唐代或更早,至迟宋代已用于写经,流传至今逾万种。

在东巴经中,数字记法采用一种有别于算筹位值制的堆垒式十进系统:用7个基本符号分别表示1至9(个位用不同数量的相同符号堆叠),再加上分别表示十、百、千、万、亿、兆的位级符号。各个数字通过对应位级符号加上个位数符号的组合来表示,形成一种非位置值的记数方式。

从数学史的角度看,纳西族的东巴经数字系统提供了一个典型案例:十进制的思想不依赖于位值制也可以独立发展出来。与汉族算筹体系(纯粹的位值制)不同,东巴经数字系统保留了每个数量级的独立符号,更接近埃及象形数字或早期罗马数字的逻辑,而非印度-阿拉伯数码体系。这种多样性提醒我们,十进制是一个被反复独立发明的思想,但位值制才是真正革命性的飞跃。


黑水城出土的西夏数学文献

迄今为止,学界对西夏数学的了解,主要来自辞书中保存的数词和度量衡词条,而非专门的数学著作——因为"迄今尚未发现西夏的数学著作”(《大系》第六卷原文)。然而这并不意味着西夏的算学实践是缺席的,只意味着它以不同的形态存在着:嵌入于辞书、法典、度量衡规定和出土器物之中,而非独立成编的数学文本。

俄国探险家科兹洛夫(Pyotr Kuzmich Kozlov,1863–1935)于1908–1909年在今内蒙古额济纳旗的黑水城(Khara-Khoto,西夏语意为"黑城")遗址进行发掘,带回大批西夏文献,现藏俄罗斯圣彼得堡艾尔米塔什博物馆及俄罗斯国家图书馆。这批文献涵盖佛经、法律文书、契约、账簿,以及少量历法文献。其中账簿和契约类文书,记录了借贷利率计算、面积换算、粮食称量,提供了西夏日常算学的间接证据。

账簿中出现的利率计算,通常采用月利加本金的方式,与宋代商业实践相通。面积换算文书显示,西夏的土地计量以西夏"亩"(边长50尺的正方形,即 \(2500\) 平方尺,约合汉地 \(\frac{2500}{1200} \approx 2.08\) 平方步)为基础,百亩为一顷,呈整齐的十进制。这种度量衡体系的十进化,本身就是一种数学组织工作。

宁夏灵武西夏窑址(1985–1986年发掘)出土的数百枚圆形算子,黑白两色,部分刻有天干地支,被研究者确认为西夏的算具,类似于宋代"功算"中定算位所用的牌子。这一发现意味着西夏人进行复杂计算的工具基础已经完备,与汉地通行的算筹体系一脉相承。

《时轮经》与时轮历的数学结构

11世纪初传入西藏的**《时轮经》**(Kālacakra Tantra,梵文意为"时间之轮"),其历法部分建立在一套精密的天文计算系统之上,其数学复杂程度在西藏历史上绝无仅有。

时轮历的核心周期是蚀年(12月60分)和太阳年,其具体关系是:

\[1 \text{ 太阳年} = 12 \text{ 太阳月} + \frac{1}{64} \text{ 太阳月(修正量)}\]

月份以朔望月为基础,但需不断与太阳历协调。时轮历规定每年360个"太阳日",同时精确统计积累的"差日"(超出标准的零头),用以调整历法。关键计算是推算日月食——需要知道月亮的"食限"位置,即月亮与黄白道交点的角距离是否小于某个临界值。

这类计算需要用到差分内插法——与汉地历法中的"招差术"在形式上高度相似。时轮派历算家用一套代代相传的计算表格,对月亮速度的不均匀性进行修正,修正量以"分、秒"为单位,涉及多位小数的加减乘除。藏族历算所使用的计算工具是"沙雄"(沙盘),用金属尖棒在沙面上写藏码,擦去重算,这在概念上与汉地算筹的使用方式虽有不同,但同样支持复杂的迭代运算。

1318年完成的《历算综合论述》(嘎玛巴·仁钦多吉)和1323年的《旦孜》(布顿·仁钦珠巴),标志着藏族历算学在14世纪达到了一个整理和体系化的高峰。到15世纪,“洞人前者"和"洞人后者"两个学者群体之间关于时轮历计算方法的争论,已经触及了历法数学中差分内插精度的技术细节,说明西藏历算已发展出内部的学术批评机制。

多元数学在多民族中国的意义

藏族、西夏、女真三个民族的数学传统,在宋元时代与汉族数学并行存在,构成了一幅复杂的多元文化数学图景。理解这幅图景,需要回答一个问题:这些传统是什么意思上的"中国数学”?

一个保守的回答是:它们不属于"中国数学",它们是独立的地方传统,只是恰好与汉族数学在地理上重叠了。但这个回答忽略了一个事实:这些传统从来不是孤立的。文成公主带去的汉地历算书,是西藏历算的起点之一;西夏的算筹和度量衡与汉地一脉相承;金代《知微历》的差分方法与宋代历法直接接轨。这些交流是双向的、持续的,渗透在每一次人口迁移、每一次政治联姻、每一次商业往来之中。

一个更充分的回答是:这些传统是数学知识在多民族政体中扩散和本地化的证据。汉族的十进制思想、算筹技术、差分历法,在向西夏、女真、西藏传播的过程中,与当地的语言、文字、宗教和生产方式结合,产生了形态各异的数学实践。西藏的沙盘书写,西夏的方块字数词,女真的"刻木为号"再到算筹——每一种都有自己的历史逻辑。

从这个视角看,宋元时代的中国数学,不只是秦九韶、李冶、朱世杰的汉族高级代数,也是无数无名的藏族历算家、西夏账册抄写员、金代历法官员每天实践着的算学。前者是峰顶,后者是山体。没有山体,峰顶无从存在。

耶律楚材:一个契丹人如何整合多族数学传统

谈多民族数学的交汇,很难绕过耶律楚材(1190—1244)这个人。他是辽国皇族的后裔,契丹族,生于金朝治下的燕京,精通汉学,年少时便有文名。1215年成吉思汗攻取中都(燕京)之后,耶律楚材被征召入蒙古汗廷。在随成吉思汗西征中亚的漫漫军旅(1219—1225)中,他把随行的空隙用来做历法研究。

这段经历的产物,是两部有趣的历法著作。**《西征庚午元历》**写于西征途中的1220年,是耶律楚材用汉族传统历法方法,专门为在中亚地区使用而调整的一套历算。《西征》二字说明它不是为中原写的——它把历法的地理参照系从中原移到了中亚。这件事情本身,就意味着一种数学上的适应性工作:如何把以洛阳或燕京为经纬起算点的中国历法,迁移到撒马尔罕的纬度,同时保持计算方法不变?这需要对历法算法的结构有清晰的理解。

《麻答把历》(又称《庚午元历》),则是他研究伊斯兰历法体系(“回回历”)之后的成果,记录了他对穆斯林天文学的观察和比较。这是一位契丹学者,用汉族天文学的语言框架,记录他在中亚遭遇到的阿拉伯天文传统——三个数学文化的交叉点,集中在同一个人身上。

耶律楚材的实际政治贡献也与历算密切相关。成吉思汗及其子孙在征服过程中,对历法计算的需要主要是军事性的(吉日凶日、出征日期),而汉族精密历法传统有一套深厚的占候体系。耶律楚材坚持向蒙古汗廷推广汉族历法实践,在某种程度上使这套传统在蒙古统治初期没有断绝。这是一个少数民族知识精英充当文化传导器的典型案例。

金代算学教育:制度层面的数学传承

女真族建立的金朝(1115—1234)在数学教育上最值得记录的,是它的算学制度安排。金仿照北宋的教育体制,在国子监设置算学,培养专业算学人才,并设有算学博士职位。这不是一个微不足道的细节——它意味着金朝政府把数学视为一门需要专业资格的学科,有官方认证的教师,有规范的教学内容。

金代的历法实践为这套制度提供了直接的背景。《知微历》(约1181年,赵知微修订)是金代最重要的历法,其中对日月运行不均匀性的处理,使用了二次和三次差分内插法——这与同期南宋历法的方法基本一致。两国在军事上处于对立状态,在历法数学上却使用着几乎相同的技术手段,这恰恰说明:汉族历算传统的传播,不受政治疆界的限制,它通过人口流动、文官任用和书籍传播,跨越了民族边界。

赵知微到底是汉族还是女真族,史籍不载,但无关紧要。金代的数学家,无论族属,都在同一个算学传统里工作,使用的是从唐宋继承下来的算经教材,面对的是同样的历法精度要求。金代金融和水利管理中的大量计算实践,为这套传统提供了持续的现实需求。《金史》记载,金代土地丈量沿用北宋标准:“量田以营造尺,五尺为步,阔一步,长二百四十步为亩,百亩为顷”——这与宋代制度几乎一字不差,说明女真政权在接管华北后,很快接收了整套汉族的度量衡和计算体系。

至于秦九韶的《数书九章》(1247年),它完成于南宋,那时金朝已灭(1234年),蒙古已开始统治华北。秦九韶本人长期在南宋境内活动,他的著作流传的主要地域是宋地而非金地。没有直接证据表明金代数学家知晓这部著作,但金代民间数学的水平,从现有文献推断,与宋代算学应当是基本同步的——因为两者共享同一套汉族数学教材体系。

西夏历法中的数学计算

迄今没有发现西夏专门的数学著作,但西夏历法的存在是有据可查的。西夏立国之后,吸收了宋代历法体系,并在此基础上发展出自己的历书传统。夏仁宗(1139—1193年在位)时期是西夏文化的鼎盛时代,这一时期西夏历算活动最为活跃,有专门负责历法的官员设置。

西夏使用的历法,以宋代通行历法为参照,但在具体的节气计算、月份安排上有本地化的调整。黑水城出土的文献中,有若干历书残件,显示西夏历书的格式与宋代历书高度相似:以干支纪日,标注二十四节气,注明吉凶日——这套格式本身就是一套把天文计算结果转化为日常使用的应用数学程序。

从《番汉合时掌中珠》《文海》等西夏辞书中可以看到,西夏数词体系对"历"(历书)和"算"的概念都有明确的词汇,说明这两个概念在西夏的日常知识体系中有清晰的地位。账簿文献中出现的利率计算,采用月利加本金的复利形式,与宋代商业实践一致,说明西夏的算学实践至少在商业金融领域已经相当成熟,且与宋代保持了紧密的联系。

为什么多元传统的故事没有被完整记录

一个值得停下来思考的问题是:为什么藏族、西夏、女真的数学传统,在中国数学史的主流叙述里如此边缘化?

最直接的原因是文献的不对称。汉族数学家把他们的工作写成了算经、著作、注疏,形成了一个有持续参照关系的文本传统。藏族、西夏的数学,大多嵌在历法书、辞书、账簿、宗教典籍里,从未形成独立的"数学著作"。女真的算学,则更多以制度安排(算学博士、历法机构)和实践记录的形式存在。这些材料散布各处,需要考古学、文献学、宗教学多学科协作才能还原,而这类跨学科工作在中国数学史研究中起步很晚。

其次是叙事框架的惯性。“中国数学史"这个概念,在20世纪被建立为一个以汉族算经传统为主干的叙事。这个框架把秦九韶、杨辉、朱世杰等人的成就置于中心,而把周边传统降格为注脚——如果提到的话。这不是出于恶意,而是那个时代学术资源的限制:汉文文献最易得,汉族数学传统最系统,于是它自然地成为了"中国数学"的代名词。

但从地理和人口的实际格局来看,宋元时代的"中国"数学,从来就是多元并存的。汉族的算经传统固然最深厚,但藏族的时轮历算、西夏的十进制度量衡、女真的历法改革,都是这幅图景不可缺少的组成部分。理解它们,不只是为了还原历史的完整面貌,更是为了理解一个真实存在的事实:数学知识的传播,从来都是在人类活动的全部版图上进行的,而不只是在文字精英之间流通。

蒙古与"丝路数学”:知识沿贸易路线流动

在所有促成多民族数学传播的力量中,最被低估的可能是蒙古帝国的"丝路效应"

成吉思汗及其子孙在13世纪建立的横跨欧亚大陆的帝国,在历史上是独一无二的。在短短半个世纪里(1206—1260年),蒙古军队征服了中国北方、中亚、波斯、俄罗斯草原乃至东欧部分地区,把此前相互隔绝的几个文明圈暴力地连接在一起。这种连接以战争和毁灭开始,但随后带来了一种前所未有的文化交通密度

“蒙古治世”(Pax Mongolica,约1260—1350年)是一段特殊的时期:从中国到伊朗,从伊朗到俄罗斯南部,整个欧亚内陆处于同一个政治体系的管控下,商人、工匠、宗教人士、使节可以相对安全地长途旅行。丝绸之路不只是输送商品,也输送了思想——包括数学思想。

具体到数学,沿丝路流动的有这几类:

第一是数字系统。印度-阿拉伯十进位数字(今天全球通用的0—9)在9—10世纪已经传入伊斯兰世界,在12世纪通过西班牙和北非传入欧洲(斐波那契《计算之书》,1202年)。蒙古帝国时期,这套数字也在中亚和东亚之间流通更加频繁,与中国的算筹位值制并行存在。藏族使用的藏码,与印度数字有亲缘关系,正是通过这条路线传来的。

第二是天文学工具。伊斯兰天文学的观测仪器(星盘、象限仪)和数学方法(球面三角学)随着马拉加天文台(1259年)的建立而大规模进入蒙古帝国视野。元朝廷设立了"回回司天台"(回回,即伊斯兰)与汉族太史院并列,专门处理伊斯兰天文计算。忽必烈时代,波斯天文学家扎马鲁丁(Jamal al-Din)献给元廷七件伊斯兰天文仪器,并带来了他自己编制的《万年历》——这是中国历史上第一次有系统的伊斯兰天文学成果直接进入中国宫廷。

第三是历法知识。蒙古帝国统治下,中国历法、伊斯兰历法、藏历三套体系在同一个政治空间内并行运作,官员在不同场合需要在三套系统之间换算日期。这种实际需求推动了对不同历法数学基础的理解和比较。

第四是数学典籍。元代翻译活动(虽然规模远不及唐代佛经翻译和阿拔斯王朝的希腊典籍翻译)也涉及部分数学和天文内容。回回历法书、伊斯兰天文表(Zīj),在元廷以汉文抄本的形式流传。反方向上,中国的历算方法(包括招差术)也通过日本渠道传播(元代与日本的文化接触),在后来影响了日本的数学发展(关孝和的和算即直接继承了《授时历》的招差方法)。

这幅图景提醒我们:数学知识在中世纪的全球流动,不是单向的"影响"而是多向的"交流"。宋元中国输出了历法算法(东传日本、朝鲜),输入了伊斯兰天文仪器和方法;西藏输入了印度天文学(《时轮经》)和部分汉族历算;西夏吸收了宋代商业数学……这是一张密密麻麻的网,而不是一条从高处流向低处的单向河流。

回回数学:伊斯兰学者在元朝廷

元朝廷里有一批被称为"回回"的伊斯兰学者,他们在数学和天文方面的贡献值得专门一提。

最重要的人物是扎马鲁丁(Jamal al-Din,生卒年不详,活跃于13世纪后半叶)。他是波斯天文学家,约在至元四年(1267年)来到大都,向忽必烈献上了七件天文仪器,包括咱秃哈刺吉(浑天仪)、咱秃朔八台(测景仪)、鲁哈麻亦渺凹只(星盘)等——这些阿拉伯语/波斯语名称被直接音译进入汉文史籍,听起来陌生,但它们代表了伊斯兰世界的最高天文仪器水平。扎马鲁丁还编制了《万年历》(至元四年,1267年),用伊斯兰天文学方法计算日月运行,作为对《大明历》的补充参考。

扎马鲁丁带来的伊斯兰天文仪器中,有一样叫苦来亦撒麻(Kūra-yi samā,意为"天球仪")的仪器——这是一个可以旋转的球面模型,上面绘制了黄道、赤道和主要星座,用于直观显示天球的几何结构。这种仪器在伊斯兰世界已有数百年历史,在中国传统天文仪器中找不到直接对应物。它的引入,为中国天文学家提供了一种新的几何直觉工具。

与扎马鲁丁同时代或稍后,还有一批伊斯兰数学家在元廷活动,参与了回回司天台的日常工作。他们的名字大多没有在汉文史籍中留下记录,但从现存的回回历法文书和《元史·天文志》的相关记录可以推断,他们使用的数学工具包括:三角函数表(正弦、余弦)、球面三角计算方法(用于确定各地方的祈祷方向mibla和观测特定星体的仰角)、以及伊斯兰天文表(Zīj)的查表和插值计算。

这些工具,在宋元汉族数学的传统中,基本是空白的。汉族历法计算用的是差分内插(招差术),而不是三角函数;用的是代数方程(天元术),而不是球面三角。两套体系并行存在于同一个宫廷里,但没有发生深度融合——郭守敬和王恂虽然知道伊斯兰天文仪器的存在(郭守敬设计简仪时可能参考了某些外来仪器的设计思路),但他们的数学方法仍然完全在汉族传统内部发展。平行接触,但没有系统整合——这也许是元代数学交流的本质特征。

西夏数学的补遗:从文字到数字的认知系统

关于西夏数学,还有一个有趣的角度值得补充:西夏文字本身就是一套数学认知系统

西夏文(也称西夏字、河西字)是党项族在11世纪创造的文字,形态上与汉字相似(方块字,由笔画组成),但每一个字的构造都是独立的,与汉字没有直接的形态联系。西夏文字约有6000多个,是一套全新创造的书写系统,这件事本身就需要相当水平的语言学和符号系统设计能力。

西夏的数字系统是十进制的,从1到9各有独立的西夏字,加上表示"十"、“百”、“千”、“万"的西夏字,合成任意整数的读音和书写。这套数词体系在语言上与汉语数词高度对应(每个西夏数字词都有对应的汉字数字),但字形完全不同,说明西夏人在借鉴汉族十进制概念的同时,用自己的文字体系重新实现了它。这是一种概念借鉴、形式独立的知识迁移模式。

《番汉合时掌中珠》(约1190年)是一部西夏—汉语双语词典,按语义分类编排,其中"数类"部分列出了从一到兆的西夏数词和汉语对应词,是我们了解西夏数学词汇最重要的来源。词典里还有量词(尺、寸、分、厘;斗、升、合、勺;斤、两、钱)和单位换算关系,说明西夏的日常计量活动与汉族大体平行,使用相似但不完全相同的度量衡体系。

值得一提的是:西夏文献中没有发现任何等价于中原算经(《九章算术》、《孙子算经》等)的数学教材,这不一定意味着西夏没有算学教育,而更可能是因为西夏的算学教育直接使用汉文教材——黑水城出土的文献中包含汉文算经的抄本,说明识字的西夏官员是直接阅读汉文数学典籍的,而不是翻译成西夏文后再学习。

从"汉化"到"共生”:一个新的理解框架

谈到这里,我们需要对整个多民族数学传统的叙述做一个方法论上的反思。

传统的叙事框架是"汉化":少数民族接触了汉族数学,然后逐渐采用了汉族的方法。这个框架有其道理——藏族从汉族学了五行纪年,西夏用汉文算经,女真的算学制度仿照宋代——但它掩盖了一个更复杂的过程。

更准确的图景是共生与本地化:少数民族在接触汉族数学时,不是被动地"接受",而是主动地"选择"和"改造",把接收到的知识与本地的语言、文字、宗教和生产实践结合起来,产生了既有汉族痕迹、又有本地特色的数学实践。

藏族的时轮历算是一个典型案例。它的核心结构来自印度(《时轮经》),其中的干支纪年、五行概念来自汉族,差分内插的思路与汉族历法相通,但具体的计算工具(沙盘而非算筹)、书写系统(藏码而非汉字)、以及宗教神话框架(时轮佛教而非儒家宇宙论)都是藏族自己的。这不是"汉化",也不是"印度化",而是藏族的本地化创造。

西夏的十进制度量衡是另一个案例。西夏选择把"亩"定义为边长50尺的正方形(2500平方尺),而不是汉族的240平方步——这个选择使西夏的土地计量体系成为整齐的十进制(100亩=1顷),比汉族的非十进制亩制更有系统性。西夏人在接受十进制思想的同时,对具体数值做了本地化的优化,这是一种主动的知识改造。

理解这种"共生与本地化",比简单的"汉化"框架更接近历史的真实。多民族中国的数学史,是一部关于知识如何在不同文化土壤里生根、变形、再生长的故事——不是一棵大树的单向蔓延,而是一片森林的共同生长。


Chapter 34: 蒙元与回回数学的交汇

耶律楚材与蒙古西征

耶律楚材(1190–1244),契丹族后裔,精通汉学,随成吉思汗西征(1219–1225年)。在历算方面,他一方面延续汉族历法传统,主持蒙古汗廷的历法编制;另一方面,亲历了中亚历算知识与汉族历算的直接接触,写成了《西征庚午元历》(1220年)和《麻答把历》,后者是他研究穆斯林历法后的成果。

耶律楚材的实际贡献是让蒙古人在征服四方的过程中,尊重并延续了汉族精密历法计算体系。他坚持用汉族传统历法推算吉凶,使汉族历算知识在蒙古统治初期得以延续而不中断。

马拉加天文台(1259年)

1259年,旭烈兀(忽必烈之弟)在今伊朗西北部建立了马拉加天文台(Maragha Observatory),聘请伊斯兰世界最伟大的天文学家和数学家纳西尔丁·图西(Naṣīr al-Dīn al-Ṭūsī,1201–1274)主持。

马拉加天文台是当时全球最先进的天文台,建有多种大型精密仪器,包括壁式象限仪(直径约4米)、双重天文环、大型星盘等。图西在此完成了他的主要数学和天文著作,包括《天文表》(Zīj-i Īlkhānī)和球面三角学著作。

马拉加天文学革命:图西及其合作者发展了一套修正托勒密行星模型的数学装置——“图西双轮”(Tusi couple),即一个在大圆内滚动的小圆,其点迹为直线往复运动。这个装置后来(约1440年代)出现在哥白尼的《天体运行论》草稿中,几乎一字不差,引发了"哥白尼是否从马拉加传统借鉴"的重要历史学争论。

中国学者在马拉加:元代文献记载了一位"扎马鲁丁"(Jamāl al-Dīn),他可能曾在马拉加或其传统中学习,后于约1267年来到忽必烈宫廷。扎马鲁丁带来了七件西域天文仪器,其中包括:

  • 苦来亦阿儿子(球形地球仪,这是中国人第一次实际接触地球仪)
  • 苦来亦麻弗(天球仪)
  • 鲁哈麻亦渺凹只(平面星盘)
  • 咱秃哈剌吉(多环仪,即 armillary sphere 的变体)

扎马鲁丁还带来了伊斯兰历法体系,即回回历法,此后元朝同时维持两套历法。

回回数码幻方:实物证据

蒙元时期中阿数学文化交汇最直接的实物证据,是陕西西安出土的一块元代铁板(约1300–1350年),上面刻有用阿拉伯数字写成的幻方——这是一个 \(4 \times 4\) 幻方,幻方常数为34:

\[ \begin{pmatrix} 4 & 14 & 15 & 1 \\ 9 & 7 & 6 & 12 \\ 5 & 11 & 10 & 8 \\ 16 & 2 & 3 & 13 \end{pmatrix} \]

验证:每行每列及对角线均为34。这块铁板现存西安博物馆,铁板上的数码是印度-阿拉伯数字,而不是中文数字——说明至迟到14世纪上半叶,印度-阿拉伯数字已经被运用于中国民间。

有趣的是,这块铁板上的幻方与伊斯兰数学传统中流传的 \(4 \times 4\) 幻方形式完全一致,很可能是通过波斯或中亚穆斯林学者传入的。

然而印度-阿拉伯数字并没有由此迅速取代汉字数字和算筹——与欧洲的情形完全不同(欧洲在11–13世纪迅速采纳了阿拉伯数字)。在中国,这个替换要等到更晚的西学东渐时期。


耶律楚材的《庚午元历》:数学结构分析

耶律楚材(1190–1244)的历法贡献,在数学上最具体的体现是**《西征庚午元历》**(1220年)。这部历法是他随成吉思汗西征途中,在中亚写成的——书名中的"庚午"指1210年(庚午年),是他选取的历元。

《庚午元历》的基本参数继承自金代《大明历》(1180年),但有若干关键修正:

岁实(回归年长度):耶律楚材采用 \(365.2423\) 日,与《大明历》的 \(365.2432\) 日略有不同,更接近现代值 \(365.2422\) 日。

朔策(朔望月长度):\(29.53059\) 日,与现代值 \(29.53059\) 日吻合到五位有效数字。

近点月(月亮回归到近地点的周期):耶律楚材对月亮的速度不均匀修正用二次差分内插,设快、慢两种速度区间,修正量用分秒表示。

从数学结构上看,《庚午元历》是典型的中国传统历法框架:以一个整数历元(“蔀”)为起点,用整数倍关系统一各天文周期,再用差分内插处理运动的不均匀性。耶律楚材的贡献不是引入新方法,而是在中亚的条件下,用中国方法重新拟合了他能观测到的天象数据。他的《麻答把历》则是他研究穆斯林历法的笔记,两相对照,他对伊斯兰历法的兴趣主要是比较性的,而非要引进新方法。

马拉加天文台的数学成就

马拉加天文台(Maragha Observatory,建于1259年)的数学贡献,核心在于纳西尔丁·图西(Naṣīr al-Dīn al-Ṭūsī,1201–1274)及其学派对托勒密行星模型的数学改造。

托勒密体系的根本问题是等分点(equant)的使用:为了解释行星运动的不均匀性,托勒密在圆心之外设置一个等分点,使行星绕该点匀角速运动——但这违背了希腊宇宙论的基本原则(天体必须做匀速圆周运动)。图西的解决方案是著名的"图西双轮"(Tusi couple):

设大圆半径为 \(R\),小圆半径为 \(\frac{R}{2}\),小圆在大圆内部滚动(小圆外圆周与大圆内圆周相切),设小圆圆心绕大圆圆心以角速度 \(\omega\) 运动,小圆本身以 \(2\omega\) 速度自转(方向相反)。则小圆圆周上的任意一点 \(P\) 的轨迹为:

\[x(t) = R\cos(\omega t) + \frac{R}{2}\cos(2\omega t)\]\[y(t) = R\sin(\omega t) - \frac{R}{2}\sin(2\omega t)\]

当 \(\omega t = \pi\)(即半圈)时,\(P\) 到达大圆中心的另一端;当 \(\omega t = 0\) 时,\(P\) 在大圆圆周上。这个 \(P\) 的运动是沿直线的往复运动(直径方向),图西证明了这一点。这个装置的意义是:它用纯粹的匀速圆周运动,产生了直线往复运动的效果——从而可以在不违背"圆周运动"原则的前提下,解释行星的近地与远地现象。

图西双轮与哥白尼《天体运行论》草稿(约1510–1514年)中的一个数学构型几乎完全相同,这一发现在20世纪引发了关于"哥白尼是否通过某种渠道接触了马拉加传统"的重要历史学讨论。

扎马鲁丁与回回历法的传入

扎马鲁丁(Jamāl al-Dīn,约1267年在忽必烈宫廷活跃)是马拉加传统在中国最直接的代表。他带来的七件西域天文仪器,其中数学含义最深刻的是:

平面星盘(鲁哈麻亦渺凹只):这是球面坐标到平面坐标的球极投影(stereographic projection)的实体化。球极投影将球面从南极投影到赤道平面,具有保角性(conformal,即保持角度不变)——这个性质使它在导航和天文计算中极为有用。星盘的构造本身就是一套精密的几何计算结果。

球形地球仪(苦来亦阿儿子):这是中国人第一次实际接触到地球是球体的物质模型。地球仪上标注经纬度,意味着一套完整的球面坐标体系——这与汉地传统天文的浑天说虽有相通之处,但以经纬度网格来组织地表信息,是阿拉伯地理传统的特有成就。

扎马鲁丁随后献上**《回回历》**的历法参数,使元朝正式建立了双轨历法制度:汉式历法(经由郭守敬改革为《授时历》)与回回历法并行,两者各有专职官员推算。这一双轨制度一直延续到明代中期。

回回算学:伊斯兰数学在元朝的制度化

回回算学(Huihui suanxue)是元朝政府设立的一个专门机构,负责用伊斯兰方法处理历法推算与相关计算。关于它传入的具体数学内容,现有文献不多,但有几点是可以确认的:

六十进制的普及:伊斯兰天文学的角度计算以六十进制为基础,将一度分为60分、一分为60秒。这套记法通过回回历法进入元朝钦天监的实际工作,与汉地传统的"分、秒"记法形成对应。

印度-阿拉伯数码的出现:陕西西安出土的元代铁板(约1300–1350年),上面刻有用印度-阿拉伯数码写成的 \(4 \times 4\) 幻方(幻方常数34),是中国境内印度-阿拉伯数码最早的实物证据之一。这块铁板说明,至迟到14世纪上半叶,伊斯兰数学的数码体系已通过回回学者传入中国民间,但没有取代汉字数码或算筹。

球面三角的间接影响:扎马鲁丁带来的星盘和天球仪,隐含了完整的球面三角计算。然而这些知识有没有被元代中国数学家真正理解和吸收,目前没有直接证据。郭守敬《授时历》中对弧矢割圆的处理,在方法论上与球面三角有相通之处,但郭守敬是否接受了来自扎马鲁丁的直接影响,仍是一个有争议的问题。

两种历法传统的数学比较

将《授时历》(1281年,汉族传统的集大成者)与图西《伊儿汗历表》(Zīj-i Īlkhānī,1270年前后,马拉加传统的主要成果)并列,可以看出中阿历法在数学方法上的异同:

比较维度《授时历》(郭守敬)伊儿汗历表(图西)
岁实365.2425日365.2420日(更接近现代值365.2422)
朔策29.530593日29.530594日
不均匀修正三次差分内插(招差术)本轮-均轮几何模型(托勒密改造版)
坐标基础赤道坐标系黄道坐标系
数学工具算筹位值运算、差分表球面三角、几何作图、三角函数表

两套历法的预报精度在同一个数量级,但数学基础截然不同:中国用差分内插(纯计算,不依赖几何模型),伊斯兰用几何构型(本轮、均轮,数学-物理混合)。这不是优劣之分,而是两种不同的认识论立场:中国的数学是算法性的,伊斯兰的数学是几何性的。

元代蒙古帝国的独特贡献,是创造了让这两种传统在同一个宫廷里共存的政治条件。这种共存没有产生大规模的综合,但留下了若干痕迹——西安铁板上的幻方、钦天监里的双轨历法、北京观象台上中国形制的天文仪器——这些是跨文化数学交流以实物形式留下的稀有遗存。

马拉加天文台上是否有中国学者

这是一个需要小心区分史料的问题。

通常的说法是:马拉加天文台(建于1259年)汇聚了来自多个文明的天文学家,其中包括中国人。但这个说法的具体文献依据有多强,值得仔细审视。

波斯史家拉施特(Rashīd al-Dīn)在《史集》中描述马拉加天文台时,确实提到图西手下有来自伊斯兰世界、拜占庭和中国方向的学者——但"中国方向"究竟指真正的汉族天文学家,还是泛指蒙古帝国东方属地的人员,记载过于模糊,无法确认。中国文献中,没有任何传世资料明确记载某位汉族历算家去过马拉加天文台并参与工作。

能够确认的是:扎马鲁丁(Jamāl al-Dīn)在1267年来到忽必烈宫廷之前,很可能曾在某个阶段接触过马拉加天文台的仪器传统。从七件西域仪器的构造来看——特别是地球仪和球极投影星盘——它们与纳速拉丁在马拉加主持建造的同类仪器高度吻合。李迪等学者推测,扎马鲁丁可能曾受忽必烈派遣前往马拉加参观见习,带回了仪器图样和制造知识。这是一个合理的推测,但尚无直接文献佐证。

《授时历》与《伊儿汗历表》:平行发展还是直接影响

1281年郭守敬颁行的《授时历》和图西约1270年完成的《伊儿汗历表》(Zīj-i Īlkhānī),在数学成就上有着惊人的相近之处,这自然引发了一个问题:两者之间是否存在传递关系?

仔细比较可以发现,相似性主要体现在精度而非方法上。两部历法对回归年长度的测定都精确到5—6位小数,对朔望月长度的拟合也达到相同数量级。但具体的数学工具截然不同:

《授时历》用招差术(三次差分内插)处理太阳和月亮运动的不均匀性,这是中国差分传统从刘焯二次公式到郭守敬三次公式的直接延伸,是一套纯粹的数值算法,完全不依赖几何轨道模型。

《伊儿汗历表》用的是本轮-均轮体系,数学工具包括球面三角、三角函数表和几何作图,是在修正托勒密模型的框架内工作。图西的"图西双轮"正是这套框架内的核心装置。

两个传统在数学工具上没有重叠的迹象。能达到相近精度,是因为双方都做了大量精细的实测天文观测,并在各自的数学框架内进行了高质量的参数拟合——两套完全不同的数学语言,导向了量级相近的预报精度。这是平行发展的有力证据,而非直接传播的结果。

扎马鲁丁《万年历》的数学内容

扎马鲁丁于1267年献给忽必烈的**《万年历》**,是伊斯兰历法体系第一次在元朝获得官方地位的标志。《元史·历志》载"世祖稍颁行之",说明它在忽必烈朝被局部采用,主要用于回回司天监内部的历法推算。

《万年历》的数学基础是七曜历体系——以太阳、月亮和火、水、木、金、土五大行星的运动周期为骨架,用伊斯兰天文学的参数(回归年、朔望月、行星会合周期)来建立历元和推算公式。与中国传统历法(以整数日为基本单位、用大衍数构造历元)不同,伊斯兰历法的参数体系以六十进制的角度和时间为基础,将圆周分成360度、每度60分。

从已知资料来看,《万年历》的数值参数(回归年365.2463日,朔望月29.5306日)与马拉加天文台的计算结果接近,但精度不及《授时历》。它的主要历史意义是制度性的:它促成了元朝双轨历法制度的建立——汉式历法(《授时历》)用于官方节令颁布,回回历法用于少数族裔和外交场合。这套双轨制度延续了整个元代,进入明代以后仍保留了回回历科,直到清初才逐渐消亡。

元代回回书籍:阿拉伯代数是否传入中国

1273年,扎马鲁丁所管理的上都回回司天台并入秘书监,台内藏有一份极为珍贵的阿拉伯文书目,今存于《元秘书监志》。书目中列出了200余部书籍,属于历算类的有约16种。其中最引人关注的是第一种:

兀忽列的四擘算法段数十五部

学界对这条记录的解读争议颇多。“兀忽列的"很可能是阿拉伯文"Uqlidis”(即Euclid,欧几里得)的音译;“四"接在后面,与阿拉伯读音中词尾的”-s"吻合;“算法段数十五部"则对应纳速拉丁·图西1248年完成的《欧几里得原本编述》(15卷本)。这意味着:图西编订的《几何原本》注释本,极有可能在1273年进入了元朝秘书监的藏书。

第二种”罕里速窟允解算法",其音与"Khwārizm"(花拉子模)颇为接近。如果解读成立,那么花拉子模《代数学》(al-Kitāb fī ḥisāb al-jabr wa’l-muqābala,约820年)很可能也在这批书目之中——这将是代数学传入中国的直接证据。但这一解读争议更大:“罕里速窟允"与花拉子模的阿拉伯文读音相差较远,其他学者提出了不同的对应词汇。

关键的历史局限:这批书从未被译成中文。书目记载它们"长期锁在上都回回司天台里,外人不能得见”。元代没有留下任何文献显示汉族数学家读过或理解过这些阿拉伯文著作的内容。郭守敬的《授时历》,无论从术语还是方法来看,都没有阿拉伯代数的痕迹。

因此,准确的结论是:阿拉伯代数(包括可能的花拉子模代数)确实物理上到达了元朝,但没有被汉族数学传统吸收,没有产生任何可追踪的影响。两套学术传统在同一个宫廷里共存,但语言隔阂和制度分割使它们基本处于互相不透明的状态。

蒙古帝国的特殊历史作用

蒙元时期在世界数学交流史上的独特位置,并不在于它完成了某种综合——事实上并没有。它的意义在于创造了一种在人类历史上极为罕见的政治条件:在同一个帝国框架内,汉族、波斯-伊斯兰、拜占庭乃至印度的学术传统同时获得了官方支持,并在宫廷层面有了真实的人员接触。

郭守敬见过扎马鲁丁带来的七件天文仪器。他能看到一架球极投影星盘,能接触到球形地球仪上的经纬度网格——这些视觉经验是否改变了他对坐标系的思考方式,我们无从确知,但也不能排除。球面三角在《授时历》中的间接出现(郭守敬对弧矢割圆的几何处理),在方法论上确实与伊斯兰球面三角存在呼应,尽管这种呼应究竟是独立发展还是间接启发,至今仍是开放的学术问题。

帝国崩溃之后,这段交流的遗迹散落在三种物质形式里:西安安西王府地基下的6阶阿拉伯数码幻方、北京观象台上中国形制天文仪器的设计变迁、以及《永乐大典》中留存的若干回回历法片段。这些遗迹说明:数学知识的跨文化流动,需要政治庇护和制度支撑——一旦帝国解体,流动也随之停止。

蒙古治世的数学维度:接触的政治前提

有一个问题需要先回答,才能进入细节:为什么是13世纪?中国和伊斯兰世界的数学传统,在公元9世纪就已经分别达到了相当的高度——花拉子模在巴格达写代数,刘徽的注疏在洛阳被抄来抄去。为什么两者的接触要等到13世纪才突然变得密集?

答案是政治,不是数学。蒙古帝国通过军事征服把从中国华北一直到波斯的大片土地统一在同一个政治框架之下。这不是温和交流,而是征服——是强迫性的人口流动、强制性的资源调配、强制性的行政统一。蒙古人把波斯工匠带到中国北方造宫殿,把汉族历算家带到西征军里算节气,把伊斯兰天文学家安置在忽必烈的宫廷给他预言星象。这种"帝国式"的知识流通,规模之大、速度之快,是商人贸易或外交使节所无法实现的。

这就是蒙古治世(Pax Mongolica)的数学维度:它不是一个自愿的学术交流项目,而是帝国扩张的副产品。当旭烈兀命令纳西尔丁·图西建造马拉加天文台时,资金来自蒙古帝国的税收,整个项目的政治合法性来自哈拉和林。同样,当扎马鲁丁带着七件天文仪器来到忽必烈宫廷时,他的通行证是蒙古汗廷的信任。没有这个帝国框架,这两个人不会在同一个宫廷里出现。

蒙古帝国为数学交流提供了人员的实际接触、仪器的实物传递、书籍的物理到场(如秘书监的200余部阿拉伯文书目)、以及制度性的双轨历法并行。但没有提供的是翻译。这是关键的缺口。秘书监收藏的那200余部阿拉伯文书,从来没有被译成汉文。扎马鲁丁带来的星盘和地球仪,被汉族天文学家看到了,但背后的球面三角理论没有人讲解——语言隔阂是实质性的。郭守敬和扎马鲁丁同在忽必烈宫廷,但他们大概从来没有真正谈论过数学,因为两人之间没有共同语言,也没有专业的数学翻译。蒙古帝国创造了接触,但接触不等于理解。

耶律楚材的"里差法":把经度引入历法

耶律楚材的《西征庚午元历》中有一项特别值得注意的技术创新:里差法——这是中国历法史上第一次明确引入地理经度对时间计算的修正。

中国传统历法一直以某个特定地点(通常是都城)为标准来计算日月朔望,但当军队走到数千里外的中亚,同一个"朔"的实际时刻就会与当地不符——因为地球是圆的,东西方向上有时差。这个问题在蒙古西征中变得格外突出:大军横跨欧亚大陆,标准历法给出的月食时刻,在中亚可能差出几个小时。

耶律楚材的解决方案:以寻思干(撒马尔罕)为经度参照点,每隔一定里程,对历法给出的时刻进行加减修正。《元史·历志》保存了他的具体算法:

“以寻思干城为准,置相去地里,以四千三百五十九乘之,退位,万约为分,日里差;以加减经朔弦望小余,满与不足,进退大余,即中朔弦望日及余。以东加之,以西减之。”

设两地相距 \(m\) 里,里差修正量 \(t\)(单位为"分")为:

\[t = \frac{4359}{10000} \times m\]

向东的地方时比撒马尔罕晚(加修正),向西的早(减修正)。这个公式明确承认了时间是地理位置的函数——这在中国传统历法框架里是一个全新的思想。中国历法从未明确处理过经度问题,因为历代历法都把计算地点固定在都城。耶律楚材因为随军出征到了万里之外的中亚,被迫面对这个问题,找到了一个在当时框架内可行的算法解。这是军事需求逼出数学创新的典型案例。

《元史》称此法"惟里差之法,是其特创,实开后世经度之先"——这个评价并非夸张。它在方法论上预示了后来传教士在清初引入的地方时修正,而在耶律楚材的时代,这仅仅是一个在西征军旅中被迫发明的应急算法。

蒙哥与欧几里得:一次没有留下后续的相遇

波斯史家拉施特的《史集》中记载,蒙哥汗(1251–1259年在位)“曾解答欧几里得的若干图”。这是什么意思?把它放在历史背景里,意义就清楚了:蒙哥是中国历史上第一个有记载地学习过《几何原本》内容的统治者。他学习的对象极可能是纳西尔丁·图西1248年完成的《欧几里得原本编述》(15卷注释本),由扎马鲁丁带到蒙古宫廷并给蒙哥讲解。

如果这个推断成立,意味着:13世纪中叶,欧几里得的几何学通过蒙古宫廷进入了中国的政治核心——但没有进入中国的数学文本。蒙哥解答了"若干图",然后去世了(1259年)。没有任何汉文文献记录说哪位中国学者因此而学习了欧几里得几何。《几何原本》的第一部汉文翻译要等到1607年,是利玛窦和徐光启合作的事情——距离蒙哥学习"若干图",已经过去了350年。

这件事情最令人感慨的地方是:《几何原本》在13世纪就物理性地到达了中国,在最高权力的宫廷里被人研读,然后什么也没有发生。知识的种子需要土壤——13世纪元朝以算筹计算为核心、以官僚实用需求为导向的汉族数学传统,对公理-证明体系的几何学完全没有准备。

郭守敬的仪器设计:可能存在的伊斯兰影响

郭守敬(1231–1316)主持设计制造了大批天文仪器,用于《授时历》的编制,其中有几件在设计思路上与伊斯兰传统存在耐人寻味的相似。

最典型的是仰仪:这是一口直径约3米的铜锅形器具,内壁镌刻赤道坐标网格,中央立铜针,阳光透过针尖在半球内壁投影,可直接读出太阳坐标。这个设计与马拉加天文台的某些仪器有相通之处——扎马鲁丁带来的"苦来亦麻弗"(天球仪)涉及类似的坐标投影概念。郭守敬是否见过扎马鲁丁的仪器,文献没有明说,但两者几乎是同时代的同一宫廷人物,见过的可能性相当大。

简仪是郭守敬最具创新性的天文仪器,它把传统浑仪的复杂结构大幅简化,将赤道环和地平环分开独立设置,消除了浑仪环圈之间的遮挡。从设计哲学上看,这与伊斯兰天文仪器的分体化趋势有相通之处,但中国传统内部也有充分的演化动力。目前学界主流认为:郭守敬的仪器革新主要来自他自己对观测实践的深刻理解,伊斯兰影响如果有的话,也只是间接启发而非直接模仿。

这个讨论的价值不在于证明"谁影响了谁",而在于提醒我们:当两个高水平的科学传统在同一个宫廷里共存时,即使没有直接的技术转让,相互感知对方的做法也会留下可能的影响——尽管这种影响往往无从证实,也无从证伪。

真正的问题:有没有发生数学对话?

让我们回到本章开头提出的核心问题:蒙元时期,中国数学家和伊斯兰数学家之间,发生过真正的数学对话吗?

严格地说:没有。

有接触,有共存,有物品传递(仪器、书籍),有制度并行(双轨历法)。但没有任何文献证据表明,一位汉族数学家和一位伊斯兰数学家坐在一起,逐题讨论彼此的数学方法。这个结论并不令人意外,因为有几个结构性障碍使真正的数学对话很困难。

首先是语言。汉族数学家用汉文写作,用算筹操作;伊斯兰数学家用阿拉伯文或波斯文写作,用文字符号运算。没有人同时精通两种数学语言来充当翻译——耶律楚材懂中亚语言,但他是从中国人的角度接触伊斯兰传统,而不是反过来。

其次是概念框架的不兼容。中国数学以算法为核心,一切用数值程序表达;伊斯兰数学融合了希腊几何学的证明传统,有命题-证明的结构。两者对"什么算是一个数学结论"的理解就不同,更谈不上翻译交流。

但是,如果把"对话"的标准放宽一点——不要求坐下来面对面讨论,只要求"一方的工作是否影响了另一方的思路"——那么答案就变得模糊了。郭守敬看过七件天文仪器,在他整理坐标系思想时,有没有从球形地球仪的经纬网格上得到任何启发?我们不知道。他写下的仪器说明、算法细节,没有提到伊斯兰来源。但沉默不等于否认。

本章的结论是双重的:蒙元时期既是中国数学史上规模最大的跨文化接触事件,也是一次充分展示了接触而非融合的历史案例。它告诉我们,知识转移比物品转移难得多:一架星盘可以被带走,但背后的球面三角学需要老师和学生,需要共同语言,需要双方都有足够的动机坐下来相互讲解。这些条件在元代宫廷里只是部分具备。于是,中国数学和伊斯兰数学在13世纪有了一次珍贵的相遇——然后各自继续前行,直到17世纪的利玛窦,才有了下一次真正意义上的综合。


Chapter 35: 元末明初的数学整理

元末明初:宋元数学的黄昏

十三世纪,中国数学达到了一个在任何文明中都极为罕见的高峰:秦九韶的大衍求一术,李冶和朱世杰的天元术、四元术,杨辉对前人成就的系统整理——这些成就放在同时代的任何地方,都无可匹敌。然而,数学的高峰往往也是数学传承最脆弱的时刻。

宋元数学的最后一步,是1355年元代数学家丁巨写成的《丁巨算法》。这部8卷本的应用数学著作,仍然保留了来自朱世杰的垛积理论,以歌诀形式给出高阶等差级数求和公式:茭草垛 \(\sum_{k=1}^n k = \frac{n(n+1)}{2}\),三角垛 \(\sum_{k=1}^n \frac{k(k+1)}{2} = \frac{n(n+1)(n+2)}{6}\),四角垛 \(\sum_{k=1}^n k^2 = \frac{n(n+1)(2n+1)}{6}\)——这些公式在朱世杰1303年《四元玉鉴》中已有精彩阐发,丁巨把它们转化为口诀传播,显示宋元数学的代数遗产在元末仍有传人。

但丁巨自己也知道,时代的空气变了。他在序言里写道:“自后时尚浮辞,动言大纲,不计名物……士类以科举故,未暇笃实。“理学盛行,科举竞争,学数学被人嘲笑为"玩物丧志”;丁巨"独余幼贱,不伍时流”,凭着执着的"用心"精神,才写成了这部书。这段自白读来有些悲凉——一个时代的数学家,用"不伍时流"来形容自己对数学的坚持,这说明在那个时代,数学已经不是主流。

《永乐大典》的救赎,是另一个故事。1403年,明成祖朱棣命令编纂一部涵盖"一切古籍"的类书,最终在1407年完成,赐名《永乐大典》,全书22877卷,超过一亿字。其中"算法"类收录了从汉代《九章算术》到元末各家算法的大量数学文献,共36卷。

这个举动意外地保存了许多原本行将消失的数学成就。宋代贾宪的"增乘开方法"和"开方作法本源",正是通过《永乐大典》收录杨辉《详解九章算法》的引文,才流传下来——贾宪的原著早已失传,杨辉的原著也大部分散佚,唯有《永乐大典》的存在,使这条传承链没有彻底断裂。严恭《通源算法》、《锦囊启源》等元末著作,也是仅见于《永乐大典》的数学文献。遗憾的是,《永乐大典》算法类的36卷,今天只剩下2卷,其余已在战火与岁月中湮没。现存的,恰恰是幸存的偶然,而非系统的传承。

严恭《通源算法》(1372年)和无名氏《透帘细草》(元末),代表了宋元数学传统在元明之际的最后余烬。严恭仍然会用秦九韶的大衍求一术解一次同余式,仍然从纯数学角度研究等差级数;《透帘细草》还保留了三角垛问题的高次开方法。但这两部书都没有产生广泛影响,前者依靠《永乐大典》才得以留存只言片语,后者至今只有孤本传世。

历史的吊诡在于:宋元数学的高峰恰恰制造了它自己的衰落。天元术和四元术是极为抽象和系统的代数方法,需要长期专门训练才能掌握;而15世纪新出现的算盘,让一个稍加练习的商人学徒就能完成加减乘除——不需要懂方程,不需要懂开方,只需要记住口诀。问题变了,工具变了,而抽象的理论没有来得及找到新的使用场景。宋元数学的那些成就,在技术加速的时代里,变成了无人问津的遗产。

《河防通议》中的工程数学

沙克什《河防通议》(1321年)是元代水利工程数学的代表作。沙克什是色目人(西域出身的伊斯兰裔官员),书中包含了具体的水利工程计算。

一个典型例题

“今筑堤一段,底宽一丈二尺,顶宽六尺,高八尺,长一百步。每立方尺用工三十分之一,计需工几何?”

先求截面面积(梯形):

\[ A = \frac{(12 + 6)}{2} \times 8 = 9 \times 8 = 72 \text{平方尺} \]

堤的长度:\(100\) 步 \(= 500\) 尺(1步=5尺)

体积:\(V = 72 \times 500 = 36000\) 立方尺

所需工:\(36000 \times \frac{1}{30} = 1200\) 工

这类题目把体积计算与实际劳动定额相结合,是中国古代应用数学中"工程估算"类型的典型。《河防通议》中还有计算不同土质下施工速度差异的公式,以及根据水流速度和截面面积估算工程量的方法。

赵友钦:在井底测量圆周率

沙克什是一位用数学服务于工程的官员,而他的同代人赵友钦(约1271–1335年之间去世)则代表着截然不同的气质:一位隐居山野的道士,一位宋室皇族后裔,一位把数学当成哲学探索工具的学者。

赵友钦是宋汉王的第十二世孙,宋亡后隐遁于浙江龙游的鸡鸣山麓,往来于衡、婺、衢山水之间。他的主要著作《革象新书》是一部天文学著作,讨论日月运行、星象测算,但第五卷"乾象周牌"中插入了一段异常精彩的数学工作——关于圆周率 \(\pi\) 的计算。

当时元朝的《授时历》在计算天文数据时仍然使用 \(\pi = 3\),导致太阳赤经赤纬误差明显。赵友钦对此不满,决定沿刘徽割圆术的路子重新推算。他的做法是:在圆内不断内接更多边的正多边形,直到多边形的周长与圆周之差小到可以忽略。方法与刘徽相同,但赵友钦走得远得多。

他的迭代公式是:设圆的直径为 \(2R\),第 \(n\) 步内接正多边形的边长为 \(c_{2^n}\),则边数翻倍后的边长为:

\[ c_{2^{n+1}} = \sqrt{\left(\frac{c_{2^n}}{2}\right)^2 + \left(R - \sqrt{R^2 - \left(\frac{c_{2^n}}{2}\right)^2}\right)^2} \]

从正方形(4边)出发,每次倍增:8边、16边……一直算到第12次,得到正 \(2^{14} = 16{,}384\) 边形。以直径1000寸的圆计算,正16384边形的周长为3141寸5分9厘2毫有奇,故 \(\pi \approx 3.141592\),精确到小数点后6位。从各步的收敛情况可以看出算法的精度进展:

边数\(\pi\) 近似值
1283.141277…
10243.141588…
40963.141592373…
163843.141592636…

赵友钦据此写道:“以一百一十三乘之,果得三百五十五尺,故言其法精密。"——正16384边形的结果足以验证祖冲之密率 \(355/113 = 3.14159292\ldots\) 确实是一个极好的近似值。

赵友钦关于极限的表述,也值得特别记录。他说:“自第一、二次求之,以至一十二次,可谓极其精密;若节节求之,虽至千万次,其数终不穷。““其初之小方渐加、渐展、渐满、渐实,角数愈多,而其为方者不复为方,而变为圆矣。“这是继刘徽之后,中国数学家关于极限思想最完整的文字表述之一。

然而,赵友钦的计算结果并没有被后人广泛认知。他把结论写在一部天文学著作里,以文字叙述而非十进制小数表达;明代王祎删改时削去了大量细节;清代才从《永乐大典》中重新辑出原本。如果赵友钦当时明确写出 \(\pi \approx 3.1415926\) 这一数字,他的名字今天将与刘徽、祖冲之并列。

赵友钦还有一个值得强调的特质。他把数学计算视为可以重复验证的实验,《革象新书》“小罅光景"篇通过大规模实验研究了针孔成像和照度规律——其结论(照度与光源强度成正比,随距离增加而减少)在欧洲直到1760年代才由兰伯特(J. Lambert)系统表述。这种实验精神,在中国古代数学家中极为罕见。

吴敬 vs. 程大位:两部教材,两种数学

比较吴敬《九章算法比类大全》(1450年)和程大位《算法统宗》(1592年),可以清楚看到明代数学150年间的演变轨迹。

比较维度吴敬(1450年)程大位(1592年)
篇幅11卷17卷
计算工具算盘为主,兼有算筹方法完全算盘,无算筹内容
框架仍以《九章算术》九类为框架打破九章框架,重新分类
数学深度含部分高次方程,保留一些宋元方法的影响完全实用,无高次代数
附录含"算经源流"书目,是中国最早印行的数学文献目录
受众兼顾读书人和商人主要面向商人、学徒、会计
历史影响在国内影响有限,无大规模传播17世纪初传入日本,成为和算的基础文献之一

梅文鼎认为吴敬的数学水平实际上在程大位之上,只是影响力不如《算法统宗》大。这个判断是公平的:吴敬的书里还有用天元术思想处理的问题(虽然已经简化了),而程大位的书基本上是纯粹的珠算应用题集,理论深度已经大幅退步。

顾应祥、唐顺之、周述学:天元术失传的亲历者

如果说吴敬和程大位代表了明代数学的主流走向,那么顾应祥唐顺之周述学三人的经历,则提供了天元术失传这一历史悲剧的最直接证言。他们不是无能之辈,恰恰相反——他们是明代中期最博学的数学家之一,正因为他们都努力尝试过理解天元术却最终失败,这一失败才格外具有说服力。

顾应祥(1483—1565),字惟贤,号箬溪,浙江长兴人,嘉靖年间曾任刑部侍郎。他是明代勾股学的重要人物,撰有《勾股算术》、《测圆算术》、《弧矢算术》、《方程算法》等四部专著。从题目就可以看出,他对《九章》传统的各个分支都有深入研究。最关键的是他1550年(嘉靖二十九年)完成的《测圆海镜分类释术》——这是他试图重新解释李冶《测圆海镜》(1248年)的尝试。然而,他在序言中坦承:“虽径之天元一,反复合之,而无下手之术。"——天元术的符号体系,他来回研读,就是找不到上手的方法。他的解决方案是:把天元术全部删去,用他自己能理解的几何推导重写所有问题。结果,原书赖以立说的核心工具被彻底抽空——留下来的是答案,失去的是方法。

唐顺之(1507—1560),字应德,号荆川,江苏武进人,嘉靖年间与顾应祥几乎同时代。他是王阳明后学,也是当时著名的文学家、军事家,视野极为宽广。数学方面,他撰有《勾股等六论》,并是公认的珠算高手。然而,尽管他接触到了宋元数学的著作,他的数学兴趣始终在实用的勾股测量和珠算技法上,对天元术的符号代数没有任何实质性的介入记录。唐顺之的案例说明:天元术的失传,不是因为明代人不读书、不聪明——唐顺之读书之多,学问之博,在当时无出其右。天元术的失传,是因为它需要一套特定的算筹操作实践和符号直觉,而这套实践随着算筹的消退已经在口耳相传中中断了。

周述学(生卒年不详,活跃于嘉靖年间),撰有《神道大编历宗算会》——这是一部涵盖历法、算学、天文、占验的巨型百科全书式著作,内容庞杂,野心宏大。然而,在这部声称涵括一切数学知识的巨著中,天元术几乎付之阙如。周述学并非不知道有天元术这回事,但他实际上无法把它纳入自己的著作体系——因为他和顾应祥、唐顺之一样,无从掌握这套方法的实际运算技巧。

三人合在一起,构成了一幅极其清晰的历史图景:天元术在明代的失传,不是渐进式的衰退,而是一次实质性的断裂。不是没人尝试,而是尝试了都失败。那把钥匙——用算筹摆弄多项式系数的直觉和手感——已经不复存在。它必须等到乾嘉学派(焦循、李锐、沈钦裴等),从清代重新掘出的《测圆海镜》刻本出发,用考据学的方法,一点一点把那套符号体系的逻辑重新拼凑出来。

明代与伊斯兰数学的持续交流

元代通过回回司天监引入伊斯兰历算的传统,在明初并未立即中断。明太祖洪武年间延续了元代同时维持两套历法的做法——汉式历法(《大统历》,即沿用《授时历》)与回回历法(伊斯兰历法)并行,设置专职官员管理。洪武三十一年(1398年)朝廷才撤销独立的回回司天监,将回回历算官员并入钦天监,“仍世其业,以本国土板历相兼推算”。

伊斯兰传统中流行的土盘算法(在地面或盘上撒灰沙、用细签划写数码进行计算的笔算方法)随回回历法的传播进入中国,被汉族历算家所知晓,并在若干明代著作中留有记载。土盘算法与中国传统的"写算”(用笔在纸或板上书写计算)在操作形式上有相通之处,两种传统之间存在相互影响的可能性。

从更广泛的角度看,明代中国与伊斯兰数学的交流,虽然不如元代集中,却以一种更加分散、民间化的方式持续存在——通过穆斯林商人、历算官员、医药人员的日常往来,以及回回历算知识在钦天监内部的代际传承。这是中国传统数学开放性的一个侧面:即使在朝廷收紧外交联系的时代,知识的流通仍有其自己的渠道。

明初的数学教育政策:昙花一现的制度尝试

《中国数学史大系》第六卷专门梳理了洪武年间数学教育的兴废,称之为中国教育史上"极为少见"的短暂高潮。

明太祖朱元璋立国之初,对实用教育颇为重视。洪武二年(1369年),朝廷规定全国府、州、县学均设礼、乐、射、书、数五科,算学被纳入官方课程体系。次年,洪武三年(1370年),乡试加考骑射、书、算、律"五事”,算学第一次出现在科举考试的正式科目中——这在中国科举史上是极为罕见的一次尝试。

这一政策在二十多年后进一步强化。洪武二十五年(1392年),朱元璋明确下令:“命学校生员,兼习射与书数之法……数习九章之法,务在精通。"《九章算术》在此成为全国官学的法定教材,与习射并列。钦天监专设"书算生”,以数学和天文推算为职业。从政策文本看,这已经是一套相当完整的数学教育制度。

然而,转折来得极为突然。洪武二十六年(1393年),朱元璋因蓝玉案大规模诛杀功臣,波及甚广。书算生在这场政治清洗中几乎全被株连,钦天监书算制度随之瓦解。此后太学取消了书算生编制,算学课程从官学中逐渐边缘化——仅隔一年,一项持续了二十余年的政策就这样戛然而止。

这段历史有几点值得细思。首先,从时间上看,明初算学制度的存续期(1369—1393年,约24年)甚至短于北宋崇宁算学(1104—1106年,约2年)——两者都是"大张旗鼓然后迅速收场”。其次,朱元璋的动机与北宋不同:北宋算学是为了培养技术官僚,洪武算学更多是朱元璋"六艺齐备"的礼制理念的体现,而非对数学本身的真正重视。第三,吴敬(1450年)、程大位(1592年)、王文素(1524年)等明代真正做出数学成就的人,没有一个是官办算学制度的产物——他们都是商人出身,在民间自学成才。这与北宋的贾宪、沈括同样如此:真正的数学进步从来不在朝廷的教育政策里。


王文素《算学宝鉴》:开方法传统的明代延续

王文素的故事(全称《新集通证古今算学宝鉴》,1524年,42卷)在本章前文已有详细介绍。这里补充其数学技术内容中最值得关注的一个面向:增乘开方法的延续

天元术在明代失传了,但开方法的传统并没有完全中断——王文素的《算学宝鉴》是证明这一点的关键文本。书中包含了开高次方的数值解法,其"开方演段法"给出了详细的图草定位范式。他的自序写道:“复增乘除图草定位式样开方演段捷径成术”——这里的"开方演段”,正是贾宪(约1050年)一脉的增乘开方传统的余响。

对比来看:吴敬(1450年)的开方术用"立成释锁法”,本质上与《九章算术》的古法相同,已经退回到了宋代以前的水平。而王文素(1524年)虽然身处明代,却保留了更接近贾宪原法的算法思路,在已知的明代数学文献中是最接近宋元开方传统的。这意味着:从宋元到清代的开方法传承链,并非完全断裂,而是在民间(而非官方算学)以不那么显眼的方式延续着。

清代学者在乾嘉年间重新发掘秦九韶的增乘开方,不是从零出发,而是在一条虽然细弱、却从未完全断裂的脉络中重新找到了那根线。王文素的《算学宝鉴》是这条脉络中可以追溯到的一个节点。

明代数学的地理分布:商业网络的地图

宋元数学的重心在江南三角洲——杭州、苏州是宋代数学家聚集之地,李冶(1248年)在北方的晋陕一带,朱世杰(1303年)则在燕京(今北京)附近游学。而明代数学的地理分布发生了明显转移:

数学家籍贯时代代表作
吴敬浙江杭州(钱塘)1450年《九章算法比类大全》
王文素山西汾州,定居河北饶阳1524年《算学宝鉴》
程大位安徽休宁(徽州)1592年《算法统宗》

这个地图不是偶然的。明代中期,徽商(徽州商帮)控制了长江中下游乃至全国相当部分的商业网络;晋商(山西商帮)则掌握着北方的贸易通道,尤其是边境马市和盐引贸易。吴敬在浙江为地方官府做账,服务的是江南商业圈;王文素随父经商,从山西到河北,是晋商网络的一员;程大位年轻时"游吴楚间”,在经商中积累数学经验,徽商的商业需求驱动了他的著述。

这说明了一个关键事实:明代数学的真正发源地不是朝廷,而是市场。明代最重要的三位数学家,没有一个是官办算学制度的产物(洪武年间的算学在1393年蓝玉案后就实质瓦解了),他们都是商人出身或服务商人,在自学和实践中成为数学家。明代数学的"衰退"与"进步”,在不同维度上同时存在:理论上是退步(天元术失传),应用上是进步(珠算普及、商业数学繁荣)。

吴敬《九章算法比类大全》:“比类"与"诗题"的创新

吴敬的著作结构,对后来的明代数学写作风格产生了深远影响,这一点值得单独说明。

《九章算法比类大全》的每卷结构是:古问(摘自《九章算术》及杨辉等古算书的经典题目)→比类(结合当时实际的应用题)→诗词(用诗歌形式写出题目)。这个三段式结构,尤其是"诗题”,是吴敬的一项创新。

“诗题"形如:

九文买个桃,二文买个梨,一文六个杏,百文买百枚。(粟米章末题)

这是把数学题目写成押韵诗歌的形式——目的是便于记忆和口头传播。在算盘普及的商业环境中,这种形式非常适合在学徒教育中使用:师傅念出诗题,学徒用算盘计算。

这种"诗题"格式,后来成为珠算口诀书的标准形式。程大位的《算法统宗》中大量歌诀,正是延续了吴敬开创的这一传统。在某种意义上,吴敬是明代"数学口诀化"的先驱——他把抽象的算法转化为朗朗上口的歌诀,这是算术民主化的文学形式。

从技术角度,吴敬在首卷中还引入了"写算”(铺地锦法,即方格乘法),这是此前中国数学书中从未出现的算法,可能源自印度或中亚的传播。程大位《算法统宗》后来把这个方法叫"铺地锦",并广泛推广——吴敬是这一算法在中国数学文献中的最早记录者。

明代数学与商业文化:面向商人而非学者

将明代数学(以吴敬、程大位为代表)与宋元数学(以秦九韶、李冶、朱世杰为代表)相比,最根本的差异不在于数学家的才能,而在于服务对象的转变

宋元数学家写作面向接受过专业训练的读者——官员、学者、历算专家。秦九韶的《数书九章》(1247年)解联立同余方程组,需要读者已经熟练掌握算筹操作和基本数论;朱世杰的《四元玉鉴》(1303年)处理四元高次方程组,难度在同时代世界数学中无出其右。这些书的读者圈子极窄。

明代数学家写作面向商人和学徒。程大位的《算法统宗》序言中明确写道,这本书是为那些"日用而不知"的商业计算者服务的。他删去了所有高次代数,保留了算盘操作和实用面积公式。吴敬虽然保留了一定理论深度,但"比类"和"诗题"的格式已经清楚地显示出商业化的面向。

这个转变不是单纯的"衰退",而是数学社会功能的重新定位:从服务于精英学者,转向服务于商业实践。明代商品经济的高度发展,为数学创造了一个新的市场——只是这个市场需要的是计算速度,而不是抽象理论。这是明代数学既"进步"(在应用数学和普及化上)又"退步"(在理论深度上)的根本原因。

沙克什《河防通议》:工程数学的意外传承

1321年,一位名叫沙克什(Shajishi)的色目人——即西域出身的伊斯兰裔元朝官员——完成了一部水利工程著作《河防通议》。这是一部关于黄河治理的官方技术手册,讲的是堤坝建设、河道疏浚、土方计算,看起来和数学史毫无关系。但数学史研究者偏偏高度重视这部书,因为它保留了一些在其他地方已经找不到的数学内容。

为什么一部水利手册会成为数学史的资料?原因很简单:工程不能说谎。修堤需要计算土方,疏浚需要估算工日,建水闸需要核算材料用量——这些计算的对错是有实际后果的,所以工程文献往往比纯数学著作保留了更真实、更接地气的算法。

《河防通议》中有一个典型例题,处理梯形截面土堤的工程量计算:

“今筑堤一段,底宽一丈二尺,顶宽六尺,高八尺,长一百步。每立方尺用工三十分之一,计需工几何?”

先求截面面积(梯形公式):

\[A = \frac{(12 + 6)}{2} \times 8 = 9 \times 8 = 72 \text{(平方尺)}\]

堤的长度:\(100\) 步 \(= 500\) 尺(1步=5尺)

体积:\(V = 72 \times 500 = 36{,}000\) 立方尺

所需工:\(36{,}000 \times \frac{1}{30} = 1{,}200\) 工

但《河防通议》的数学价值不止于此。它还记录了不同土质对施工速度的影响(沙土、泥土、沙石混合土的定额各不相同),以及根据水流速度和截面面积估算工程量的方法。这些内容在传世的算经类文本中几乎见不到,正是因为它们存在于工程档案而非数学著作之中,才得以幸存。

沙克什是色目人,他的数学基础来自伊斯兰传统。他用伊斯兰工程知识(从波斯传入的水利技术)为元朝的黄河治理服务,同时把计算过程用汉文写下来,放进了中国数学传承的脉络——这是一个不经意的文化融合案例:没有人刻意安排,工程的实际需要完成了文化传递的工作。

宋元高级代数的失传:一次实质性的断裂

现在让我们直面这个章节最核心、也最沉重的问题:宋元时代那些了不起的代数成就,是怎么失传的?

先说一下"失传"的规模。天元术(用单变量多项式符号处理方程的方法,李冶1248年《测圆海镜》的核心工具)和四元术(朱世杰1303年《四元玉鉴》发展的多变量方程组求解方法)——这两套工具,到1400年代,在中国几乎已经没有人能真正理解和使用了。顾应祥(1550年)试图注解李冶的著作,最后不得不把天元术的符号全部删去,用他自己能理解的几何推导重写所有问题。这不是学者不够努力——顾应祥是明代中期最博学的数学家之一。这是一次实质性的断裂。

为什么会发生这样的断裂?原因是多重的,每一个单独来看都不足以解释,但叠加在一起就构成了压倒性的力量。

**第一个原因:算筹被算盘替代。**天元术需要在算筹上摆放多项式系数,一根根筹的布局本身就是符号系统的一部分。当算盘在15世纪普及之后,算筹作为日常计算工具的地位急剧下降,随之而来的是使用算筹的直觉和手感也在口耳相传中中断了。天元术的符号体系依赖于算筹布局的直觉——没有了这种直觉,符号就变成了无法解读的密码。这就是为什么顾应祥读李冶的书"反复合之,而无下手之术"——他看到的是符号,但没有了那套身体性的、手艺性的操作知识做基础,符号无从激活。

**第二个原因:算学考试制度被废除。**宋元时代,算学是有专门的官学体系支持的——北宋的算学科举,金代的国子监算学。在这个体系里,天元术类的高级代数是有机会被传授、被考核、被代际传递的。洪武朝虽然短暂恢复了书算教育,但很快因为政治事件(1393年蓝玉案殃及书算生)而中断。没有了制度支撑,高级数学的传承只能依靠个别数学家的私人努力,而这种传承是极为脆弱的。

**第三个原因:刻印中断。**南宋时期刻印的《数书九章》《测圆海镜》《四元玉鉴》等,在元末明初的战乱中大多散佚,没有得到系统的重刻和保存。《永乐大典》虽然收录了大量算书,但它本身只有两部抄本,流通极为有限;而《永乐大典》中算法类的36卷,到清代只剩下2卷,其余在战乱中湮没。

**第四个原因:实用性下降。**宋元时代的高级代数,在当时主要用于解决历法天文计算中的复杂方程——这些问题在元代由郭守敬已经用《授时历》解决得相当彻底。明代初期,在历法精度上没有出现新的需求,驱动高级代数继续发展的应用背景消失了。算盘的普及则为商业计算提供了足够好的工具,不需要方程。

这四个原因叠加,形成了一个"需求消失 + 工具替代 + 制度瓦解 + 文本散佚"的完美风暴,把宋元代数从中国的数学传统中几乎抹去了。

一道题,看宋元与明代的落差

让我们通过一道具体的数学题,感受一下这种落差。

宋代秦九韶(1247年)处理的是这类问题:有三个粮仓,第一仓容量 \(x\) 石,满载;第二仓容量 \(y\) 石,满载;第三仓容量 \(z\) 石,满载。已知 \(x + y\) 是某数,\(y + z\) 是另一数,\(x + z\) 是第三数,另有余粮分配的约束条件涉及一次同余方程组——用大衍求一术解出 \(x, y, z\)。这是联立方程组加中国剩余定理的组合,在13世纪任何地方都算得上顶尖水平。

明代吴敬(1450年)处理的是这类问题:九文买一个桃,二文买一个梨,一文买六个杏,百文买百枚。问:各买几何?

\[9x + 2y + \frac{z}{6} = 100, \quad x + y + z = 100\]

这是一个有整数解的不定方程,需要试验几个值来求解。秦九韶用一行代码就能搞定的问题类型,吴敬在诗题里展示给商人学徒,已经是明代数学教材的高点。

这不是说吴敬笨——他比同代人强多了,梅文鼎明确称他水平在程大位之上。这是两个时代面向不同受众、服务不同目的的数学,碰巧都存在于"明代"这个时间框架里。明代数学的双重性就在这里:在面向精英的理论层面,是断裂和倒退;在面向商人的应用层面,是扩展和普及。两者同时发生,相互并不矛盾。

明代数学与伊斯兰传统的持续暗流

元代通过回回司天监引入伊斯兰历算的传统,在明初并未立即中断。明太祖洪武年间延续了元代同时维持两套历法的做法——汉式历法(《大统历》,即沿用《授时历》)与回回历法并行,设置专职官员管理。洪武三十一年(1398年)朝廷才撤销独立的回回司天监,将回回历算官员并入钦天监,“仍世其业,以本国土板历相兼推算”。

伊斯兰传统中流行的土盘算法(在地面或盘上撒灰沙、用细签划写数码进行计算的笔算方法)随回回历法的传播进入中国,被汉族历算家所知晓,并在若干明代著作中留有记载。土盘算法与中国传统的"写算"在操作形式上有相通之处,两种传统之间存在相互影响的可能性。

从更广泛的角度看,明代中国与伊斯兰数学的交流,虽然不如元代集中,却以一种更加分散、民间化的方式持续存在——通过穆斯林商人、历算官员、医药人员的日常往来,以及回回历算知识在钦天监内部的代际传承。这是中国传统数学开放性的一个侧面:即使在朝廷收紧外交联系的时代,知识的流通仍有其自己的渠道。

王文素《算学宝鉴》:民间百科全书与四百年的沉默

元末明初数学整理的故事,除了那些失传的高峰,还有一个民间自学者孤独编纂的巨著的故事。这个故事的主角是王文素(约1465–1550年活跃),他的著作《新集通证古今算学宝鉴》(1524年)是明代规模最大的数学著作,全书42卷,收录1267道例题,317条口诀,200个算法纲目——比程大位的17卷《算法统宗》整整多出25卷。

王文素是山西汾州人,随父亲经商来到河北饶阳后定居,自学数学三十余年,“手不释卷”。他的治学态度极为严谨:“誤者改之,繁者删之,缺者补之,乱者理之,断者续之”——这是一个真正的校勘学家的态度,而不是实用主义的编者。他系统整理了珠算的飞归法、补数乘法,并保留了接近贾宪一脉的开方演段法——在已知的明代数学文献中,王文素是最接近宋元开方传统的作者。

然而,这部书从未被大规模刻印。王文素年近六十才完稿,有人愿意出资但最终未能实现。书以抄本形式流通,印数极少。此后四百年间,没有藏书家著录,没有学者研究,没有后学引用。直到1934年前后,北京图书馆在旧书店偶然发现了一部蓝格抄本,才重见天日,至今可能是海内孤本。

王文素的故事,是一个关于数学史如何被书写的寓言。我们今天所说的"数学史",在很大程度上是印刷史——留下来的,未必是最好的,而是流传下来的。程大位的书被反复刻印,传入日本,成为和算的基础文献之一;王文素的书只有一份抄本,在北京一家旧书店里等了四百年。如果那家旧书店1934年没有被人光顾,又或者抄本在某次战乱中被付之一炬,我们甚至不会知道王文素这个名字。


Chapter 36: 珠算的普及——程大位与《算法统宗》

王文素与被遗忘的算学百科全书

程大位不是明代唯一一个为珠算写下巨著的人。在他的《算法统宗》问世七十年前,一位来自山西的商人,用三十七年时间,写出了一部比《算法统宗》更大、更严谨、几乎无人知晓的数学巨著。

这个人叫王文素,字尚彬,原籍山西汾州(今山西汾阳)。成化年间(约1465年以后),他随父亲经商来到河北饶阳,此后定居于此。他从小聪慧,“书史诸子百家无不知者”,尤擅算学。成年后弃商从教,把三十余年的时间投入到一件事:把他见过的所有算书全部重新整理一遍,纠正错误,补全缺漏,统一体例,写成一部完整的数学百科全书。

这部书就是**《算学宝鉴》**,全称《新集通证古今算学宝鉴》。1524年(嘉靖三年)定稿,全书 42卷,收录1267道例题,317条口诀,200个算法纲目——这是明代篇幅最大的数学著作,比程大位的17卷《算法统宗》整整多出25卷。

王文素的数学技术贡献是实质性的。他系统整理了飞归(珠算归除的快捷变体),发展了补数乘法(用被乘数的补数代替直接相乘,减少拨珠步数),并对开方演段法给出了详细的图草定位范式。他的自序写道:“复增乘除图草定位式样开方演段捷径成术”——开方演段,正是刘益和贾宪那一脉传统的余响,在王文素这里被整合进了珠算体系。他还对前人算书的错误逐一纠正:“误者改之,繁者删之,阙者补之,乱者理之,断者续之”——这是一个真正的校勘学家的态度,而不仅仅是一个实用主义的编者。

然而,这部书从未被刻印流传。王文素年近六十才完稿,有赞助人愿意出资付刻,但最终不知何故未能实现。书以抄本形式流通,印数极少。此后四百年间,没有藏书家著录,没有学者研究,没有后学引用。直到1934年前后,北京图书馆在旧书店偶然发现了一部蓝格抄本,才重见天日,至今可能是海内孤本。

四百年的沉默,是历史一次令人沮丧的偶然。王文素不是不够好——他的同乡前辈杜瑾(字良玉)在序文中称他"数算中纯粹而精者",“吾辈之弗如也”。他不是不够努力——三十七年,一千多道题,四十二卷。他只是没有运气:没有遇到愿意出资印刷的赞助人,没有生在一个让严肃数学著作广为流传的时代,没有遇到一个像程大位《算法统宗》那样恰好填补了市场需求的机遇窗口。

王文素的故事,是一个关于数学史如何被书写的寓言。我们今天所说的"数学史",在很大程度上是印刷史——留下来的,未必是最好的,而是流传下来的。程大位的书被反复刻印,传入日本,成为和算的基础文献之一;王文素的书只有一份抄本,在北京一家旧书店里等了四百年。如果那家旧书店1934年没有被人光顾,又或者抄本在某次战乱中被付之一炬,我们甚至不会知道王文素这个名字。

一场算术的民主化运动

在宋元代数达到顶峰的同时,另一个技术正在悄悄改变中国社会的底层结构:算盘。

算盘不是一件优雅的数学工具。它无法表示方程的系数,无法做高次方的嵌套运算,无法在上面摆出天元术所需的多项式布局。在这些方面,算盘比算筹倒退了。但算盘做到了算筹永远做不到的一件事:让不经过多年训练的普通人,也能快速可靠地完成乘除法计算。

这是一场算术的民主化。

在算盘出现之前,熟练的计算需要掌握复杂的算筹规则——这意味着长期的专业训练。一个受过训练的算筹专家,代表着一种技术性权力:他能做的事情,不经训练的人做不到。算盘把这种权力稀释了。一个稍加练习的学徒,拿着算盘,在商行的账本前,可以算得和专业书吏一样快,甚至更快。

程大位(1533–1606),安徽休宁人,年轻时经商,走遍江南各地,后来隐居著书,写成**《算法统宗》**(1592年)——中国历史上第一部真正面向大众的数学教科书。全书17卷,内容覆盖日常商业计算的一切场景:土地丈量、粮食换算、利率计算、工程估价。

算盘的形制与读数

现代标准算盘的形制是北宋末年到元代逐渐定型的:上两珠、下五珠,中间横梁,十进位

算盘图:七档,显示数字 1234567;上档(天)每珠值 5,下档(地)每珠值 1,横梁分隔

读数方法:

  • 每一列竖档代表一个数位(个位、十位……)
  • 下档靠近横梁的每颗珠代表1,上档靠近横梁的每颗珠代表5
  • 读取某一档的数:下档靠梁的珠数 + 上档靠梁的珠数 × 5

例题:如何拨出数字7?

下档靠梁2颗(代表 \(2 \times 1 = 2\)),上档靠梁1颗(代表 \(1 \times 5 = 5\)),合计 \(2 + 5 = 7\)。

如何拨出数字9?下档靠梁4颗(4),上档靠梁1颗(5),合计9。

如何拨出数字10?当前位归零,向左进1——即当前档全部离梁,左边一档下珠靠梁加1。

归除口诀:完整体系

归除歌诀是整个珠算体系的灵魂,是专门用于除法的口诀系统。以下给出传统归除口诀的完整版(程大位整理版):

一归(除数为1):

逢一进一十

二归(除数为2):

二一添作五(被除数首位是1,商写5) 逢二进一十

三归(除数为3):

三一三十一(被除数首位是1,商3,余1) 三二六十二(被除数首位是2,商6,余2) 逢三进一十

四归

四一二十二(1÷4:商2,余2) 四二添作五(2÷4=0.5,即添5) 四三七十二(3÷4:商7,余2) 逢四进一十

五归

五一倍作二(1÷5=0.2,即首位乘2) 五二倍作四 五三倍作六 五四倍作八 逢五进一十

六归

六一下加四(1÷6:商1,下格加4) 六二三十二(2÷6:商3,余2) 六三添作五(3÷6=0.5) 六四六十四(4÷6:商6,余4) 六五八十二(5÷6:商8,余2) 逢六进一十

七归

七一下加三(1÷7:商1,余3) 七二下加六(2÷7:商2,余6) 七三四十二(3÷7:商4,余2) 七四五十五(4÷7:商5,余5) 七五七十一(5÷7:商7,余1) 七六八十四(6÷7:商8,余4) 逢七进一十

八归

八一下加二(1÷8:商1,余2) 八二下加四(2÷8:商2,余4) 八三三十六(3÷8:商3,余6) 八四添作五(4÷8=0.5) 八五六十二(5÷8:商6,余2) 八六七十四(6÷8:商7,余4) 八七八十六(7÷8:商8,余6) 逢八进一十

九归

九一下加一(1÷9:商1,余1) 九二下加二……(类推) 逢九进一十

实际演算演示:用归除法计算 \(4557 \div 21\)。

对21做除法,先看首位2,试商 \(\lfloor 45/20 \rfloor = 2\),检验 \(2 \times 21 = 42 \leq 45\),余 \(45 - 42 = 3\),第一位商为2,带下一位变为 \(35\);再 \(\lfloor 35/20 \rfloor = 1\),检验 \(1 \times 21 = 21 \leq 35\),余 \(35 - 21 = 14\);带下一位变为 \(147\);\(\lfloor 147/20 \rfloor = 7\),检验 \(7 \times 21 = 147\),整除,余0。

结果:\(4557 \div 21 = 217\),验证 \(217 \times 21 = 4557\) ✓。

程大位的开平方迭代

程大位在《算法统宗》中描述的珠算开方方法是一种迭代逼近法,实质上是二分法和试商法的结合:

  1. 估算答案的首位数字
  2. 以估算值为基础,每次试商一位,调整并验证
  3. 用"增乘开方"的思路——但在算盘上,只能用加减和试商代替直接的多项式操作

这个方法因为算盘本身的局限性(无法像算筹那样保存多个多项式系数),只能用反复试算来完成,缺乏贾宪算法的系统性,但对实际商业开方已经够用。

《算法统宗》的东亚传播

《算法统宗》17世纪初传入日本,成为江户时代和算的重要来源。日本和算家(如毛利重能、吉田光由等)在此基础上发展出了独特的数学风格,最终在关孝和(约1642–1708)手中产生了行列式理论——比莱布尼茨的同等工作(1693年)略早。

和算随后传入朝鲜和越南,在整个东亚形成了以中国珠算为基础的数学文化圈。这是一个奇妙的历史路径:宋元高峰数学"下降"到明代实用水平(《算法统宗》),然后以这个"降维版"向东亚传播,在日本又重新发展出了新的高度——而那些宋元中国已经失传的成就,在中国清代才被重新发掘。

珠算起源问题:一段众说纷纭的历史

珠算在明代已全面普及,这一点毫无疑问。可是它究竟起源于何时,至今仍是一个争议颇多的问题。

文献证据的下限:目前可见最早的算盘图像,出现在明洪武四年(1371年)印本《魁本对相四言杂字》中,画的是一架10档、梁上2珠、梁下5珠的算盘。这个形制与后来《算法统宗》里的算盘完全一致,说明1371年时算盘的形态已经定型。

宋元时代的间接证据:有研究者指出,宋代张择端《清明上河图》中"赵太丞家"药店柜台上似有一件长方形器物,或许是算盘;但另有学者认为那是放铜钱的"钱板",至今难以确证。更有说服力的是元代陶宗仪《辍耕录》中的比喻:“凡纳婢俾,初来时,曰擂盘珠,言不拨自动;稍久,曰算盘珠,言拨之则动;既久,曰佛顶珠,言终日凝然,虽拨亦不动。“这里的"算盘珠"能被拨动,指的正是珠算盘,说明元代末期算盘已是家喻户晓之物,否则不会拿它来打比方。

宋代算盘的另一佐证:北宋的《数术记遗》(徐岳撰,甄鸾注)中提到"珠算”,记载了"控带四时,经纬三才"的算法,但学界对这里的"珠"是否指算盘珠争议颇大,多数人认为这指的是古代穿绳计数器,而非后来的框式算盘。元代朱世杰《算学启蒙》中某些算题的术文有"依图布算"的说法,被部分学者解读为配合算盘使用的指示,但也有人认为这只是通用的"布算”(摆算子)表述。

从现有证据综合来看,算盘在宋代已存在某种形态,但框式穿档珠算盘的标准形制大约在元代末期至明代初期之间最终定型。明初的普及程度之高,使马欢在1451年写下的《瀛涯胜览》中把它作为"中国有而古里国没有"的特色事物专门提出——“彼之算法,无算盘,只以两手脚并二十指计算”——从侧面印证了算盘已经是14世纪中国商业文明不可或缺的标配工具。

明代早期珠算书:形制演变的文献链

在王文素《算学宝鉴》(1524年)和程大位《算法统宗》(1592年)之间,还有一批更早的珠算专书,构成明代珠算技术演变的文献链:

《指明算法》(夏源泽,正统己未即1439年)是目前可考证最早的珠算专著之一,比吴敬《九章算法比类大全》(1450年)还早11年。原刻本已佚,现存明清间"校正"本。书中描述的算盘形制为梁上二珠、梁下五珠、九档,并配有详细的拨珠说明。书末附"双调西江月"一首,程大位后来在《算法统宗》中将此词稍作改动后录入,称其作者为"先贤"——可见夏源泽在珠算史上有被后人认可的先驱地位。

《盘珠算法》(徐心鲁订正,万历元年即1573年)是另一部早期珠算书,全名《新刊订正家传秘诀盘珠算法士民利用》,内有大量珠算图示,其算盘形制为梁上一珠、梁下五珠——与《指明算法》不同,这一"一五制"算盘正是后来传入日本的标准形制,今日日本算盘依然采用此制。

《一鸿算法》(程大位同时代,约1585年)和**《数学通轨》(柯尚迁,万历六年即1578年)是另外两部流传较窄的珠算书,内容相对浅易,但在归除口诀的具体表述上各有特色,与《盘珠算法》相互影响。《算法指南》**(黄龙吟,1604年)则是嘉靖至万历年间珠算书系列的收尾之作,内容已趋于成熟稳定。

这五部书合在一起,展示了从1439年到1592年约150年间,中国珠算技术在算盘形制(梁上一珠 vs. 二珠)、口诀表述(归除歌诀的不同版本)以及题目类型选择上的持续演进过程。程大位《算法统宗》正是在综合吸收这一系列前辈著作的基础上写成的——他是一个集大成者,而非凭空创造者。

程大位其人:一个徽商的二十年修炼

说了那么多算法细节,我们得先认识一下写下这一切的人。程大位(1533–1606),安徽休宁人,字汝思,号宾渠。他的家乡休宁属于徽州,是明代最重要的商业帮派徽商的发源地。徽商以"贾而好儒"著称——做生意,但不放弃读书;赚钱,但追求书卷气。程大位就是这种文化孕育出来的人物。

年轻时,程大位"游吴楚间"——沿着长江走遍了今天的江苏、湖北、安徽一带,在商旅途中接触到各地的算书和计算传统。这段经历让他意识到:市面上流通的算书,质量良莠不齐,错误比比皆是,初学者根本无从辨别。他开始产生一个想法:写一部真正可靠的、面向商人的数学教科书。

这个想法酝酿了整整二十年。程大位"搜罗资料,参考诸家",翻阅了他能找到的所有算书,做了大量笔记和比较。他不是一个数学天才,但他是一个极为认真的编者——他把同一个问题在不同算书中的不同解法一一对比,找出最简洁、最可靠的,再用他自己精心设计的口诀加以表达。五十岁那年,他功成身退,回到休宁老家,专心写书,三年后(1592年)完成了《直指算法统宗》,俗称《算法统宗》。

这部书共17卷,595个问题,涵盖日常商业计算的方方面面:田亩丈量、粮食换算、利率计算、工程估价、税收折算、各地货币兑换……每一个问题都有明确的应用背景,每一套算法都配有能上口的歌诀。书中还有一个独特的附录:“算经源流”,这是中国历史上第一部印刷出版的数学文献目录,列出了从汉代到明代的数学著作,带有程大位自己的评注——这份目录至今仍是数学史研究的重要资料。

《算法统宗》的商业计算:一个典型例题

让我们看一道《算法统宗》里的实际商业例题,感受一下它的风格:

原题:“今有丝一百二十斤,每斤价银一两二钱。问:该银多少?”

这是一道最基础的乘法题,但程大位的表述方式值得关注:他给出的"法曰"是珠算口诀,不是数学公式。用现代符号表达就是:

\[120 \times 1.2 = 144 \text{(两)}\]

但在《算法统宗》里,这道题的"法"是一套拨珠步骤:先把120置于算盘,逐位乘以1.2,利用"留头乘"或"身前乘"的口诀,一步步得出结果。重要的不是公式,而是手上的动作序列。

再看一道复杂一点的:“今有茶叶一千三百二十斤,每百斤价银九两四钱。问:该银多少?”

\[\frac{1320 \times 9.4}{100} = \frac{12408}{100} = 124.08 \text{(两)}\]

这类"每百斤价若干"的题型,需要在计算完成后把小数点左移两位——在算盘上这意味着"退两位"。程大位给出了这类定位问题的系统口诀,使初学者能机械地执行而不必理解小数点的数学本质。这是一种非常实用的技术传授方式,但也意味着:学会了这套口诀的商人学徒,知道"怎么做",但不一定明白"为什么"。

飞归:除法的快捷通道

前面介绍了标准归除口诀。程大位在《算法统宗》中还系统整理了飞归(fēi-guī)——一种加速除法的技巧,在王文素《算学宝鉴》(1524年)中已有详细阐述。

飞归的原理是:把多位除数分解成单位因子,通过连续的单位除法代替一次多位除法。例如,除以35可以先除以5,再除以7(因为 \(35 = 5 \times 7\));除以72可以先除以8,再除以9(因为 \(72 = 8 \times 9\))。每次单位除法都可以用九归口诀快速完成,两次单位除法加起来往往比直接的多位归除更快。

王文素在《算学宝鉴》中给出了飞归除法的歌诀总纲:

“头位须当用归歌,次位还将除剪挪。 有减之时即须减,不及减者借身过。 本数不满飞作九,不言十数隔位蹉。 大小算法皆如此,览尽诸径捷要多。”

这套歌诀的意思是:第一位用标准归法,第二位则用"除剪"(减法修正),如果不够减就从前一位借位。这是一套在算盘上完成多位除法的快捷路径,熟练之后确实比标准归除更快——但需要更多练习和记忆量。

算盘如何替代了算筹:一场无声的技术革命

算盘和算筹之间的替代,是中国数学史上最彻底、也最静悄悄的一次技术革命。没有宣言,没有辩论,没有官方决定——只是在15–16世纪的一两百年里,算筹从商行的账桌上逐渐消失,算盘取而代之。

算筹比算盘好在哪里?理论上,好很多。算筹可以在平面上任意布局,支持二维的符号系统——天元术的多项式系数就是利用这种二维布局来表示的。算筹可以表示负数(纵横交错的布置规则),可以保存多行中间结果。从信息密度的角度看,算筹比算盘强多了。

算盘比算筹好在哪里?实用。它固定在框架里,不会被撞翻,不会被风吹乱;它的拨珠动作比摆放算筹快,训练成本低;它的结构简单,维护方便,价格低廉;最重要的是,它的归除口诀系统极易学习——一个聪明的学徒练习三个月,就能在算盘上完成账房需要的所有计算。算筹的熟练使用需要数年专门训练。

这就是技术替代的逻辑:好用的工具替代好的工具。算筹是更好的数学工具,算盘是更好用的计算工具。在一个数学理论需求下降、商业计算需求上升的时代,好用的那个赢了。

当算筹消退,失去的不只是一件计算工具,而是整套依托算筹操作的数学直觉——天元术的代数符号直觉,增乘开方法的系数排布直觉,大衍求一术的辗转相除手感。这些东西没办法用文字完全传达,它们嵌在手上,嵌在实际操作的身体记忆里。算盘取代了算筹,这些身体记忆也就随之消散了。

算盘东传日本:设计如何在旅途中变化

《算法统宗》在1592年出版后,很快在国内被反复翻刻,传遍全国。而在17世纪初,它传入了日本,成为江户时代和算的重要启发来源。

但有一件事情需要注意:传入日本的算盘,形制和中国原版不同。

中国标准算盘:梁上2珠,梁下5珠,十六档(明清通行设计)。这套设计可以表示0到15之间的所有整数,为十六进制换算(1斤=16两)提供了便利。

日本算盘(そろばん,soroban):梁上1珠,梁下4珠。这是更简洁的设计——上珠少一颗,下珠少一颗,但依然能表示0到9的所有数字,完全满足十进制计算的需求。

为什么日本人简化了算盘?原因很实际:减少珠子,减少重量,减少拨珠时的错误。梁上2颗珠在快速计算时容易误拨为2,产生错误;1颗珠就不存在这个歧义。梁下5颗珠只有在十六进制换算时才需要第5颗(用来表示15中的5),对于纯十进制计算,4颗下珠完全够用。日本人接受了中国的技术,然后把它改得更适合自己的需要。

这种改造是1600年代逐渐完成的,最终形成了日本算盘的标准形制。今天世界上最快的算盘高手——在日本珠算竞赛里展示惊人速度的选手——用的就是这种更简洁的1-4设计。

和算与关孝和:从中国算盘到行列式的一步跨越

《算法统宗》传入日本之后,激发的学术运动远超程大位的想象。日本和算家——毛利重能、吉田光由、关孝和等人——在中国珠算的基础上,发展出了完全独立的日本数学传统,并在某些方面超越了同时代的中国数学。

最令人瞩目的是关孝和(约1642–1708)的成就。他在1683年发表的《解伏题之法》中,提出了一种用来处理方程组的"傍书法"——本质上是一套符号化的行列式展开方法。这个方法在概念上等价于今天线性代数中的行列式理论,其发表时间(1683年)早于莱布尼茨关于行列式的工作(1693年),也早于克拉默法则(1750年)。

这个成就的源头,说来令人惊叹:从中国宋元时代的高次代数(天元术、四元术)到《算法统宗》的珠算普及,再到江户时代的日本和算,再到关孝和的行列式——是一条曲折的传承线索,其中充满了失传、重建和意外的飞跃。中国在自己的土地上失传的高级代数传统,以一种奇特的方式在日本重新萌芽并开花。

珠算的社会学:谁在用算盘,谁不在用

算盘的普及是一件有明确社会学意义的事情。在宋代,精通算筹意味着专业技术人员的身份——历法官员、官府书吏、测量工匠。这是一种技术性权力,有资质门槛的。

算盘的普及打破了这个门槛。明代中期之后,算盘是每个开店商人、每个账房先生、每个牙行中人必备的工具——不是专业人员的专利,而是商业从业者的通用技能。程大位在《算法统宗》序言里明确说,他写这本书是为了"日用而不知"的普通商业计算者服务的。

这是一种知识的民主化。但民主化有代价:当算盘让人人都能快速完成乘除法,对"为什么"的追问就失去了驱动力。一个能用算盘在三秒内完成四位数乘法的学徒,不需要理解乘法交换律,不需要知道什么是多项式,只需要记住口诀、练习手速。宋元代数的那些深度思考——如何用抽象符号表示一般性的数量关系——在这个新的实用主义语境里找不到受众。

明代数学的"衰退"和"进步",就这样在同一块历史土地上同时发生:高峰失落,基础普及。算盘是这个矛盾的象征——它既是最伟大的普及工具,也是最有力的窄化因素。



Chapter 37: 朱载堉与十二平均律——开12次方的数学

一架钢琴里的数学谎言

弹一架调好的钢琴,从任意一个C开始,一路向上叠加"完全五度"——C、G、D、A、E……叠加12次之后,你理论上应该回到起点C,只是高了7个八度。

但实际上,你不会准确地回到起点。差了一个微小但清晰可闻的音程,叫做毕达哥拉斯音差(Pythagorean comma),约23音分。原因是:

\[ \left(\frac{3}{2}\right)^{12} = \frac{531441}{262144} \approx 2.02730 \]

而纯八度应该是 \(2.00000\)。用音分换算:

\[ \text{误差} = 1200 \times \log_2\!\left(\frac{531441}{524288}\right) \approx 23.46 \text{ 音分} \]

人耳的感知阈值约5音分,23音分是可以被明显听到的"跑调"。每一个使用十二音音乐体系的文明,从古希腊到中国先秦,都在这个问题上撞了南墙。这个问题困扰了全球音乐理论家两千多年。

解决这个问题的人,不是西方的音乐大师,也不是任何一位著名的数学家。是一个明朝王爷,在一间茅屋里,用一架特制的大算盘。

皇族数学家的独特追问

朱载堉(1536–1611)的一生,是一个关于选择的故事。

他出生时,继承郑藩王位是板上钉钉的命运。但1550年,父亲朱厚烷因上疏批评嘉靖皇帝的政策,被削去爵位投入监狱。朱载堉时年15岁。他没有选择去运作政治,没有选择卧薪尝胆等候复仇的时机——他选择了在父亲关押的凤阳附近,搭了一间土屋,独居19年,专心研究。研究什么?数学、音乐理论、历法。

父亲平反后,朱载堉本可继承王位。他拒绝了,把王位让给了堂兄弟,继续研究,直到写出了改变音乐史的著作。

这个选择值得细想:一个可以成为王公的人,选择了做一个在茅屋里算数的学者。他给了音乐史一个没有任何国王能给的礼物。

为什么三分损益律不能旋宫转调

中国传统音乐理论的三分损益律(五度相生律)是这样生成十二律的:从黄钟(基准音)出发,每次乘以 \(\frac{3}{2}\)(上五度),经过12步后理论上应该回到高八度的黄钟——但实际上,就是上面那个问题:差了23音分。

实际后果:用三分损益律调音的乐器,在某些调性下演奏完全没有问题,但若要换调(“旋宫转调”)——比如从C调转到F调——某些音程就会严重走音,无法使用。这就是中国传统音乐"可一调演奏,难旋宫转调"的根本原因。从先秦一直争论到明代,无人真正解决。

朱载堉的数学解决:12次方根

朱载堉在《律学新说》(约1584年完成,1606年正式出版)中提出了新法密率,即今天所说的十二平均律(equal temperament):

核心思想:把一个八度等分为12个半音,使相邻两个半音的频率比完全相等,记为 \(q\)。则:

\[ q^{12} = 2 \implies q = 2^{1/12} \approx 1.05946309\ldots \]

十二平均律频率图:$f_k = f_0 \cdot 2^{k/12}$(红曲线),各半音频率比(蓝点),红点为八度点($k=0,12$);横轴为半音序号,下方标注音名

十二个半音的频率比依次是:

律名与基音的频率比数值(近似)
黄钟(C)\(2^{0/12} = 1\)1.0000
大吕(C#)\(2^{1/12}\)1.0595
太簇(D)\(2^{2/12}\)1.1225
夹钟(D#)\(2^{3/12}\)1.1892
姑洗(E)\(2^{4/12}\)1.2599
中吕(F)\(2^{5/12}\)1.3348
蕤宾(F#)\(2^{6/12}\)1.4142
林钟(G)\(2^{7/12}\)1.4983
夷则(G#)\(2^{8/12}\)1.5874
南吕(A)\(2^{9/12}\)1.6818
无射(A#)\(2^{10/12}\)1.7818
应钟(B)\(2^{11/12}\)1.8877
清黄钟(C’)\(2^{12/12} = 2\)2.0000

注意 \(2^{6/12} = \sqrt{2} \approx 1.4142\),这是增四度(tritone),恰好是八度的平方根——在十二平均律中,这是唯一一个等于有理数算术平方根的音程。

朱载堉如何计算 \(2^{1/12}\)

这是一个真正困难的计算问题。朱载堉声称把结果精确到了25位有效数字。在1584年,没有任何计算工具能自动给出这个精度。他是怎么做到的?

方法:利用重复开平方(iterative square root extraction)。

据现代研究者(如 Kenneth Robinson 1980年的分析),朱载堉实际使用的计算策略,是先用一个特制的81位大算盘,通过9次连续开平方提取 \(2^{1/512}\),然后把若干这样的因子相乘来逼近 \(2^{1/12}\)。关键关系是:

\[ 2^{1/12} \approx \left(2^{1/512}\right)^{43} \times \text{(微小修正)} \]

朱载堉自述:“凡学开方,须造大算盘,长九九八十一位,共五百六十七子,方可算也。不然,只用寻常算盘,四五个接在一处算之,亦无不可也。"——他清楚地说明了需要特制工具,而且是为了保留足够多的有效数字。

现代精确值:\(2^{1/12} = 1.05946309435929526455785232\ldots\)

朱载堉给出的值,其中至少前10位完全正确。这在16世纪是惊人的成就。

毕达哥拉斯音差的消除

十二平均律中,完全五度的频率比是 \(2^{7/12} \approx 1.4983\)。

而纯五度应该是 \(\frac{3}{2} = 1.5000\),误差约0.11%。用音分表示:纯五度 \(\approx 701.96\) 音分;平均律五度 \(= 700\) 音分;误差约2音分——远低于人耳5音分的感知阈值。

这是一个精妙的工程妥协:把毕达哥拉斯音差的23音分平摊到12个五度中,每个五度牺牲约2音分,换取可以任意旋宫转调的灵活性。最小的代价,换来了最大的自由。

与西方的独立发现

荷兰数学家Simon Stevin(1548–1620)在1585年前后也独立提出了十二平均律的数学设想,但他没有给出精确到多位小数的数值。法国数学家Marin Mersenne(1588–1648)在1636–1637年更系统地讨论了这个问题。

朱载堉(约1584年完成计算,1606年出版)和 Stevin(约1585年)几乎同时独立提出了同样的解决方案,相差不超过一年。这是科学史上少见的"平行发现"案例之一——同一时代的不同文明,面对同一个物理问题,独立地发展出了同样的数学解决方案。

但朱载堉的工作有两个特别之处:其一,他的计算精度远超 Stevin;其二,他有明确的实用动机——不仅仅是理论推导,而是要真正制造出合适的律管,并把每律的管长精确算出来。他的著作包含了一整套从数学到实际律管长度的完整计算表,是可以直接用于乐器制造的工程文件。

历史意义:朱载堉的十二平均律是中国古代数学对人类文明最直接、也最无声的贡献之一。今天,十二平均律是全球现代音乐的基础——钢琴的调音、吉他的品格位置、电子合成器的音阶,全部基于朱载堉在16世纪计算出的那个数:

\[ q = 2^{1/12} \approx 1.05946309435929526455785232\ldots \]

这个数字,每当我们弹下钢琴的某个键,都在悄悄地计算着。

邢云路:明代历法批评家与招差术的整理者

与朱载堉同时的邢云路(字士登,安肃今河北徐水人,万历庚辰即1580年进士,官至陕西按察司副使),是明代后期另一位值得关注的数学应用者。他的主业是历法批评与考证,所著**《古今律历考》**七十二卷,对历史上各部历法作了大量辨证分析,其中对《授时历》的研究尤为深入。

邢云路在研究《授时历》时引述了王恂的招差术,并在此基础上提出了"又法,新立"的改进版本。王恂在《授时历》中把三次招差降阶为二次差来计算,而邢云路则选择直接使用三次差,并给出了完整的三阶差分表和求定差、平差、立差的计算步骤。他对"推盈初缩末定差平差立差"的算法作了如下操作:把冬至到秋分(或春分)共88日92刻平分为6段,每段约14日82刻,测得各段的积差,从而建立三阶差分表,再用逐级差分向前推算各时刻的太阳位置。

这个方法实质上比《授时历》原法更直接,但也更复杂——需要处理三阶差分,对计算者的要求更高。邢云路的贡献在于:他把元代招差术的核心思想从天文院所的内部文件中提取出来,用更清晰的算法语言重新表述,并收入一部广泛流传的著述,使明代乃至清代学者能够通过他的书了解《授时历》的数学机制。清代学者研究招差术时,邢云路的《古今律历考》是重要的参考来源之一。


尾声:宋元明数学的历史轨迹

回顾这两编的内容,可以看到一条清晰的弧线。

宋代的商业繁荣催生了对算法的需求,推动了贾宪、沈括、秦九韶的工作。金元的文化交汇——天元术的形成、蒙古西征带来的东西交流——进一步丰富了数学资源。元代的朱世杰把一切推到顶点。

然后,随着明代政治重心的转移、珠算对算筹的取代、科举制度对抽象思维的压制,宋元代数的精华渐渐失传。直到清代,乾嘉学派的学者才重新在故纸堆中找回这段失落的遗产,而此时欧洲数学已经翻天覆地。

但我们不应只看到遗憾。贾宪的增乘开方法、秦九韶的大衍求一术、朱世杰的差分公式、朱载堉的十二平均律——这些成就,放到任何时代的任何文明中,都值得骄傲。

而那个最耐人寻味的对称,也许是这一个:宋元数学的失落,和朱载堉的平均律的发明,发生在同一个朝代——明朝。同一个时代,可以让天才的数学遗产沉入黑暗,也可以让一个放弃王位的王子,在茅屋里解决一个困扰了两千年的音乐问题。

历史从来不是单调的。

十二平均律的数学推导:从比例到无理数

朱载堉(1536–1610)在《律学新说》(1584年)和《律吕精义》(1596年)中给出的十二平均律,核心是以下的数学构造:

从一根特定长度的弦出发,把它分成12个相等的音程(半音),使得每个音程的频率比(或者等价地,弦长比)是固定的公比 \(r\),且12个音程恰好构成一个完整的八度(即频率加倍)。因此 \(r\) 满足:

\[ r^{12} = 2 \]

即 \(r = 2^{1/12} = \sqrt[12]{2}\)。

朱载堉用算盘(实际上是珠算)计算了 \(\sqrt[12]{2}\) 的25位精度近似值。他的计算步骤是:先开平方(得 \(2^{1/2}\)),再开平方(得 \(2^{1/4}\)),再开平方(得 \(2^{1/8}\)),然后再开立方(得 \(2^{1/24}\));最后把 \(2^{1/12} = (2^{1/24})^2\) 算出来。这一计算策略把12次方根分解为若干次2次方根和1次3次方根的复合,充分利用了算盘开方的技巧。

他最终给出的结果,对应的十二个音律长度(以黄钟长81寸为基准)依次为:

律名弦长(寸,约数)
黄钟81.000
大吕76.431
太簇72.134
夹钟68.092
姑洗64.287
仲吕60.702
蕤宾57.321
林钟54.132
夷则51.120
南吕48.271
无射45.576
应钟43.026
清黄钟40.500

注意最后一行"清黄钟"是"黄钟"的一半(\(81 \div 2 = 40.5\)),正好完成了八度周期。这一自洽性是朱载堉数学推导正确的最直接验证。

为什么中国领先了一百年

十二平均律在欧洲独立被提出,要等到1636年梅森(Marin Mersenne)的《和谐通论》(Harmonie Universelle)。梅森给出了正确的频率比 \(2^{1/12}\),但他的数学推导不如朱载堉完整,且没有给出相应的数值计算。朱载堉的《律学新说》比梅森早了整整52年。

值得注意的是,两者之间几乎可以确定没有知识上的传递。16至17世纪初,耶稣会传教士还未开始系统地把中国科学知识带回欧洲;而欧洲的音律讨论文献(斯卡利杰、莫罗里科等人的著作)也没有任何关于中国音律计算的记载。朱载堉和梅森是在两个完全独立的文化脉络中,各自面对同一个数学问题,并各自找到了正确的答案。

这种独立的平行发现,在数学史上不算罕见(独立发现微积分的牛顿和莱布尼茨是最著名的例子),但朱载堉的案例特别值得强调,因为它出现在一个西方读者通常不会联想到数学创新的领域——音乐理论。正是在这里,中国数学家用算盘和珠算技术,抢先欧洲半个世纪,给出了一个现代钢琴调律的数学基础。

Part VII: 西学东渐 — 明末清初

1583年,一个三十一岁的意大利人踏上了广东的土地,由此开启了思想史上最漫长、也最奇特的一场布局。他叫利玛窦。在来中国的航途上,他自学了中文,背诵了儒家经典,把欧洲神父的长袍换成了中国文人的丝绸长袍。行囊里装着克拉维斯注释版欧几里得《几何原本》、一台测量太阳高度角的仪器、一块能把白光散成彩虹的玻璃三棱镜——还有一个在当时颇为大胆的想法:数学,可以打开一个文明的大门。

他是对的。但他用了后半生,才真正看清这把钥匙是怎样转动的。


Chapter 38: 耶稣会的到来 — 利玛窦、徐光启与西方数学的登陆

谁来了,什么时候来,带来了什么

西方数学进入中国,不是一个人的故事,而是一场历时近一百五十年的接力赛。每一棒的传递,都沿着一条从罗马的罗马学院延伸至清朝钦天监的漫长链条展开。下表梳理了这一过程中的关键人物——包括从未踏上中国土地的克拉维乌斯:他是利玛窦的老师,也是利玛窦行囊中那部拉丁文《几何原本》的编订者,他的身影笼罩着整个事业的始终。

传教士汉名在华年份主要数学贡献
Christopher Clavius克拉维斯未来华(1537–1612,罗马)注释出版欧几里得《几何原本》拉丁本;利玛窦之师;《实用算术概论》是《同文算指》底本
Matteo Ricci利玛窦1583–1610与徐光启合译《几何原本》前六卷(1607);引入地球仪、浑仪等仪器;确立以数学为传教工具的策略
Johann Terrenz Schreck邓玉函1621–1630参与编撰《崇祯历书》;引入伽利略式望远镜;翻译《奇器图说》(机械学)
Johann Adam Schall von Bell汤若望1622–1666主持编撰《崇祯历书》(137卷,1634);清顺治年间任钦天监监正;将历书改编为《西洋新法历书》进呈清廷
Ferdinand Verbiest南怀仁1659–1688为康熙帝讲授几何和天文;重铸北京观象台仪器六件;著《灵台仪象志》
Jean-François Gerbillon张诚1688–1707以法文-满文教康熙帝几何和算术;参与中俄《尼布楚条约》谈判
Joachim Bouvet白晋1688–1730与张诚同为康熙数学教师;著《康熙帝传》,描述皇帝学习数学的细节
Pierre Jartoux杜德美1701–1720带入三个无穷级数公式(正弦、反正弦、正矢的展开式),引发明安图四十年的证明工作

这张表格的背后,有一套绝非偶然的逻辑。耶稣会士并不是各自出于一时兴趣、陆续漂流到中国的。他们是一项深思熟虑的战略的产物——而这项战略,正是利玛窦一手设计的。

利玛窦的数学观:数学是最好的敲门砖

利玛窦1552年生于意大利小山城马切拉塔。十六岁进入罗马学院,在克里斯托弗·克拉维斯门下学习数学。克拉维斯算不上原创数学家,但在当时可能是欧洲最出色的数学教师。他编订了欧几里得《几何原本》的权威拉丁文版,写了十几本算术、天文和几何教材,培养了整整一代耶稣会学者。利玛窦从他身上吸收的,不只是数学技艺,更是一种信念:数学是唯一一门能够跨越文化隔阂、赢得不同民族尊重的语言。

1583年,在经历了五年印度、一年澳门的辗转之后,利玛窦终于踏入中国内地。他很快看清了这个社会的运行逻辑:中国由一批背诵儒家经典、通过严苛科举的文人精英所治理。要被这些人接受,你必须被他们认可为博学之士。利玛窦决定,数学将是他的敲门砖。

他的策略分三步展开,环环相扣,如同一道几何证明题,优雅而严密。

第一步是献上仪器。他把一只展示世界各大洲的地球仪、一台用影子报时的日晷、一架测绘星空的星盘,带进了肇庆知府的大堂。这些东西在中国没有完全对应的等价物。广东巡抚陈瑞好奇心大起,接见了他——这是利玛窦在中国叩开的第一扇门,而他用来敲门的,是一件器物。

第二步是那幅地图。利玛窦绘制了一幅世界地图,把中国置于中央,既迎合了中国人以本国为天下中心的心理,同时也展示了欧洲地理知识的精确程度。这幅地图在士大夫阶层迅速流传,被人临摹,被人争议。那些从未见过利玛窦本人的人,也在谈论他的地图。他让自己在不在场的情况下,就已声名远播。

第三步是预测日食。这一步最终最为关键,详情留待第40章再叙。但它从一开始就在利玛窦的算盘之中:欧洲天文学对天象的预测精度,是中国官方天文学无法比拟的。如果你能公开证明这一点,你赢得的就不是一幅地图或一个地球仪能买到的东西——而是被朝廷认真对待的资格。

他在写给罗马上级的信中,坦率得近乎天真:“凭学问我们捕获人心;一旦捕获人心,信仰自然随之而来。” 数学是钥匙,它打开的那扇门,是中国。

徐光启的回应:他看到了什么

在见到利玛窦之前,徐光启(1562—1633)就已经在中国数学的核心地带发现了一个令他困惑的问题。他读过经典文本,理解《九章算术》,能够跟着开方、量田、算粮仓容积的算法一步步走下去。但有一个问题始终萦绕着他,而那些书里却没有人想到要问:这些算法,凭什么是对的?

翻开《九章算术》里的开方章节,或者它对勾股定理的表述——“勾股各自乘,并而开方除之,即弦”——算法无误,每一道题都能验证。然而书中从不解释,为什么这个程序会给出正确答案。它把工具递给你,却不让你看见机关在哪里。你拿到了钥匙,却看不见那把锁。

大约在1606年前后,徐光启在北京与利玛窦进行了多次长谈,争议讨论,最终读到了欧几里得的《几何原本》。他遭遇了一本完全不同的书。这本书从定义和公设出发——初看平淡无奇,几近显而易见——然后一步一步、毫不妥协地推导出那些绝非显而易见的结论:任意三角形的内角和等于两直角,直角三角形斜边上的正方形等于两直角边上的正方形之和——有证明,不是断言,是证明。

这次相遇的震撼,在他心里从未真正散去。他和利玛窦译完前六卷之后,写下了四个字评价《几何原本》,此后被人一再引用:

“此书有四不必:不必疑,不必揣,不必试,不必改。”

“This book has four no-needs: no need to doubt, no need to guess, no need to test, no need to revise.”

不必疑,因为有逻辑证明;不必揣,因为每一条原理都摊开在你面前;不必试,因为逻辑本身就是确定性;不必改,因为一个已经被证明的定理,不可能有例外。

这四个字,藏着一场文明级别的碰撞,只是被压缩进了极小的体积里。中国数学的信念是:算法在每道题上都管用,这就是知识。 欧几里得数学的信念是:只有从第一原理出发、能够推导出来的东西,才算是你真正知道的东西。 这不是对同一个问题给出的不同答案——它们根本就是两个不同的问题。

中国算法 vs. 希腊证明:两种数学哲学

这个对比值得说得清楚一些,因为此后两个世纪里发生的一切,都悬挂在这个轴上。

中国数学的权威建立在程序之上。知识是程序性的——它活在算法里,活在那套产出正确答案的步骤里。《九章算术》不是按定理组织的,而是按问题和方法组织的:这是情境,这是做法,这是答案。刘徽在公元263年加入了几何论证,但那些论证起的是解释作用,而不是基础作用。正确性靠结果验证,而不是靠从公设出发的逻辑推导。中国数学的天才在于算法设计:比高斯早一千年的消元法,比霍纳早几百年的多项式求根方法,超前于牛顿的级数近似。但所有这些成就,都没有问过那个问题:这个方法,原理上为什么是对的?

希腊数学的权威建立在证明之上。知识是命题性的——它活在定理及其论证之中。欧几里得《几何原本》的起点不是问题,而是定义和公设,因为整座大厦需要一块扎实的地基。每一个结论都是推导出来的,每一步都点名了它的依据。这个传统最伟大的成就不是计算——希腊人对数值计算其实并不特别感兴趣——而是发明了一种建立数学真理的方法,使它无法被任何反例所动摇。

这是两种不同的文明选择,没有高下之分。1607年,当它们在北京相遇时,激起的思想火花,十里之外都能看见。但摩擦产生的热量,和光芒一样多。中国花了将近一个半世纪,才慢慢想清楚,该拿利玛窦行囊里带来的那样东西,到底怎么办。


利玛窦的数学教育:克拉维乌斯门下的训练

克里斯托弗·克拉维乌斯(Christopher Clavius,1537–1612)并不是一位原创数学家,但他可能是16世纪欧洲最重要的数学教育家。他执教于罗马学院(Collegio Romano)长达半个世纪,编订了欧几里得《几何原本》的权威拉丁注释本(共15卷,1574年初版,此后多次再版),写作了覆盖算术、代数、天文、历法的系列教材,并主持了1582年格里历改革的数学论证工作——正是他计算出了每400年需要减去3个闰年、才能使历法与回归年精确对应的规则。

利玛窦在罗马学院接受的数学教育,主要包括:

  • 欧几里得几何:以克拉维乌斯注释本为教材,从定义、公理、公设出发,系统学习平面几何和立体几何的证明方法
  • 实用算术:克拉维乌斯的《实用算术概论》(Epitome Arithmeticae Practicae,1585)是教材,涵盖整数运算、分数、比例和商业计算
  • 球面天文学:包括球面三角的基本定理及其在天文计算中的应用
  • 日晷与天文仪器:克拉维乌斯专门写有日晷制作与使用的系列著作(《日晷八卷》,1581)

利玛窦在1583年踏上中国内地时行囊中所带的,除了宗教书籍外,主要是克拉维乌斯的著作:《几何原本》注释本、《实用算术概论》、以及若干天文仪器(浑仪、日晷、星盘)。这些工具后来成为他敲开中国士大夫大门的关键。

利玛窦与徐光启的初遇

徐光启(1562–1633)第一次见到利玛窦,是在1596年的南京——那年徐光启35岁,还是一名尚未成名的举人,正在广东韶州教书后北返途中。那次会面并不深入,更像是彼此登门拜访的礼节性接触。

真正改变了两人关系的,是1604年之后。徐光启那年中进士,进入翰林院,北京成了他的长期居所,而利玛窦1601年已定居北京,在皇城南门外的南堂建立了北京第一所教堂。两人从此有了频繁接触的条件。

约在1605至1606年间,徐光启读到了利玛窦携来的《几何原本》拉丁文本(克拉维乌斯注释版),并请利玛窦为他讲解。这个过程——即使隔着翻译的语言障碍——揭示了两种数学传统的根本分歧。徐光启接受过系统的中国算学教育,熟悉《九章算术》的各类算法,能够通过《测圆海镜》中的天元术处理代数方程。他精于"算”(计算),却从未学过"证"(逻辑演绎)。欧几里得提供的,正是他的传统中缺失的那一半。

翻译过程:口授笔受

1606年末至1607年春,利玛窦与徐光启合作翻译《几何原本》前六卷。他们的工作方式,徐光启在序言中称之为"口授笔受"——利玛窦读克拉维乌斯拉丁注释本,在脑中过意大利语,再转换为他磨练了二十余年的汉语官话,口头说给徐光启;徐光启听后落笔,整理为文言文书面语。

每一次对坐,大约都经历三道转换:拉丁文意义 → 利玛窦的汉语官话理解 → 徐光启的文言书写。每一道转换都可能引入变形,也可能产生增益——利玛窦提供了克拉维乌斯的注释解释,徐光启带来了中国数学传统的问题眼光。

翻译的主要障碍不在语言,而在概念和结构。欧几里得体系需要四类元概念:定义(definition,界说),公理(axiom,公论),公设(postulate,求作),命题(proposition,题)。这四类在中国数学文本中根本没有现成的对应词,因为中国数学从未建立过类似的元层次架构。徐光启必须一边理解这些概念的内涵,一边发明表达它们的汉语词汇。

六个月,六卷,每卷约二十至四十个命题。速度不慢,但也没有快到草率——从保存下来的译文质量看,两位译者对每一个命题都花了相当心力。

为什么只译前六卷?

《几何原本》共十五卷(克拉维乌斯版),1607年只翻译了前六卷,后九卷要等到1865年才由李善兰与伟烈亚力(Alexander Wylie)完成——时隔258年。为什么停在了六卷?

最直接的原因是时间:1607年,徐光启接到任命,离京出差(处理水利工程事务),翻译工作就此中断。但更深层的原因,是前六卷与后九卷在难度和实用性上的明显差异。

前六卷涵盖平面几何——点、线、面的定义,三角形的全等与相似,平行线理论,圆与切线,比例定理,以及勾股定理的欧几里得证明。这些内容与中国传统的"勾股术"、“测量术"直接相关,实用价值对当时的读者是可见的。

后九卷进入数论(卷七至九,关于整数与比例)和立体几何(卷十一至十三,关于多面体),以及共度理论(卷十,关于无理数)。这些对于16、17世纪的中国实用需求,关联度要低得多;而且难度更大,需要更坚实的前六卷基础才能理解。

徐光启自己在为《几何原本》所作的介绍文章《度数之学有大用六》中,力图从实用角度(水利、建筑、机械、军事等)为欧氏几何辩护,恰恰说明他意识到这套知识的接受需要有充分的"用途论证”——而前六卷比后九卷更容易找到实用的落脚点。

李之藻的角色

李之藻(1565–1630)是利玛窦在中国最重要的合作者之一,与徐光启共同承担了欧洲数学汉译工作的大部分。在《几何原本》之外,他与利玛窦合作翻译的更具数学深度的作品是《同文算指》(1613年),底本为克拉维乌斯的《实用算术概论》,这是欧洲笔算(即以印度-阿拉伯数码进行纸面书写运算)系统进入中国的第一次完整呈现。

《同文算指》介绍了笔算的加减乘除、分数运算和比例运算,以算法步骤配合大量例题的形式写成——这种组织方式反而更接近《九章算术》的体例,而不像《几何原本》那样以定理证明为核心。李之藻的翻译策略,是把欧洲的内容填入中国传统数学著作的体裁框架,而不是像徐光启那样引进欧几里得的全新结构。两种策略各有得失,两部书的命运也各异。

中国读者的接受:热情与抵制

《几何原本》前六卷1607年刊印后的命运,既不是迅速征服,也不是立即被排斥,而是一种复杂的、分化的接受。

热情接受的,以徐光启最为典型。他写道:“此书有四不必:不必疑,不必揣,不必试,不必改。“四个字指向了欧几里得体系的核心——逻辑证明的封闭性。他还写道,此书"能令学理者祛其浮气,练其精心;学事者资其定法,发其巧思”,认为几何训练是改变中国学人浮夸习气的思想武器。

然而保守派学者的抵制声音从未消失。批评集中在两点:其一,《几何原本》在行文上是确实抽象,缺乏中国学者熟悉的应用情境,全是"无从实践"的点、线、面;其二,更根本的,有人认为欧几里得的证明方式和中国传统的"博学审问”(知识获得方式)不相容。朱载堉、郑思肖等晚明学者对西方数学的总体态度是:可以借鉴技术,但不必接受其认识论框架。

利玛窦去世于1610年,徐光启的精力后来集中在历法改革。《几何原本》翻译中止处留在了第六卷末尾,那里等待着一个还没有到来的时代。

克拉维乌斯的《欧几里得》与利玛窦的数学底色

要理解利玛窦为什么能把《几何原本》带进中国,首先要理解他在罗马的老师——克里斯托弗·克拉维乌斯(Christoph Clavius, 1538–1612)。克拉维乌斯是16世纪最重要的数学家之一,他整理并注释了拉丁文版欧几里得《几何原本》,在1574年出版了篇幅超过800页的注疏本,将欧几里得文本与文艺复兴时代的数学思想打通,成为当时耶稣会教育体系的标准数学教材。利玛窦在罗马学院(Collegio Romano)跟随克拉维乌斯学习数学,时间大约在1572至1577年间,刚好是克拉维乌斯注疏本出版前后。

克拉维乌斯的教学方式与欧几里得本身有一个重要差异:他强调数学的实用维度,认为几何不只是抽象推理的工具,也是测量、建筑、军事工程和历法计算的基础。他同时教导学生用数学知识解释天文观测,这对利玛窦后来进入中国宫廷并最终以历法专家身份立足,有直接的影响。利玛窦来华携带的不是单纯的理论体系,而是克拉维乌斯那种"数学·实用·天文"三位一体的知识结构。

克拉维乌斯还是格里高利历法改革(1582年)的主要数学顾问。这一年,欧洲改历的消息在罗马传播,恰好也是利玛窦抵达中国澳门的前一年。利玛窦是在历法改革的余波中来华的,他亲身经历的不只是数学知识,也是数学知识能够改变一个大陆历法体系这件事的活证明。这一背景解释了他为何在到达中国后,始终以天文历算作为进入宫廷的敲门砖。

传教与数学的双重逻辑

利玛窦的数学传播从来不是单纯的知识行为。他在1583年进入广东肇庆时带着一架圆形世界地图,1584年绘制了第一版汉文世界地图《舆地山海全图》,此后多次重绘。地图是几何投影的直接体现,每一次展示地图,都是在向中国官员和士大夫展示欧洲数学在空间处理上的能力。

他所携带的科学仪器——浑仪、日晷、棱镜、经纬仪——不只是好奇的展品,也是实用几何与测量学的实物教具。当时到访的中国学者,往往先对仪器产生兴趣,然后才追问背后的数学原理。这种"先让人看见结果,再解释背后道理"的策略,是利玛窦有意识的传播方法,而不是偶然。

徐光启的入信正是经历了类似的路径:他先在广东见到利玛窦,随后在南京再度相遇,最终在1600年前后开始学习天文与数学。徐光启后来回忆说,使他最终折服的,是《几何原本》的逻辑严密性,而不是基督教的神学论证。数学在利玛窦的传教事业里,扮演了一个不寻常的角色:它是说服精英知识分子的主要媒介。

翻译之外:利玛窦对中国数学的观察

利玛窦留下了若干对中国数学状态的记录,主要见于他写给欧洲耶稣会的通信和他的日记(后由金尼阁整理为《利玛窦中国纪行》)。他的观察兼有赞赏与批评。

他赞赏算盘的效率,认为中国人用算盘进行复杂计算的速度令人印象深刻。但他同时记录了自己认为的局限:中国数学"缺乏证明",一切都是规则与例题,没有从公理出发推导的过程。他写道,中国学者知道怎样做,但"不追问为什么"。这一判断当然不是完整的——他没有接触到《九章算术》注释中的推导传统,也没有机会了解刘徽和祖暅的工作——但它代表了当时欧洲训练的数学家接触中国数学的第一印象。

利玛窦的五十八年:从罗马到北京

要理解1607年《几何原本》翻译的意义,我们必须先走进那个人的故事。

马泰奥·里奇(Matteo Ricci),1552年生于意大利中部小城马切拉塔。他年轻时在罗马学法律,后来进入耶稣会,在克拉维斯(Christopher Clavius)手下系统学习数学和天文学。克拉维斯是当时欧洲最重要的数学教育家,主持格列高利历法改革,他的《几何原本》拉丁注释本是当时欧洲最权威的版本。利玛窦在这个圈子里浸润了数年,带着一整箱欧洲科学书籍,于1582年抵达澳门。

在那个年代,从罗马到北京不是一段旅程,而是一生。利玛窦在中国南方一个城市待了几年,被赶走,移到下一个城市。他学汉语,学文言,他把自己打扮成佛僧,后来发现中国社会更尊重儒士,就改换儒服。他翻译儒家经典,写汉语文章,雕刻世界地图,用这张地图在知识分子中间引发震动——不是因为地图画得好,而是因为中国不在中心,大明帝国旁边还有那么多陌生的地名。

1601年,他终于抵达北京,带着给万历皇帝的礼物:一架自鸣钟,几幅西洋画,一张键盘乐器,以及他自己。皇帝从未接见他——万历皇帝几十年不上朝——但允许他留居北京。利玛窦在这里一待就是九年,直到1610年去世。

这五十八年的人生,把他带到了徐光启的书房。


第一次相遇:数学作为桥梁

利玛窦早就发现,欧洲宗教在中国的传播极为困难。儒家文化对基督教的宇宙论并无特别兴趣,“灵魂不朽”、“末日审判"这些概念,在一个以祭祖为核心礼仪、以当下道德实践为核心价值的文明里,找不到天然的锚点。他需要一个更好的入口。

他发现:数学和天文学是那把钥匙。

中国历法一再出错。钦天监的预测失准,皇帝知道,朝臣知道,整个知识界知道。一套能准确预测日月食的天文学,代表着不可辩驳的知识价值。利玛窦把这个判断写在给罗马的信件里:科学是进入中国精英圈子的路径。

他的策略奏效了。他展示欧洲的数学仪器,演算星象,绘制地图,教人日晷制作。知识分子们蜂拥而至。其中有一位叫徐光启的人,1600年,徐光启在南京第一次见到利玛窦,从此开始了一段持续十年的合作关系。


徐光启:一个不同寻常的人

徐光启(1562—1633),上海人,进士出身,但在当时的士大夫圈子里属于非典型人物。他对农业技术、军事技术、天文历算都有实际兴趣,而不仅仅停留在"格物致知"的哲学框架里。他真的想知道怎么做、为什么能做。

他皈依了天主教,成为利玛窦最重要的中国合作者。但他的合作不是宗教性的,而是知识性的。他花了大量时间理解欧洲数学,在他的日记和奏疏里,留下了一个中国人第一次系统接触欧几里得时的困惑与兴奋。

他写道,欧几里得的方法"明明有法可循,而法出于义”——规则来自意义,而不是规则本身就是目的。这句话虽然简短,却精确捕捉了他感受到的差异:中国传统数学的教学方式是给你一套术,你照着做就能算出答案;而《几何原本》的每一步都有"为什么",每个命题都从之前已证的命题推出。


两种数学哲学的碰撞

我们用一个具体例子来感受这个差异。

中国传统:《九章算术》“句股"章,第一题:

今有句三尺,股四尺,问弦几何? 术曰:句股各自乘,并而开方除之,即弦。

答案:五尺。方法有效,可以验证,可以推广到所有此类问题。但它不问"为什么句股各自乘并开方就是弦”——这个问题在《九章》原文里不存在。(刘徽的注释后来补充了证明,但那是另外的工作。)

欧几里得传统:第一卷第47命题(勾股定理),证明从第1命题逐步展开,经过第4命题(全等三角形)、第41命题(三角形面积等于同底等高平行四边形之半),最终得到结论,每一步都明确指出"依据是什么"。这个结构,对于1606年的徐光启来说,是陌生的。

利玛窦和徐光启之间的争论,大概是这样的:

徐光启看着命题I.1的证明,困惑地问:“这里说,以A为圆心、AB为半径作圆——但你怎么知道这个圆和以B为圆心作的圆一定相交?”

利玛窦说:“因为两个圆的半径加起来大于圆心之间的距离……”

徐光启:“这在公理里有吗?”

利玛窦沉默片刻:"……按克拉维斯的注释……"

这个沉默很有意思。我们今天知道,这个问题被后来的数学家称为"帕施公理的缺失"——欧几里得的原本在这里确实有一个逻辑漏洞,要到19世纪的希尔伯特才被修补。徐光启的困惑,在数学史上是有先见之明的。


为什么是《几何原本》,而不是三角学或代数?

这是一个值得细想的战略决策。

利玛窦带来的书里,有三角学(对实用天文学最直接有用),有代数(更接近中国数学的算法传统),有算术(中国已经很先进),为什么选择翻译最抽象、最难、最不"实用"的《几何原本》?

利玛窦的解释见于他的信件和日记,徐光启的解释见于他为中译本写的序言。他们的回答是一致的,也颇有深度:

徐光启的理由(《刻〈几何原本〉序》,1607年):他说,《几何原本》“有四不必”,“不必疑,不必揣,不必试,不必改”——读完之后,不需要怀疑它,不需要猜测,不需要试验,不需要修改。它就是正确的。这种确定性,是他从未在任何中文著作里找到过的。

利玛窦的考量:他明白三角学更实用,但实用性在短期内会被中国人学走,而逻辑推理的训练则是根本性的。他希望通过《几何原本》,改变中国知识界"知其然不知其所以然"的思维方式,把西方科学的方法论引入中国。

从更大的格局看:利玛窦选择《几何原本》,是一个关于"授人以鱼"还是"授人以渔"的判断。三角学是鱼,《几何原本》的证明方法是渔网的织法。


文化冲击:双向的震惊

这场相遇是双向的震惊,往往被单方面叙述。

欧洲视角下的中国数学:利玛窦在报告中写道,中国有极其精巧的算术、大量实用的几何问题,但"整个数学知识体系缺少一种东西:证明"。他不是轻视——他承认算盘的效率,承认中国的天文学遗产——但他用欧洲训练出来的眼光,看到了一个缺口。

中国视角下的欧洲数学:徐光启的合作者李之藻,在读完《几何原本》之后说,这是一本"以辞害意"的书——它用太多的文字去描述一些其实可以直接计算的事情。这个评价,与利玛窦对中国数学的评价,正好构成镜像:一方说对方缺少证明,另一方说对方绕了弯路。

两个批评都有道理,也都有盲点。中国数学的算法传统(有限差分、方程组、高次代数方程的数值解法)在许多方面比欧洲当时的水平更先进;欧洲几何学的公理化方法,则提供了建立严格知识体系的框架。这两种传统,在1607年的那间书房里,第一次正面相遇。


徐光启为什么被说服:一个关于"可靠性"的判断

徐光启在给朋友的信中,有一段话后来经常被引用,但很少被完整理解。他说,翻译《几何原本》之后,他觉得"其书有四不必",但同时,他也承认了"中法原本皆出自西方"——意思是,中国古代数学的原理,其实也来源于西方。

这个说法在历史上是错误的。希腊几何学在任何有文献证据的层面上,都不能证明对中国数学有直接影响。但徐光启为什么这样说?

这里有一个心理机制:当你第一次接触一套全新的知识体系,它自我证明的能力又远超你所熟知的体系,你会有一种奇特的震惊——不仅是"这是真的",而且是"这一定是更早的"。这不是历史判断,而是一种面对绝对可靠性时的心理反应。

这种印象后来深刻影响了晚明到清初中国知识界对东西方数学的比较框架,并最终塑造了梅文鼎的"西学中源"论——但那是后面的故事。

这种印象后来深刻影响了晚明到清初中国知识界对东西方数学的比较框架。徐光启接受了"中法原本皆出自西方"的说法(即"西学中源"说的前身),部分原因正是利玛窦这种带着欧洲视角的介绍方式塑造了他的判断起点。

Chapter 39: 《几何原本》前六卷 — 一次艰难的翻译

翻译是怎么进行的

试想1606年秋天北京的这一幕。两个人对坐在桌子两侧。一人手捧一本厚重的拉丁文印刷书——克拉维斯的《几何原本》注释本,欧洲最权威的版本。另一人手持毛笔,面前是空白的纸。每次对坐,他们都在建造一件此前从未存在过的东西:中文版欧几里得。

学者们把他们的工作方式称为"口授笔录"。利玛窦读拉丁文,在脑子里过一遍意大利语,再转成他花了二十年磨炼出来的官话,说给徐光启听;徐光启听了,把意思落笔,再整理成文言文的书面语。每一次对坐,大概既是翻译,也是争论。徐光启写下一句话,读出声来,然后问:这句话没说清楚为什么——欧几里得怎么知道这是真的?利玛窦只好说:这就是下一段证明要做的事。徐光启必须接受,世界上真的存在"证明"这回事,而且它的运作方式和举例验算完全不同。

据徐光启在序言里的说法,他们大约每月译完一卷,从1606年末一直译到1607年春,前六卷共用了约六个月。1607年,《几何原本》前六卷付印——欧几里得几何第一次以中文形式出现在世界上。

考虑到难度,这个速度已经相当快了。困难不在于语言本身——利玛窦的中文是扎实的——而在于概念和结构。

第一个困难是句法。拉丁文有一套丰富的逻辑连接语法——“若……则……"、“因为……所以……"、“由此可知……"——而以诗歌、历史和议论文为本的中国古典散文,天然不适合承载这类条件推理和逻辑蕴涵。徐光启必须凭空发明出一套句式,来表达那些在他所学的文言语言中根本不存在的东西。

第二个困难是概念。欧几里得的体系结构——定义、公理、公设、命题、推论——在中国数学传统里无迹可寻。这些词汇不存在,是因为从来没有需要用到它们的场合。两位译者必须从零开始,建立一套全新的术语体系。

第三个困难是抽象性。欧几里得讨论没有宽度的线、没有大小的点、没有厚度的面。这些理想化的对象——数学意义上的线,而不是画出来的线——在中国思想传统里,从来没有作为正式研究的对象独立存在过。每当它们出现,利玛窦都必须先把这些东西确立为概念,徐光启才能把它们写成文字。

词汇创制:一次术语造词运动

那几个月的合作与磨砺,最终催生出中文里第一套系统性的数学术语——这套词汇的诞生,从根本上改变了这门语言本身。

原词(拉丁/希腊)译词造词逻辑后世命运
geometria(几何学)几何“几何"原意"多少”,音义兼顾,暗含"量度大小"之意沿用至今
punctum(点)借用已有汉字,重新限定为"无大小之迹”沿用至今
linea(线)线借用已有汉字,重新限定为"只有长度无宽度”沿用至今
superficies(面)借用已有汉字,重新限定为"只有长宽无厚度”沿用至今
corpus(体)借用已有汉字,重新限定为"有长宽高"沿用至今
axioma(公理)公论“公众共认之论”,即不证自明之理后改"公理"(清末)
propositio(命题)简化为"题",有"待证之问题"意后改"定理/命题"
demonstratio(证明)“加以论证”,动词性后改"证明"
corollarium(推论)“附系于命题之后的结论”后改"推论/系"
angulus rectus(直角)直角借用"直"字,两线垂直所成之角沿用至今
lineae parallelae(平行线)平行线“彼此平行之线”,新造双字词沿用至今
triangulum aequilaterum(等边三角形)等边三角形描述性造词,直接音译+意译沿用至今
circulus(圆)已有字,重新严格定义为"从中心等距之所有点"沿用至今
diameter(直径)借用"径"(径直穿过),后加"直"字沿用"直径"至今
radius(半径)半径“直径之半”,描述性造词沿用至今

这张表格最耐人寻味的,是最后一列。表示几何形状的词——点、线、面、体、直角、平行线、圆、直径——全都原封不动地流传至今。今天中国高中生嘴里说的,还是徐光启1607年造的词。但表示逻辑架构的词——“公论”(公理)、“题”(命题)、“论”(证明)——在两百年后西方数学第二次进入中国时,被更清晰的对应词替换掉了。

这不是偶然。它精准地告诉我们:1607年的中国读者,能消化什么,消化不了什么。几何形状是具体的,对应着世界上真实存在的东西。但公理、公设、推论是元数学的——它们是关于数学如何被组织的概念,而不是关于世界本身的概念。要真正理解它们,你必须已经置身于欧几里得的工程之内,已经信服"从头开始建立一座逻辑大厦"这件事是值得做的。1607年,中国几乎没有人站在那个工程里面。那些词汇只能等待。

命题一的中文证明:欧氏几何在中国的第一课

Elements Book I, Proposition 1 — construct an equilateral triangle on a given line segment — is the simplest possible example of the Euclidean method. Its content is not deep. A child could draw the figure. What it demonstrates is the style: every step names its justification, and no step can proceed without one. Here is how it appeared in the 1607 Chinese translation:

几何原本命题一:以 $AB$ 为半径分别作两圆,交点 $C$ 形成等边三角形 $ABC$(绿色)

(命题):设有有限直线AB,在它上面作等边三角形。

(作图步骤):
以A为心,AB为半径,作圆;
以B为心,BA为半径,作另一圆;
两圆相交于C点。
连AC、BC,则三角形ABC即为所求。

(证明):
因为A是圆心,所以AC = AB(圆的定义:半径相等);
因为B是圆心,所以BC = BA(同上);
所以AC = BC(两者都等于AB);
所以AC = BC = AB,即三边相等——等边三角形。

(推论):由此,在任意有限直线上,均可作等边三角形。

对于一个在《九章算术》传统里训练出来的读者,这里最让人无所适从的,不是内容——等边三角形算不上什么稀奇——而是那套标注推理过程的写法。每一步推断都自我宣告:“因为A是圆心,所以AC = AB。“没有任何一步被允许悄悄滑过去而不交代来由。在中国数学的实践里,你陈述结果,算法本身就是理由。在欧几里得这里,算法永远不能成为自己的理由——你必须始终说明,为什么。

这个第一命题里,藏着一点小小的反讽。欧几里得的证明有一个逻辑漏洞:他假设两个圆会交于C点,但在他的公设里,从未证明同一平面上、半径相互重叠的两个圆必然相交。克拉维斯在注释里注意到了这一点,并加以说明。利玛窦和徐光启忠实地翻译了克拉维斯的版本——包括,可以推测,他对这个漏洞的提示。中文版欧几里得的第一个译本里的第一道证明,包含了一个直到十九世纪才被正式修补的瑕疵。数学,哪怕是最严格的数学,也始终是由人手建造起来的。

为什么《几何原本》没有立即改变中国数学

《几何原本》前六卷于1607年出版。二百五十八年后的1865年,李善兰与亚历山大·伟烈亚力才完成了其余九卷的翻译。

这258年的空档,是中国数学史上最耐人深思的数字之一。不是因为中国人动作慢,或者不感兴趣,或者能力不足——而是因为《几何原本》解决的那个问题,大多数中国数学家根本就没有觉得自己有。这本书教你如何证明事物。而中国数学早已拥有出色的计算事物的方法。从计算转向证明,光靠读一本翻译教材是不够的。它要求你从根本上重新定义:数学是拿来做什么的。

徐光启自己也看到了这个问题。他写了一篇著名的为欧几里得几何辩护的文章——《度数之学有大用六》——列举了水利工程、建筑、机械、音乐、医学、军事六大实用价值,力图论证《几何原本》不只是哲学,还是有用的。这个论证并不完全有说服力,因为中国传统对这六类应用早已各有一套行之有效的方法。你为什么要换掉一台还在正常运转的引擎?

就这样,当徐光启被召回朝廷主持历法改革,翻译工作就停在了六卷。它在那里等待着,沉静而残缺,一等就是两个半世纪。


徐光启的"止译六卷”:一个未竟工程的决定

1607年春,六卷翻译完成后,徐光启写下了他那篇著名的序言《刻几何原本序》。这篇序言里有一句话,让后世读者为之扼腕:“此书有五不可学、五不必疑、四不必虑”——他以精心构筑的修辞推销这本书,言辞间充满了传教士般的热忱。然而同一篇序言里,他没有解释为什么只译了前六卷。

解释来自另一处。徐光启的学生和友人记载了他的说法,概括起来是这样的:这六卷已经足够建立平面几何的基础;其余九卷论立体几何和比例论,道理更深,所用时间更长,而他被召回朝廷、无法继续,只好"止译六卷,以待后之君子”。这"后之君子"一等就是二百五十年。

等待的时间里究竟发生了什么?答案是:什么特别的事都没有发生——这才是真正令人不安的地方。《几何原本》在明清两代并不缺少读者,徐光启的学生孙元化写了《几何用法》《几何体论》,把几何学应用于军事工程;梅文鼎在清初精研西方数学,对几何原本的内容了如指掌;李善兰在接触这本书时,已经能"通其义"。但就是没有人去续译那剩下九卷。

这不是能力问题,也不是兴趣问题。更根本的原因是:在中国的数学实践里,《几何原本》后九卷所讨论的问题——立体图形的体积比例、数的比例关系、无理数的处理——早已有了另一套行之有效的处理方式。《九章算术》有体积算法,宋元代数有比例运算,它们给出的答案一样精确,只是逻辑风格完全不同。你为什么要换掉一台已经在用的机器,只为了学另一种开机方式?

直到1852年,李善兰到了上海,遇见了伟烈亚力(Alexander Wylie,1815—1887)。伟烈亚力是一位在中国居住了三十余年的英国传教士,既是汉学家,又对数学有相当造诣——他能够把晦涩的欧几里得拉丁传统与清代数学的语境衔接起来。两人在墨海书馆开始了历时四年的合作。从1852年6月到1856年告竣,后九卷全部译出,1857年2月由松江韩应陛正式刊刻。

这258年的间隔,从某个角度看是停滞;从另一个角度看,恰恰是中国自身的数学传统在此期间完成了一轮内生发展——宋元算法在清初得到整理,西方算法在《数理精蕴》中得到消化——所以当李善兰拿起这本书,他是以一个已经具备相当西方数学背景的读者身份在续译,而不是从零开始。徐光启是在荒地里开路,李善兰是在铺好的路面上继续铺砖。两件事情的难度根本不同。

欧几里得的证明方式与赵爽的弦图:两种数学哲学

要理解《几何原本》在中国遭遇的那堵无形的墙,最好的方式是做一个并排比较:用欧几里得的方法证明勾股定理,再用赵爽的方法证明同一个定理,看看两者有什么不同。

欧几里得在《原本》第一卷第47命题里证明勾股定理的路线是这样的:设直角三角形ABC,以各边为边长作三个正方形,分别叫 \(S_a\)、\(S_b\)、\(S_c\)(对应直角边和斜边)。然后通过一系列命题——从三角形面积、平行四边形面积相等关系,逐步推出,以斜边为边的正方形 \(S_c\) 的面积恰好等于 \(S_a\) 加 \(S_b\)。每一步都明确引用此前证明过的命题,没有一步需要依赖几何直觉或图形目测。

赵爽(三国时吴国数学家,约公元3世纪)的《弦图》则完全不同。他画一个正方形,里面拼入四个全等的直角三角形,中间留出一个小正方形。整幅图自己就是证明:大正方形的面积等于四个三角形加中间小正方形,用代数展开,这正是 \((a+b)^2 = 4 \cdot \frac{1}{2}ab + (b-a)^2\),化简即得 \(c^2 = a^2 + b^2\)。

两种证明都是严格的,都是正确的。但它们体现了截然不同的数学哲学。

欧几里得的路线是线性的、言语性的:命题一生命题,每一步单独成立,整体是一条没有跳跃的推理链条。它的核心追求是形式完备性——即使你闭上眼睛,只看文字,也可以判断推理是否有效。图形是辅助说明,不是证明本身。

赵爽的路线是视觉性的、综合性的:整个证明在一张图里同时呈现,读者必须同时看见图形的几何直觉和代数的量化操作,两者结合,答案才"显然"。这种证明方式被学界称为"出入相补"原理的典型应用——面积不因剪拼而增减,这个事实不需要从公理出发逐步推出,它是一种被视为理所当然的几何直觉基础。

中国传统数学的读者,习惯的是赵爽的路线。那张弦图是如此优雅,如此直接,直接到在直觉上几乎是不需要争论的。欧几里得的证明,相比之下,反而显得绕弯路:为什么要花十个步骤证明一件图上一眼就能看清楚的事?

这个问题背后有一个深层的差异:欧几里得不信任"图上看清楚"。他的整个工程,就是要建立一套不依赖视觉直觉的推理体系。因为视觉直觉会骗人——第一命题的那个逻辑漏洞就是例证——而逻辑链条不会。赵爽的弦图之所以有效,是因为"出入相补"恰好在那个特定情形下成立;但如果你把同样的直觉套用到三维图形上,往往会出错。

所以两种数学文化的遭遇,不是"先进"遇上"落后",而是两套对"什么叫做证明了一件事"的不同理解之间的碰撞。徐光启和利玛窦需要两个人、六个月、无数次争论,才把欧几里得的前六卷建立起来——不是因为内容有多难,而是因为那整套哲学预设,需要一个词一个词地、概念一个一个地,从头建立在没有对应土壤的地方。

明末儒者对《几何原本》的两种回应

《几何原本》1607年出版后,明末知识界的反应并不整齐。可以分为两种截然不同的声音。

一种是欢迎。徐光启自不待言,他本人就是最有力的倡导者。他的《度数之学有大用六》列举了几何学在水利、建筑、机械、音乐、医学、军事六大领域的实用价值,言辞恳切。李之藻深受熏陶,亲自主持翻译了《同文算指》《圆容较义》等,把欧洲数学的更多内容系统引入。更值得注意的是孙元化——他是徐光启的学生,将几何学直接应用于火炮设计和测量,写成《几何用法》《几何体论》,是明末把抽象几何学落实为工程实践的第一人。

另一种反应则是:表面不反对,骨子里不当回事。杨廷筠(1557—1627)是徐光启的朋友和教友,这位出身官员世家的士大夫在他的《西学凡序》中说得很客气——“西人六科经籍约略七千余部”,他愿意了解。但他接受西学的逻辑,是把它纳入"补益王化"的框架:西方学问有用,因为它能补充中国传统的不足,而不是因为它提出了一套更普遍的认识论体系。在这个框架里,《几何原本》可以是一本有用的测量工具书,但它关于"证明"的哲学核心,永远是次要的。

还有一种更直接的拒绝来自另一个方向:何必如此麻烦?**《周髀算经》里早有勾股,《九章算术》**里有面积、体积、比例,这些不是都够了吗?这类声音在文献中很少以正面反驳的形式出现,更多地体现在:大多数数学家继续把时间花在《九章》的注疏和演算上,而不是研读《几何原本》。沉默本身,就是一种回应。

翻译的语言困境:两种思维方式的摩擦

1606年秋天,利玛窦把克拉维斯注释本摊开在桌上,开始朗读第一卷第一定义:

Punctum est, cujus pars nulla est. 点,是没有部分的东西。

这句话,用拉丁文说出来,语法清晰,逻辑鲜明。但徐光启要把它转化为文言文,立刻遭遇了第一个问题:中文里没有"没有部分的东西"这个概念的标准表达方式。

“点"字,中国古代有。《墨经》里有"端”(最小单位,不可再分),但它不是数学专门术语。《周髀算经》有"规矩",但没有"点"的定义。徐光启只能选一个现成的字,重新装入新的含义。

这是整个翻译工程里最创造性、也最危险的部分:他们在发明一门语言


术语发明:一场中文数学词汇的创世纪

我们来看这套术语最终是怎么对应的。这张表格值得慢慢读——每一个词背后,都有一个选择:

拉丁文原词利玛窦/徐光启的选择今日通用备注
punctum(点)沿用至今,无争议
linea(线)线线沿用至今
superficies(面)沿用至今
angulus rectus(直角)直角直角字面翻译,成功
parallelae lineae(平行线)平行线平行线沿用至今
circulus(圆)沿用至今
diameter(直径)直径直径沿用至今
semidiameter(半径)半径半径沿用至今,但注意:它的字面意思是"半条径",而不是"到圆心的距离"
definitio(界说)界说定义(后来的译法)徐光启用"界说",后改
axioma(公论)公论公理(后来的译法)“公论"的汉语感觉更接近"大家都认为…”
postulatum(求作)求作公设(后来的译法)这是理解上最有趣的差异,见下文
propositio(命题)命题/定理徐光启直接用"题",后来才分为"定理"和"问题"
geometria(几何学)几何几何这个词的来历本身就是一个故事

“几何"的来历:这是利玛窦最巧妙的选择之一。Geometria 字面意思是"大地测量”(geo + metria),有实用起源。徐光启的序言里"几何"不是翻译,而是音译加意译的混合体——geo 读起来像"几何"(jǐhé),而"几何"在中文里是"多少"的意思(“子在川上曰,逝者如斯夫,不舍昼夜——几何乎”,意思是"多少时间呢")。于是,一个量化测量的学科,用一个询问量的疑问词来命名,既有音译之便,又有意译之妙。后来"几何"就固定下来专指这门学科,本来的"多少"义反而淡出了。


“求作”:最有深意的翻译选择

让我们停在"求作"(postulatum)这个选择上,因为它揭示了中西数学哲学的一个核心差异。

欧几里得的五个公设,在克拉维斯的拉丁文里是这样列出的:

  1. Postuletur, a quolibet puncto, ad quodlibet punctum, rectam lineam ducere. (要求:从任意一点到任意一点,作一条直线。)
  2. Et rectam lineam terminatam in directum producere. (要求:有限直线可以无限延长。)
  3. Et circulo describendo centro quolibet intervallo quolibet. (要求:以任意点为圆心、任意距离为半径,可以作一个圆。)

注意"Postuletur"——这是"要求",是一种主动的请求,请读者允许作图操作。这五条,是作图允许的操作,而不是关于空间性质的命题。

徐光启把它们译为"求作",这个选择极其准确:这是一种请求(求),请求可以执行某种操作(作)。这与"公论"(公理,描述真理的命题)的性质是不同的。徐光启在这里抓住了欧几里得两种前提(描述性公理 vs. 操作性公设)之间的区别,而这个区别,在希腊原典的研究传统里,也是反复被讨论的问题。

然而,后来的中文翻译(尤其是晚清以后)把公设翻译为"公理",反而混淆了这个区别。某种意义上,1607年的徐光启,比100年后的翻译更精确。


命题I.1:一次完整的跨文化翻译之旅

让我们做一次微型练习:把《几何原本》第一卷第一题(命题I.1)的翻译,与《九章算术》的风格并排对读。

命题I.1(欧几里得,中译,徐光启版本):

:已知有限直线,求作等边三角形。

:设AB为有限直线。求在AB上作等边三角形。

以A为圆心、AB为距离,作圆BCD(依公设三)。 以B为圆心、BA为距离,作圆ACE(依公设三)。 从两圆相交处C,引直线CA及CB(依公设一)。

因为A是圆BCD的圆心,所以AC等于AB(依界说十五:圆上各点到圆心距离相等)。 因为B是圆ACE的圆心,所以BC等于BA(同上界说)。

既然CA和CB都等于AB,由此CA等于CB(依公论一:等于同一量的量彼此相等)。

所以三角形ABC三边相等,即为等边三角形,作于给定直线AB之上。此题毕。

这一段里,每一步都引用了某条"界说"、“公论"或"公设”。这是欧几里得方法的核心:每一个推理步骤,都必须有明确的依据

现在对比《九章算术》“句股"章的风格

今有句三尺,股四尺,问弦几何?

答曰:弦五尺。

术曰:句股各自乘,并而开方除之,即弦。

三行。问题、答案、算法。无证明,无公理,无依据引用。这不是因为中国数学家不懂,而是因为这套书的目的不是证明,而是教你计算。

两种文本,代表了两种截然不同的数学教学哲学:一种以"如何推理"为中心,一种以"如何算出"为中心。


止译六卷之谜

1607年,《几何原本》前六卷译成,付印。然后翻译停止了。

欧几里得原著十五卷(有时算十三卷正典)。六卷是不到一半。剩下的卷次包括:

  • 第七、八、九卷:数论(奇偶性、整除、素数、完全数、等比数列)
  • 第十卷:无理量(不可通约量)
  • 第十一、十二、十三卷:立体几何(多面体、球、锥、柱)

从纯数学的角度,第十卷(无理量)和第七到九卷(数论)是欧几里得体系里最深刻的部分。为什么停下来了?

文献上的解释:利玛窦在写给罗马的信中说,他们决定暂时停止,因为翻译耗时极大,而且先出版六卷可以测试中国读者的反应。徐光启则在序言里说,先出六卷,让中国读者"欲罢不能”,等大家都认识到这门学问的价值,再出版后续。他们打算继续。

实际上发生了什么:利玛窦1610年去世,徐光启此后忙于政务、农业著作、历法改革,再没有回到这个翻译计划。《几何原本》后九卷,要等到1857年,由李善兰和伟烈亚力完成翻译——整整250年后。

历史的代价:这250年的缺失,意味着中国知识界读到的欧几里得,始终是"前六卷"。前六卷是平面几何——直线、圆、面积、比例。后九卷里的数论,包含了欧几里得对素数无穷性的著名证明,包含了对无理数的系统处理,包含了欧几里得算法(即现在教的辗转相除法,尽管中国早有此法,但欧几里得的证明框架不同)。

没有这些,中国读者接触到的是一个不完整的欧几里得——足以产生震惊,但不足以改变数学研究的方向。


一本没有问题的答案

我们必须诚实地面对这个历史事实:《几何原本》前六卷翻译完成后,真正深入学习它的中国学者,人数很少。

文献里有赞美,有引用,但很少有独立地沿着欧几里得路线推进的研究。17世纪整个中国数学界,继续沿着《九章》传统研究:方程组、大衍求一术、垛积、勾股术——这些本土传统的深化,是主线。

《几何原本》作为一本书是重要的,但作为一种思维方式的引入,效果是有限的。

为什么?

一个可能的答案:中国当时没有对"证明"产生需求的问题。欧几里得的证明体系,在希腊产生,是因为希腊哲学家面临了这样一个问题:我们如何区分真正的知识和可能的错误?他们的回答是:从最少的、最明显的公理出发,用纯粹逻辑推出一切。

中国传统里,知识的权威性来自其他来源:圣人的权威、经典的传承、实践的有效性。数学知识的可靠性,通过"能算出答案"来证明,而不是通过"有公理推导"来证明。

《几何原本》提供了一套答案——如何建立确定性知识。但那个促使希腊人发明这套答案的问题,在中国知识界的语境里,从未以同样的形式被提出过。

理解这些反应,需要记住一件事:1607年的《几何原本》,对大多数中国读者来说,是一本没有问题的答案。它解决了一个他们从未觉得自己有的问题。那个问题是:如何从无可置疑的最小前提出发,用纯粹的逻辑建立一整座知识大厦?这个问题,在儒家的格物致知传统里,从来没有以这种形式被提出过。利玛窦带来了答案,但中国知识界还没有建立起产生那个问题的需求。


Chapter 40: 《崇祯历书》 — 欧洲天文学全套进场

历法危机与改历工程

公元1629年6月21日,一场日食即将到来,朝廷传令两组天文学家各自给出预测。

一方是钦天监——大明王朝沿用了两百五十年的《大统历》的守护者。这部历法本身不过是元代《授时历》的微调翻版,而《授时历》自十三世纪制定以来,就再未用新的观测数据加以修订。误差像债息一样日积月累。这一次,他们预报日食的时刻,偏差将近半个小时。

另一方是徐光启,以及耶稣会士龙华民,他们采用欧洲天文方法进行推算。预报结果精确到分钟以内。

这不是什么悄悄掩盖的失误——是当众出丑,有目共睹,有案可查。它迫使大明朝廷正视一个再也无法回避的问题:一部连天象都算不准的历法,究竟还有什么用?

崇祯皇帝下旨改历。1629年,徐光启受命主持改历工程,邓玉函(Johann Terrenz Schreck)从耶稣会调入参与。邓玉函于1630年病逝,汤若望(Johann Adam Schall von Bell)接手承担主要工作。这项工程历时五年。

1634年,《崇祯历书》告竣:共一百三十七卷,是有史以来以中文写就的规模最大、内容最全面的欧洲天文与数学著作。三角学、对数、球面几何、测量仪器,还有第谷·布拉赫观测体系的全套数学装备——一位十七世纪欧洲宫廷天文学家所需要的一切,尽在其中。

然而王朝随即覆灭。1644年,李自成的起义军攻入北京,崇祯皇帝在煤山的一棵树上自缢。数学活了下来,皇帝没有。

为什么选第谷,不选哥白尼?

《崇祯历书》的宇宙论基础是第谷·布拉赫的体系,而非哥白尼的体系。这个选择历来令史家困惑。第谷的模型——地球静止居中,其他行星绕日运行,太阳再绕地球运行——从现代眼光看,不折不扣是错的。哥白尼才是对的。那为什么要选择一个错误的模型?

首先是政治。 1633年,就在《历书》尚未编竣之际,伽利略因为捍卫哥白尼学说而被罗马宗教裁判所定罪。身在中国的耶稣会士,不可能公开倡导一套刚被自己教会宣判为异端的宇宙体系。这不只是机构层面的限制,更关乎人身安危与组织存亡。

其次是数学。 这才是真正耐人寻味之处。第谷体系与哥白尼体系对行星位置的预测完全一致。这并非巧合,而是有其精确的数学依据:两种模型之间存在一个坐标变换的关系。哥白尼体系中以太阳为参照点所描述的一切,换到以地球为参照点来描述,便得到第谷体系。参照系一换,预测结果分毫不差。

于是,耶稣会士做出了一个在政治上安全、在数学上零代价的选择。他们将欧洲天文学的全套计算工具引入中国——而这套工具打着第谷的旗号,与打着哥白尼的旗号,能算出同样精准的结果。关于太阳系的真相,还要再等上一个世纪。数学本身,并不在乎。

三角学的具体内容:一张正弦表是怎么造出来的

《崇祯历书》深处藏着一部《大测》,附有《割圆八线表》:这是一张六函数三角函数完整表,精确到小数点后五位,以一弧分为间隔。这是中国历史上第一张同类表格——而理解它的构造方法,能让人窥见其中数学之美。

整个表格的基础,只是一个精确值:\(\sin 30° = \frac{1}{2}\)。这不是近似,而是由30-60-90三角形的几何关系直接推出的。从这里出发,半角公式便可完成其余的工作:

\[\sin\frac{\theta}{2} = \sqrt{\frac{1 - \cos\theta}{2}}\]

令 \(\theta = 30°\),代入 \(\cos 30° = \frac{\sqrt{3}}{2} \approx 0.86603\):

\[\sin 15° = \sqrt{\frac{1 - \cos 30°}{2}} = \sqrt{\frac{1 - \frac{\sqrt{3}}{2}}{2}} = \frac{\sqrt{2 - \sqrt{3}}}{2}\]

数值上:\(\sqrt{3} \approx 1.73205\),故 \(2 - \sqrt{3} \approx 0.26795\),\(\sqrt{0.26795} \approx 0.51764\),从而得到:

\[\sin 15° \approx \frac{0.51764}{2} \approx 0.25882\]

现代计算器给出 \(\sin 15° = 0.25882\),与推算结果精确到五位小数完全吻合。

将这一过程反复推进:再次对半,求得 \(\sin 7.5°\),再求 \(\sin 3.75°\)。然后利用加法公式 \(\sin(\alpha + \beta) = \sin\alpha\cos\beta + \cos\alpha\sin\beta\),将已知值相互组合,填满每一整度、每一弧分的数值。整张表就这样一步一步地搭建起来,从一个种子值和两个代数恒等式出发,经过无数次细心运算,自然生长成形。

这是整部《崇祯历书》最重要的数学成果——从某种意义上说,比书中任何宇宙论主张都更为重要。中国天文学家第一次拥有了一套完整的六函数三角函数表,从0°到90°每隔一弧分皆有数值,精度足以应对任何实际计算。支撑此后两个世纪精密天文工作的数学基础设施,就此到位。

对数传入:乘法变加法的魔法

《历书》还将纳皮尔对数引入了中国。约翰·纳皮尔(1550—1617)是苏格兰数学家,他在1614年出版的《奇妙的对数规则说明》,以一个简单而近乎神奇的思想彻底改变了计算的算术面貌:乘法可以被加法取代。

纳皮尔最初的构造,以现代标准看颇为奇特。他定义:

\[\text{Nap}(x) = 10^7 \times \left(1 - 10^{-7}\right)^x\]

这是一个递减函数——随着 \(x\) 增大,\(\text{Nap}(x)\) 反而缩小。传入中国的实用版本,是纳皮尔身后由亨利·布里格斯(1561—1630)改进的成果:以10为底的常用对数,其中 \(\lg 10 = 1\),\(\lg 100 = 2\),最关键的是:

\[\lg(a \times b) = \lg a + \lg b\]

这一恒等式对天文学的意义是革命性的。要将两个大数相乘,只需查出各自的对数、相加,再反查结果。三次查表,取代了一次费力的大数乘法。对于每个工作日都要把十五位数相乘的天文学家而言,这是一小时的工作量与一分钟的工作量之间的差别。

举一个具体的例子,计算 \(347.6 \times 892.4\):

\(\lg 347.6 \approx 2.5411\),\(\lg 892.4 \approx 2.9507\)

\(\lg(347.6 \times 892.4) \approx 2.5411 + 2.9507 = 5.4918\)

反查:\(10^{5.4918} \approx 310200\)

精确答案是 \(310218\)——误差来自五位对数表的舍入。对于天文计算而言,这已绰绰有余。

《崇祯历书》的政治命运

这部137卷的《历书》于1634年呈递崇祯皇帝。徐光启——一生最后几年都在主持这项工程——已于前一年(1633年)去世,没能亲眼看到它完成。皇帝批准了。但随后,他被吞没这个王朝的军事与政治灾难牵扯其中,始终未能正式颁行。

1644年,李自成的军队攻入北京。皇帝自缢。大明覆灭。

接下来发生的,是中国思想史上最为精彩的一次历史讽刺。汤若望——那位为完成《历书》付出最多的德国耶稣会士——很快意识到,新的清朝统治者和旧的明朝皇帝一样,同样需要一部精确的历法。他将137卷压缩为103卷,将书名改为《西洋新法历书》,并向清朝摄政王多尔衮呈上一封措辞恭敬却言之凿凿的奏疏:这是当今世界最精确的天文体系,新朝宜予采用。

多尔衮同意了。1645年,清廷颁行时宪历,直接以汤若望修订本为据。这部历法——正是那位刚被推翻的皇帝出资打造的数学工程的直系后代——此后成为农历的基础,一直沿用至今。

汤若望本人被任命为钦天监监正,获顺治皇帝赐封一品官衔,并得到"通玄教师"的荣誉称号。无论以何种标准衡量,他都是当时世界上权势最盛的耶稣会士。

薛凤祚与穆尼阁:对数进入中国的另一条路

汤若望在北京掌管钦天监的时候,另一个故事正在南方悄悄展开。那是顺治九年(1652 年),一位山东学者来到南京,在那里遇到了一位来自波兰的耶稣会士。这次相遇,开辟了西方数学传入中国的第二条通道——一条与北京朝廷完全无关的民间通道。

波兰传教士穆尼阁(Jan Smogulecki,1610—1656)没能进入北京朝廷,只是辗转到了南京传教。正是这种边缘位置,使他与真正愿意深入学习的中国学者相遇。那位学者就是薛凤祚(1599—1680),山东益都人,时年五十三岁,仍在四处寻访天文历算之学。

薛凤祚后来记述了那段岁月:两人共同工作了整整一年,从春天到秋天,暑热之中挥汗如雨,穆尼阁口授,薛凤祚笔录,将一套六位小数的对数表从欧洲语言译成中文。穆尼阁带来的,是纳皮尔与布里格斯的对数体系——以 10 为底的常用对数。他对这套工具的解释直截了当:两个数相乘,等于将它们各自的对数相加,再查反表得结果:

\[\lg(a \times b) = \lg a + \lg b\]

薛凤祚自己总结:“以省乘除,而况开方立方三四方等法,皆比原法工力,十省六七,且无舛错之患。”

薛凤祚与穆尼阁合作完成的著作里,最具原创意义的数学内容集中在《比例对数表》和《三角算法》两种。《比例对数表》包含 1 万以内的六位小数对数表,并给出用比例法求万以上对数的方法。《三角算法》则是平面三角与球面三角的系统专著,明确以"三角"命名,并将全部公式改写为对数形式,如正弦定理的对数形式:

\[\lg b = \lg a + \lg \sin B - \lg \sin A\]

原本需要乘除法的比例运算,变成了三次对数表查询加上简单的加减,运算速度和精度都得到了质的提升。

薛凤祚的独特之处,在于他与《崇祯历书》的意义代表了两种完全不同的知识传播模式。《崇祯历书》是一套天文系统的引进:所有的数学都是这套天文系统的组成部分,离开天文学就无处安放。薛凤祚则明确地将对数和三角学作为独立的计算工具来呈现——工具可以被任何需要的地方使用,而不仅仅服务于某一套特定的宇宙体系。这是一个更现代的认识论立场:今天的数学教育理所当然地把对数、三角函数当作普遍工具,而不是某种历法系统的附属品。薛凤祚在 17 世纪中叶就已经持有这种态度。

他还把西方、中国和伊斯兰三套历法体系并排摆放,逐条比较,指出哪里相合、哪里相异——这种"博采众长、对照比较"的思路,在当时的中国知识界实属罕见。


《崇祯历书》的起源:一次日食预报的失败

1629年6月26日(崇祯二年五月乙酉朔),三套历法对同一次日食的预报出现重大偏差。《大统历》和《回回历》都算错了,只有耶稣会传教士的西洋方法吻合实测。这一公开的技术失败最终使礼部接受了改历的建议,由徐光启主持,调入龙华民(Nicola Longobardi)、邓玉函(Johann Terrenz Schreck)、汤若望(Adam Schall von Bell)、罗雅谷(Giacomo Rho)等人成立历局,开始系统编译西方天文历法著作,历经十余年,至崇祯七年(1634年)完成,共136卷,合称**《崇祯历书》**。

明亡之后,汤若望重整旧稿,删去部分、增加若干新书,以100卷《西洋新法历书》献于清廷,顺治二年(1645年)据此颁行《时宪历》,沿用了近三百年。乾隆时入《四库全书》,改名《新法算书》。

第谷模型:介于哥白尼与托勒密之间

《崇祯历书》的天文理论基础是第谷·布拉赫(Tycho Brahe,1546—1601)的折衷宇宙模型,而非哥白尼的日心说。第谷的模型认为:五大行星(水、金、火、木、土)均绕太阳运转,而太阳则带着这些行星整体绕地球公转。地球仍居宇宙中心,月球直接绕地球运行。

这一模型与哥白尼、托勒密的几何等价关系可以说明如下:在第谷体系中,太阳的位置坐标相对地球的关系,与哥白尼日心说下地球相对太阳的关系完全对应,因此两套模型预报行星位置的精度实质相同。从数学上讲,第谷体系是对哥白尼体系做了一次坐标变换——将参考点从太阳移到地球——从而在神学上规避了"地动说"的风险,在数学上却保留了哥白尼系统的计算优势。

《崇祯历书》选择第谷体系,是一个政治上精明的折衷:既引进了精度更高的欧洲方法,又避免了公开承认地球运动(这在当时的中国同样具有一定的意识形态敏感性)。

球面三角学:日食计算的数学基础

日食的精确预报需要用球面三角学处理四个相互关联的几何问题。《崇祯历书》中《大测》(邓玉函译撰)和《测量全义》(罗雅谷译撰)系统引入了这些工具。

(一)视差改正: 观测者所见月球位置(视位置)与月球真位置(从地心看)之间有偏差,称为"视差"。月球的地平视差最大约57′,对日食时刻的影响可达十余分钟。计算视差需要知道观测地的地理纬度、月球的真高度角,以及地球半径与月球距离之比。球面三角给出:

\[\sin p = \frac{R_\oplus}{d_\text{月}} \cos h\]

其中 \(p\) 为视差,\(R_\oplus\) 为地球半径,\(d_\text{月}\) 为月地距离,\(h\) 为月球仰角。

(二)食甚时刻: 日食食甚(月球中心与太阳中心距离最近的时刻)的计算,需要联立太阳和月球在黄道和白道(月球轨道)上的运动方程,解出交会时刻。这是一个包含黄白交角(约5°9′)的球面三角问题。

(三)初亏与复圆: 日食开始(初亏)和结束(复圆)的时刻,取决于太阳和月球各自的视半径以及相对运动速度。王锡阐后来指出,《时宪历》在这一步骤上用了圆盘模型代替锥形影子,引入了系统误差——这是欧洲方法传入中国后首次受到本土数学家在几何层面的批评。

对数表:《割圆八线表》

《崇祯历书》首次进呈的书目中包括《割圆八线表》六卷,记录六种三角函数(正弦、余弦、正切、余切、正割、余割,以及后二者的对数形式),精确到小数点后七位,每弧分一格,共覆盖0°至90°的全部值域。这是中国历史上第一部这一精度的三角函数表。

对数的引入是另一项革新。纳皮尔(John Napier,1550—1617)于1614年发明对数,1617年出版《Rabdologia》介绍纳皮尔算筹。罗雅谷将纳皮尔算筹的用法整理为《筹算》一卷,与汤若望一同引入历局。纳皮尔算筹是在长条形木板上刻印从1×1到9×9的乘法表,将多位数乘法转化为查表和对角线相加,大幅提高了多位数乘除运算的效率——这是为编制复杂天文表格所必需的工具。比例规(伽利略约1597年发明)同期传入,罗雅谷写有《比例规解》一卷,在改历过程中用于各类比例换算。故宫博物院至今珍藏有当时的比例规数十具、纳皮尔算筹多套。

政治竞争:中法、回回历、西洋历的三方角力

整个改历过程是三套历法传统的公开竞技。

《大统历》(中国传统):以刘基整理的元代《授时历》为基础,自洪武十七年(1384年)起沿用,到崇祯年间已积累了较大误差,多次漏报或误报交食。

《回回历》(伊斯兰传统):元代引入,以阿拉伯天文学为基础,由回回历科掌管,对某些行星运动的精度优于大统历,但在预测某些交食上同样出错。

西洋历(第谷系统):由耶稣会士带入,经实测检验,精度最高。

竞争在公开的预测—验证循环中进行:三方分别推算某一特定日食或月食的时刻,再将预报与实测对比。西洋方法持续胜出,使反对派越来越难以维持"祖制不可变"的立场。崇祯十六年(1643年)八月,皇帝正式下诏:“诏西法果密,即改为《大统历法》,通行天下。“然而诏令颁布后一年,明朝覆灭,改历未能实施。西法最终由清廷付诸实行。

崇祯帝接受西法的背后,是一种独特的政治逻辑:在礼部、钦天监诸官中真正懂得历算的人极少,无法在技术层面作出独立判断。验证是唯一可信的裁决方式,而验证的结果一再指向同一个答案。这场持续十五年的历法竞争,最终以技术事实胜过了意识形态惯性。

汤若望其人:一个德国人主持中国历法的荒诞现实

让我们在这里停一停,认真看看汤若望这个人。

约翰·亚当·沙尔·冯·贝尔(Johann Adam Schall von Bell,1591—1666),出生于科隆附近的贵族家庭,在罗马接受耶稣会教育,1622年抵达澳门,翌年进入北京,此后再未离开——死于中国,葬于北京,墓地至今尚存。他在中国生活了四十四年,其中绝大多数岁月都在那个气候恶劣、政治凶险的紫禁城附近度过。

他是《崇祯历书》最后阶段最重要的编撰者。邓玉函(Johann Terrenz Schreck)1630年病逝之后,汤若望实际上独自承担了这项工程的绝大部分工作:137卷,覆盖第谷宇宙体系、球面三角学、恒星观测、日月五星的运行理论,以及几十张精密天文表。他是天文学家、数学家、工程师,同时还是一位极其灵活的政治动物——1644年王朝更迭之时,他的政治直觉救了整个工程。

当李自成的军队攻入北京,当崇祯皇帝在煤山自缢,当清军随即入关,汤若望没有逃。他一个人留在宣武门附近的教堂里,守住了一库房的数学书稿和天文仪器,然后开始向新的主人推销这批资产。他向清朝摄政王多尔衮呈上的奏疏,措辞极其精准:新朝需要一部精确的历法,西方天文方法最为精确,这就是证明,请采用。

多尔衮同意了。这是一个让任何政治学教授都会叹服的生存操作。137卷压缩为103卷,书名从《崇祯历书》改为《西洋新法历书》,明朝皇帝出资建造的数学工程,完整地移交给了推翻它的政权,并以这个新政权的名义颁行天下。汤若望后来被任命为钦天监监正,获得一品官衔,顺治皇帝赐他"通玄教师"封号,并允许他在北京城内重建教堂。在他生命的顶点,他是整个世界上权势最盛的耶稣会士之一。

这个故事有一个残忍的结尾。

历法大辩论:杨光先事件与西法的生死

康熙三年(1664年),汤若望七十四岁,中风在床,已无法言语。

杨光先(1597—1669),一个对历法一知半解却政治嗅觉极其敏锐的官员,此时向礼部呈上一份又一份控告状。他的策略是把天文学问题包装成政治问题:汤若望的历法把"依西洋新法"五个字印在官方历书上,这是"窃正朔之权以予西洋”;历法里选择顺治幼子荣亲王的葬期时用了"洪范五行"而非"正五行”,这是害死了皇室子孙。这两条控诉在技术上都站不住脚,但政治上却有足够的杀伤力:当时掌权的辅政大臣鳌拜本就与西洋人有矛盾,杨光先的控诉正好提供了打击耶稣会势力的口实。

审判的结果是一场灾难。礼部判汤若望凌迟处死,禁止天主教活动,在京传教士充军。钦天监五名中国官员被处斩,另有数人被充军。汤若望本人因为北京连日发生地震,按惯例减刑,免于一死——然而此时他已病入膏肓,一年后去世,不等行刑。他的名字,杨光先的名字,这场闹剧的全部细节,此后成为了清代知识界关于"科学与政治的纠缠"最常被引用的案例。

杨光先被任命为新的钦天监监正。他以"但知推步之理,不知推步之数"为由五次辞职,五次不准,最后在"着即受职办事,不得渎辞"的圣旨下勉强就任,上任后废止《时宪历》,改用早已过时的明代《大统历》。问题很快就来了。《大统历》几十年来积累的误差无人修正,编制出来的历书错漏百出:某年十二月置闰,实应在来年正月;一年之内出现两个春分、两个秋分。

1668年,康熙派人把杨光先编制的次年历书送给比利时传教士南怀仁(Ferdinand Verbiest,1623—1688)审查。南怀仁逐条指出错误,双方随后被带到观象台,当众比试:推算明日正午日晷影长,推算月球、火星、木星的当前位置,一一与实测对照。结果是"南怀仁所言皆合,吴明烜所言皆谬"。

这场较量不仅改变了中国历法的走向,更深刻地改变了一位年轻皇帝的内心世界。那位全程旁观的皇帝就是康熙。他多年后在给大臣的训示中坦白说:

“朕幼时,钦天监汉官与西洋人不睦……九卿中无一知其法者。朕思己不知,焉能断人之是非,因自愤而学焉!”

一个天子,因为看不懂一场天文竞赛而"自愤",决心自学数学。这个决定,塑造了清代数学的整个走向——关于这一点,下一章再详。

杨光先被革职,发往原籍,死于途中。南怀仁恢复职位,升任钦天监监正,重铸北京观象台的天文仪器——那六件青铜仪器至今仍立在建国门观象台上。汤若望获得昭雪,恢复封号,赐恤建堂。《时宪历》重新颁行,此后沿用近三百年。

球面三角学的真正价值:从"查表"到"推导"

在这里值得回答一个实质性问题:《崇祯历书》带来的三角学,到底在数学上改变了什么?它不只是增加了几张函数表,它引入了一套思考空间几何问题的语言。

在《崇祯历书》之前,中国天文学处理天球坐标的方式,是继承自《授时历》的一套表格插值体系:给出某颗星的去极度(赤纬的类比)和入宿度(赤经的类比),按岁差表加以修正,查差表得出行星位置。这套方法精密而有效,但它是表格驱动的——计算者是查表者,不是几何推理者。

《崇祯历书》的《大测》和《测量全义》引入的,是一套把天球问题转化为三角形问题的框架。任何天球上的几何关系——两星之间的角距、太阳从地平线升起的方位角、月球视差的修正——都可以表示为球面三角形的一条边或一个角,然后用球面正弦定理求解:

\[\frac{\sin a}{\sin A} = \frac{\sin b}{\sin B} = \frac{\sin c}{\sin C}\]

这个定理本身并不复杂,但它提供的东西是革命性的:任何天球几何问题都可以被化约为标准的三角形问题,然后用统一的公式处理,不需要为每种情况单独造表。这是从"查表"到"推导"的思维方式转变,是方法论层面的升级,不仅仅是精度的提高。

当然,全套六函数表(正弦、余弦、正切、余切、正割、余割)外加对数表,意味着任何需要乘大数的计算都可以化为加法。对于一位每天推算行星位置的天文学家而言,这相当于把一上午的运算压缩到一刻钟。工具改变了,工作的深度也随之改变。

从崇祯到康熙:一部历法的政治生命与数学遗产

《崇祯历书》的数学核心,从1634年编成到清末始终未曾根本性地改变。

这部历法所用的天文理论是第谷的,不是开普勒的,更不是牛顿的。它有精密的三角函数表和对数表,但没有万有引力,没有椭圆轨道,没有微积分。它能精确预报日食、月食,能算出行星位置,但对这些天象的物理解释,用的是一套在欧洲本土早已被淘汰的宇宙观。

牛顿的《自然哲学的数学原理》在1687年出版——比《崇祯历书》晚五十年。此后几十年间,欧洲天文学已经用引力理论彻底改写了行星运动的理解。但这些新知识,没有进入清代的官方历法。传播是有选择性的。《崇祯历书》带来的是一个时代的最好工具,但那个时代是1620年代。中国在那个时间点接住了欧洲天文学的接力棒,然后把棒子举在那里,没有继续跑。

这不是哪个人的失败。传教士带来的是他们熟悉的东西,而他们最熟悉的是他们年轻时学到的东西。1645年之后,清朝钦天监的传教士们有稳定的职位和充足的经费,但他们的工作是维护一套已经建立的系统,而不是不断引进欧洲的新成果。三角学到了,对数到了,第谷体系到了。开普勒定律、牛顿力学、微积分——没有到。

这是《崇祯历书》在中国数学史上的最终定位:一次辉煌而不完整的引进。它引进的数学工具是真实有效的,至今仍是数学教育的基础内容。它带来的宇宙观是一个历史的过渡方案,在1644年还能用,在1744年已经落伍。中国接住了工具,没有接住后来不断更新的理论。从这个意义上说,《崇祯历书》是一扇打开了的窗——但窗外的景色,是静止的。


Chapter 41: 梅文鼎 — “历算第一名家"的会通工作

他是谁,为什么重要

梅文鼎(1633—1721)出生于《崇祯历书》完成的那一年,活到了亲眼看见自己亲手教导的孙子进入朝廷担任数学顾问。他一生从未身居高位,未曾通过最高级别的科举考试,也没有任何机构的资源支撑。他是最纯粹意义上的私家学者——靠家中积蓄、偶尔的资助,以及对一项事业近乎痴迷的投入,度过了人生最后六十年。

这项事业,就是会通。梅文鼎以少见的清醒认定:中国数学与西方数学,不过是同一片地形的两种测绘。他的使命,是将二者绘入同一张地图。为此,他写下了八十余部著作。

著作卷数年代主要内容
《方程论》6卷约1672年系统整理中国传统方程理论(天元术等),并与西方代数对照
《几何通解》1卷约1672年用中国传统勾股方法证明《几何原本》中的若干命题,打通中西几何
《平三角举要》5卷约1683年平面三角学,融合中西方法
《弧三角举要》5卷约1683年球面三角学,引入球面正投影辅助证明
《环中黍尺》5卷约1700年三角测量的实用方法
《几何补编》4卷约1700年正多面体和半正多面体的体积与内切球,受观察竹编灯笼启发
《历算全书》60卷1702年汇编其天文历算著作二十九种,进呈康熙帝
《勿庵历算书目》1卷约1703年梅文鼎亲自编写的著作目录,是研究清初数学史的重要文献

1702年,一位地方官员将梅文鼎的三卷本《历学疑问》转呈康熙皇帝。皇帝阅后批道:“此人用功深矣。“三年后,康熙第三次南巡,在德州传召年届七旬的梅文鼎进见,君臣二人谈论数学,连续数日。康熙亲笔题写"积学参微"四字,赐予梅文鼎。这四字的分量,相当于上天亲颁的终身教授衔。

梅文鼎的孙子梅瑴成随后被征召入京,参与编纂《数理精蕴》。这个家族,就此成为大清数学的一代世家。

“西学中源说”:一个聪明的政治策略

梅文鼎最具争议的观点——正是这个观点让他在政治上如鱼得水,在史学上却留下一笔难以抹去的疑案——便是西学中源说:主张西方数学起源于中国。

大意如下:《周髀算经》对直角三角形几何的运用,是球面三角学的远祖;西方在遥远的过去某种途径习得了中国数学知识,并在此基础上加以发展;因此,中国学者研习西方数学,不过是在追回属于自己的遗产。康熙皇帝采纳了这一立场,将其写入《数理精蕴》序言,奉为官方定论。

现代历史学家并不接受这一说法。希腊三角学是经由喜帕恰斯、托勒密,再经阿拉伯传递至文艺复兴时代的欧洲,独立发展而来,与中国的直角三角形方法在任何一个环节都没有文献可证的交集。“西学中源"说在文献学上站不住脚。

然而,要理解梅文鼎为何提出这个论断、又为何奏效,就必须回到他真正想解决的问题。他写作的对象不是历史学家,而是一个从小相信中华文明是天下知识中心的士人阶层。直接告诉这些人"欧洲人先想到了这些”,无异于在打一场注定输掉的舆论战。但若告诉他们,欧洲人在某种意义上一直是在运用中国的思想——研习西方数学,是一种找回,而非屈服——这才是一个真正能改变人心的论述。

降低了学习的心理门槛。 既然西方数学归根结底源出中国,那么研习它就不必感觉自己在文明上做出了什么根本性的让步。

赢得了皇权背书。 有康熙的支持,接受西方数学不仅被允许,更成了一种爱国之举。

在数学上并非毫无依据。 直角三角形关系确实同时贯穿于中国的测量方法和球面三角学,尽管二者的发展路径完全独立。

副作用也是真实存在的。那些花心思去"证明"西方曾从中国取经的学者,把本可用来学习西方此后实际发展成果的精力白白耗费了。西学中源说打开了一扇门,却也让人们习惯于站在门口张望,而不是迈步走进去。

梅文鼎的三角学会通:一道题,两种解法

梅文鼎做过的最令人叹服的数学工作,是把同一道题解了两遍——一遍用中国方法,一遍用西方方法——然后证明两种解法得出的答案完全相同。

取刘徽《海岛算经》中的经典题目:两根测杆各高三丈,相距一千步。从前杆后方一百二十三步处望去,视线经过前杆杆顶,正好对准远处海岛山顶。从后杆后方一百二十七步处望去,亦然。求海岛之高及其距离。

方法一:中国重差术。

刘徽的重差术不借助任何三角函数,只用比率。以简化数据 \(d = 100\),\(h = 3\),\(a = 12\),\(b = 13\) 为例:

\[H = \frac{h \cdot d}{b - a} + h = \frac{3 \times 100}{13 - 12} + 3 = 303\]\[D = \frac{a \cdot d}{b - a} = \frac{12 \times 100}{13 - 12} = 1200\]

方法二:三角术。

设仰角 \(\alpha_1\)(从距离 \(a\) 处测量)和 \(\alpha_2\)(从距离 \(b\) 处测量):

\[\tan\alpha_1 = \frac{H - h}{D + a}, \quad \tan\alpha_2 = \frac{H - h}{D + d + b}\]

消去 \(H - h\):

\[\frac{D + d + b}{D + a} = \frac{\tan\alpha_1}{\tan\alpha_2}\]

在小角度情形下,\(\tan\alpha \approx \alpha\),此比值关系恰好精确地退化为重差公式。两种方法出自截然不同的知识传统,却在同一个极限下殊途同归。

梅文鼎的总结言简意赅:“勾股之术,即三角之祖;三角之用,即勾股之流。“从数学上看,这句话说得不错:两套传统研究的都是直角三角形的几何,一套通过比例,一套通过函数。路径不同,却是同根兄弟。

梅文鼎对算术和代数的整理

明代将中国数学的传承之链切断了,令梅文鼎深感痛心。宋元两代的代数方法——以算筹表示多项式的天元术与处理四元方程的四元术——到了十七世纪已晦涩难解,连职业数学家也读不懂留存的文本。梅文鼎在《方程论》中尝试从尚可获取的残篇断简出发,重新梳理这条失落的线索。

他并未完全成功——关键文本《测圆海镜》和《四元玉鉴》当时尚未被重新发掘。但他确立了一个至关重要的前提,而正是这个前提,驱动了此后整整一个世纪的中国数学研究:在宋元学术的故纸堆里,埋藏着一套高度精密的代数传统,它只是暂时沉睡,等待重见天日。这一判断,在乾隆、嘉庆年间接踵而来的学者手中,被证明是完全正确的。

王锡阐:不盲从的天文学家

公元 1645 年,清军占领江南。在吴江县震泽镇,一个十七岁的少年听到亡国的消息,投河自尽,幸而遇救;随即又绝食七日,被父母强行喂食才得以生存。他叫王锡阐(1628—1682),从那一刻起,他再未参加科举,再未出仕为官,却把余生全部献给了一件几乎不可能完成的事:靠一个人的力量,从零开始,重新建立一套精确的天文历法。

王锡阐自学的方式令人叹服:没有老师,没有可以请教的同行,他靠夜夜爬上屋顶仰观星空,凭借目测积累观测数据,同时啃读《授时历》、《大统历》以及流传下来的《崇祯历书》。几十年下来,他成了那个时代对中西两套历法系统都了解最深的人之一。

他对西洋历法的态度,是中国数学史上最值得细细品味的立场之一:他不是拒绝,也不是盲从,而是真正读懂了汤若望的《时宪历》,然后逐条指出它的错误,并给出数学上的解释。

其中最具代表性的,是关于日食初亏和复圆时刻的计算。王锡阐指出,耶稣会的计算方法将月球的影子当作圆盘来处理——把遮食的几何模型过度简化了。而正确的模型应当把月球的本影理解为一个锥形,而不是圆盘:从太阳到月球,再从月球到地球,影子的边界应是直线,不是平行的圆柱面。这个几何差别在日食初亏和复圆的时刻计算上会产生可测量的误差。王锡阐的方法更精确,不是因为他有更好的天文数据,而是因为他用了更准确的几何模型。

他的《圆解》,是清代最早用严格演绎逻辑证明三角公式的著作之一。全书十二章,核心内容是用几何方法证明两角和差的正弦与余弦公式:

\[\sin(\alpha \pm \beta) = \sin\alpha\cos\beta \pm \cos\alpha\sin\beta\]\[\cos(\alpha \pm \beta) = \cos\alpha\cos\beta \mp \sin\alpha\sin\beta\]

他为 α 和 β 的不同大小关系分了六种情形逐一讨论,论证相当严密,体现出对逻辑结构的自觉。梅文鼎后来见到此书,评价它"熟复于此书,可以得其门户”。阮元在《畴人传》中评价"国初算学名家,南王北薛并称”——南方的王锡阐,北方的薛凤祚——两人的并称代表了清初中国数学界两种最重要的独立声音。

王锡阐于康熙二十一年(1682)秋在贫病中去世,年五十五岁,无子,遗稿散佚多年后才由潘耒等人收集整理。他的命运,和那个时代许多最优秀的独立学者一样:活着的时候不受重视,死后的著作半失传。

清初数学的更广生态:梅文鼎周围的人

梅文鼎、薛凤祚、王锡阐是清初数学的三个主角,但他们并非孤立存在。在同一时代,还有一批数学家在各自的方向上耕耘,构成了清初知识生活中一个颇为热烈的数学生态。

李子金(1622—1701),字子金,号隐山,河南柘城人。他是一位布衣数学家——终生不仕,靠家境维持学问——在中西数学会通中发挥了积极的传播作用。他善"勾股嘉量之术”,在清初以精通相似三角形的测量技巧著称,据说能目测建筑高度或水深并给出精确数字。他为杜知耕的著作写有序文,是那个时代民间数学交流网络中的节点人物。其著作《算法通义》在清初流传,参与了那一代对中西数学关系的讨论。

方中通(1634—1698),字位伯,号陪翁,安徽桐城人,是明末清初思想家方以智之子。少年时遭逢明清鼎革,流离广东,随父避难。后从波兰传教士穆尼阁学习笔算,又自行研读《几何原本》与《同文算指》。他的代表作《数度衍》于1661年完成,全书以八卦名分册,企图把勾股之术的根源追溯到河图洛书——这是清初"数学哲学化"尝试的一个典型案例,在逻辑上并不成功,但在实际数学内容上是一部包含算术、几何(《几何原本》前六卷的缩编"几何约”)、纳皮尔筹算等内容的综合性教材。

杜知耕,著有《数学钥》和《几何论约》,是用中国语言重新讲解《几何原本》的又一尝试。他的工作定位于实用:为那些想了解欧氏几何基本内容但没有时间读长篇翻译版本的人,提供一个简明的入口。《几何论约》将《原本》的论证浓缩为更易于中国读者接受的形式,去掉希腊公理体系的框架,留下命题和结论。

张潮(1650—约1707),字山来,号心斋,安徽歙县人,是《虞初新志》的编者,以文学著称。他在数学上的贡献集中于纵横图(幻方)。他系统研究了三阶到十阶的幻方,并在前人基础上给出了新的构造方案,把中国的幻方研究推进到了更大阶数。他的工作,是中国幻方传统从杨辉(13世纪)到清代的延续,也是这一传统在清代获得新一轮关注的起点。

陈世仁,著有《少广补遗》,主要关注传统"少广”(开方、体积)章的遗留问题,对西方数学持更为保守的立场,倾向于从中国古典方法内部寻找解答,而不是引入外来工具。

陈厚耀(1648—1722),字泗源,江苏泰州人,康熙末期天文算学家,参与了若干历算计算工作,并对《九章算术》中的若干题目进行了深入的数值研究。

孔林宗(字逸房,河南杞县人,生卒年不详),是梅文鼎学派最亲密的合作者之一。他与梅文鼎相识于汤斌的引介,二人意气相投,成为密友。孔林宗深入研习三角学,在"切线分角之法"上与梅文鼎有长期讨论;梅文鼎的《弧三角举要》“发明"一节中,明确提到"中州孔林宗学博"的建议。他还写有《大测精义》,其中"求半弧正弦法"被梅文鼎评价为独到之见。孔林宗的著作大多散佚,但他在传播和深化梅文鼎数学思想上发挥了不可忽视的作用。

魏荔彤(字念庭,河北柏乡人,生卒年不详)和杨作枚(字学山,江苏无锡人)在梅文鼎的身后工作中扮演了关键角色。梅文鼎去世时,大量著作稿件虽已完成,却尚未刊行。魏荔彤从梅文鼎之孙梅珏成处取得稿本,自费组织出版;他又专程请来杨作枚——与梅文鼎家族有旧的天算学家——逐卷校订,疏通文字,并在若干篇章末尾补充"发明”(按语与延伸讨论)。经两人整理的《梅氏历算全书》,成为后世研究梅文鼎最重要的文本依据。阮元在《畴人传》中便是据此为梅文鼎立传的。没有魏荔彤和杨作枚,梅文鼎大量成果或许就此湮没于书箱底层。

毛宗旦(钱塘人,约康熙至雍正年间在世)在梅文鼎的影响下转而研究传统古算。他的《九章蠡测》十卷首一卷,是清初为数不多的主动尝试"复原"《九章算术》算法体系的著作——不借助西法,不依赖乾嘉学者后来建立的版本校勘体系,完全凭借对传统数学的自行诠释。这种复原在学术上并不成功,但它代表了一种在乾嘉考证运动兴起之前就存在的、独立的传统主义数学冲动。屠文漪(字莼洲,江苏松江人,生卒年不详)有类似取向,著有《九章录要》,以传统方法重新诠释分数、勾股等古典题目,是这种康熙末年"回归古算"风气的另一个见证。

这一批人加上梅文鼎、薛凤祚、王锡阐,构成了清初数学史上最集中的一次代际聚合——西方数学的第一波冲击刚刚消退,乾嘉考据的浪潮尚未到来,他们在两个时代之间,各自以不同方式回应同一个问题:中国数学的下一步是什么?


梅文鼎的生平:一个自学者的六十年

梅文鼎(1633—1721),字定九,号勿庵,安徽宣城人。他出生在明清鼎革之前,活到了康熙六十年。一生从未通过会试,没有任何官职,没有任何机构的资源支撑——靠家境、偶尔的资助,以及对历算近乎痴迷的投入,度过了从27岁到89岁的漫长研究生涯。

他的起点是拜竹冠道士倪观湖为师,学习《大统历算》,三年后写成《历学骈枝》4卷,连老师也称赞他"智过于师"。此后他"艰苦奋斗近60年,从未间断",在所有能接触到的中西历算著作上倾注了全部精力。1689年他专程赴京,原本是为了拜访传教士南怀仁,却发现南怀仁已去世;但此行结识了大学士李光地和传教士安多(Antoine Thomas),眼界大开。在李光地家中,他"无一刻暇,虽无事时掩户一室中如伏气,无非思历算之事"。这六十年孤独的学术生涯,是整个清代最纯粹的知识人形象之一。

**“历算第一名家”**这个称号,来自数学家江永(1681—1762)在《翼梅》序文中的评价,后被阮元录入《畴人传》,从此成为梅文鼎的固定标签。1705年,康熙第三次南巡,在船中亲自召见年逾七旬的梅文鼎,连续数日谈论历算,临别亲书"积学参微"四字相赠。这是一个皇帝所能给予平民学者的最高荣誉。

梅文鼎的著作体系:一份分科目录

1721年梅文鼎去世时,留下天文及数学著作80余种。其孙梅瑴成后来精选25种共62卷,编成《梅氏丛书辑要》(1761年)。按梅文鼎自己的分类,数学著作分为算术、代数(量法·算术中的算术一支)、几何(量法一支)、三角四大类:

著作卷数年代主要内容
《笔算》5卷1693年将西方笔算改为竖写,中国最早自撰笔算书之一;明确表述乘法交换律
《筹算》2卷约1680年以横筹直写改造纳皮尔筹,配合笔算使用
《比例数解》4卷约1690年代对数理论及用法,深入浅出地介绍这一欧洲17世纪新成果
《度算释例》2卷1717年定稿比例规(伽利略发明)的制作原理与10种刻度线的使用
《少广拾遗》1卷1692年开方术;把贾宪三角推广为"廉率立成图",列出从平方到13次方的二项式系数
《方程论》6卷1672年线性方程组,按系数分四类,纠正《算法统宗》等书的错误,举90余例
《勾股举隅》1卷约1692年用"出入相补"图法证明勾股定理;梳理勾、股、弦与面积的代数关系
《几何通解》1卷约1692年用中国传统勾股方法证明《几何原本》前六卷若干命题
《几何补编》4卷约1692年正多面体与半正多面体的体积和内切球,受观察竹编灯笼启发而作
《平三角举要》5卷1684年中国最早的平面三角学专著,融合中西方法
《弧三角举要》5卷1684年球面三角学,首次使用球极投影把球面三角化为平面问题
《环中黍尺》5卷约1700年进一步发展球面三角,球极投影思想比西方类似提出早约百年
《历算全书》60卷1702年汇编29种天文历算著作,进呈康熙帝

三角学的系统中国化:以勾股贯通八线

梅文鼎的三角学会通工作,核心思路是一句话:“三角即勾股之精理,八线乃勾股之立成也。“这里的"八线"指西方引入的六种三角函数(正弦、余弦、正切、余切、正割、余割)加上矢和余矢——共八条与圆半径相关的线段。

他的出发点是:西方的正弦,不过是直角三角形中对边与斜边之比;而中国勾股数学,研究的也是直角三角形中各边的比率关系。两者的方法路径不同,但研究的对象在本质上是一样的。

一个具体例子: 梅文鼎如何定义正弦

在梅文鼎的框架里,正弦 \(\sin\theta\) 被理解为:以半径 \(R\) 的圆内,圆心角为 \(2\theta\) 的弦长之半。这与托勒密、阿拉伯以及欧洲文艺复兴的做法完全相同——但梅文鼎用中文数学语言重新推导了全套关系。

以余弦定理为例,西方写法为:

\[c^2 = a^2 + b^2 - 2ab\cos C\]

梅文鼎的中国化处理:设 \(\angle C\) 为已知角,从 \(C\) 向 \(c\) 的对边作垂线,分为两段勾股形,然后用"勾股相减"消去辅助垂线,最终得到同一结论。整个推导过程没有出现"余弦"二字,用的是"以弦乘弦,减去两弦夹角的积"等中文算法语言。他的结论是:“先知勾股而后可以论三角,先知平三角而后可以论弧三角。”

《平三角举要》和《弧三角举要》两书,成为清代最重要的三角学教科书,直接推动了17世纪以来中国学者对三角方法的普遍接受。

《几何通解》:同一定理的两条路

梅文鼎在《几何通解》中重新证明了《几何原本》前六卷的若干命题,方法是用中国传统的"出入相补”(面积切割与拼合),而不是欧几里得的逻辑演绎链。

以勾股定理(《原本》第一卷命题47)为例,欧几里得用平行四边形和全等三角形的一系列逻辑推导证明了正方形面积关系。梅文鼎的做法是:画出三个正方形(勾方、股方、弦方),然后剪贴——把弦方中的两块三角形碎片拼到另外两处,使弦方恰好变成勾方与股方的组合。这是东汉赵爽"勾股圆方图"以来中国数学的一贯风格:用几何直觉代替逻辑链条

梅文鼎自己在《几何通解》中写道:“几何不言勾股,然其理并勾股也。“他的结论是:同一个数学真理可以有两种完全不同的证明路径,中西数学在"理实同归"这一层面上是相通的。这个判断在数学哲学上是有依据的,但他随后走得太远,用它支持"西学中源"说——这是值得区分的两件事。

“西学中源"说:一个有功能的错误

梅文鼎最著名也最有争议的观点,是西学中源说:西方数学起源于中国古代,通过"周末畴人子弟分散,抱书器西征"传入欧洲。

这个说法在文献学上无法成立。希腊三角学经由喜帕恰斯、托勒密,再经阿拉伯中介,独立传至欧洲,与中国的勾股方法在任何一个环节都没有文献可证的交集。《中国数学史大系》第七卷对此的评价是直接的:“西学中源说的错误不必多言。”

然而,这个错误在当时有其清晰的社会功能:

降低了心理门槛。 如果西方数学起源于中国,研习它就不是屈服于异族文明,而是在追回本属于自己的遗产。在一个清代学者普遍认为"中华文化是天下知识中心"的时代,这个叙事框架降低了接受西方数学的阻力。

赢得了皇权背书。 实际上这一观点的始作俑者是康熙皇帝本人——他在《三角形论》中率先写下"西学实源于中法”,梅文鼎随后积极发挥。有皇帝的支持,接受西方数学不仅被允许,更成了一种爱国行为。

负面作用也真实存在。 那些努力去"证明"西方数学来源于中国的学者,把本可用来学习西方后续实际发展的精力白白消耗了。《大系》的判断是:“梅文鼎宣传西学中源说,还包含着传播西方科学的目的……但妨碍了对西学的深入研究。”

梅文鼎对中国传统数学的整理

梅文鼎不只吸收西方数学,也是清代最早认真整理宋元数学遗产的学者之一。他的《少广拾遗》是他对中国古代开方术的重新梳理。书中把贾宪三角从平方推广到13次方,列成"廉率立成图”——这是宋元增乘开方法在清代的第一次认真整理。

遗憾的是,梅文鼎时代关键文本《测圆海镜》和《四元玉鉴》尚未被重新发掘,他对天元术的理解是残缺的,《少广拾遗》对增乘开方的处理也不如宋代完整。但他做到了一件重要的事:他确立了一个方向,让此后一代学者相信在宋元故纸堆中埋藏着一套精密的代数传统,值得重新挖掘。这个判断,在乾嘉考据学派手中被证明完全正确。

梅文鼎的学术影响:从家族到学派

梅文鼎死后,大量稿件尚未刊行。魏荔彤杨作枚自费组织出版,逐卷校订,编成《梅氏历算全书》,这是后世研究梅文鼎的基础文本。其孙梅瑴成精选25种编成《梅氏丛书辑要》(1761年),并参与编纂《数理精蕴》,使梅文鼎的成果正式进入清代官方数学体系。

在学派意义上,梅文鼎开创的安徽数学学派有两个特点:一是会通中西,二是把数学明确分为几何(量法)和代数(算术)两类,分别著书。这种分科意识在中国数学史上是相当新颖的。

其直接影响的人物:戴震(1723—1777)以梅氏《筹算》为蓝本写《测算》,江永(1681—1762)著《翼梅》阐发梅氏数学理论,焦循汪莱李锐等乾嘉学派数学家都尊梅氏为先驱——其中焦循在梅文鼎明确表述的运算律基础上,写成专著《加减乘除释》。

Chapter 42: 康熙帝与《数理精蕴》

一个真正学数学的皇帝

1668年,钦天监爆发了一场争议,彻底改变了中国数学史的走向。

保守派以官员杨光先为首,抨击汤若望(Adam Schall)的西法历书,荒唐地给他扣上叛国的帽子。汤若望被投入监狱。南怀仁(Ferdinand Verbiest)挺身而出,为西方天文学辩护。双方奉命当众较量:推算未来某一特定日期正午日晷的影长,谁算得准,谁的天文体系就被中国采用。

南怀仁赢了,西方天文学得以留存。然而年轻的康熙皇帝全程旁观这场较量,内心涌起一种不安的清醒:满朝文武——无论礼部、内阁,还是九卿——竟无一人真正通晓任何一套天文体系,根本没有能力凭学识判断孰是孰非。他们不过是看了一场表演,在不懂规则的情况下为胜者鼓掌。

康熙多年后以罕见的坦诚记述了这段经历:

“朕幼时,钦天监汉官与西洋人不睦……九卿中无一知其法者。朕思己不知,焉能断人之是非,因自愤而学焉!”

这是整个帝王教育史上最令人钦佩的话之一。他学数学,不是为了在朝臣面前炫耀。他是因为清楚地认识到自己治国能力存在真实的漏洞,而决心将其弥补。

康熙帝的数学学习历程

康熙的数学学习历程历经三十年,跨越了三代老师。

第一阶段(1670年代):南怀仁。 在赢得日晷较量、重掌钦天监之后,南怀仁成为康熙第一位正式的科学老师。南怀仁还重新设计并铸造了北京观象台的六件天文仪器,全部依照欧洲风格——至今仍矗立在那里,青铜被岁月侵蚀,默默见证着清朝接纳欧洲科学体系的历史时刻。在南怀仁门下,康熙学习了基础知识:几何推理、天文测量和仪器使用。

第二阶段(1690年代):张诚与白晋。 1688年,路易十四出于维系对华外交关系的考量,派遣六位"国王数学家”(mathématiciens du roi)来华。其中张诚(Jean-François Gerbillon)和白晋(Joachim Bouvet)被专门留在宫廷担任御用教师。两人以满语教授康熙——皇帝觉得古典汉语不适合表述数学推理——所用教材是译成满文的法文教科书。张诚的日记详细记录了授课情形:每天从早上九点上课到正午,有时下午继续。内容包括欧几里得平面几何(逐卷讲解)、比例论、立体几何、代数方程,以及三角函数的定义与计算。

白晋后来为法国读者写了一部康熙传记:

“The Emperor spent entire hours with us… whenever he arrived at the most valuable knowledge in geometry, he always wished to apply it to practice. He intended to read all the theorems from beginning to end more than twelve times, so that he might keep them in memory.”

这并非外交辞令。北京故宫博物院至今珍藏着康熙亲手书写的满文《几何原本》抄本,以及若干张皇帝亲笔演算几何题的纸页。

第三阶段(1700年代以后):自学深造。 到康熙五十多岁时,他的数学积累已足以独立评判各种数学论证。他亲自撰写了一份关于三角形几何的手稿,收集并亲身使用了多件计算工具,其中包括一把伽利略约在1590年代设计的比例规,以及一套纳皮尔筹——纳皮尔在发明对数的同时设计的木制乘法辅助工具。

宫廷里的计算机器

清代宫廷收藏的仪器中,有一件值得特别提及:机械计算机。故宫博物院现存数台,其构造原理与帕斯卡1642年发明的"帕斯卡加法器"相同——一组相互咬合的齿轮,每个轮面有0到9共十个刻度,通过进位机构相连:任意一个轮从9拨到0时,左侧的轮自动进一位。转动手柄,齿轮便完成运算。

这些计算机对于熟练的珠算师而言并不比算盘更快,造价也远比算盘昂贵。但它们意义深远——它们证明了一件事:算术,这项区别学者与文盲的基本运算能力,可以由机器来完成。对于一位将权威部分建立在掌握专门知识之上的君主来说,一台会做算术的机器,其哲学意义远超效率本身。

比例规的妙用

比例规(又称扇形尺,由伽利略约于1597年设计)是一把铰链式双臂直尺,两臂上刻有多组比例尺,用于免算解比例题。

假设你手持一张比例尺为1:50,000的地图,量得两点间距为3.7厘米,实际距离为:

\[3.7 \text{ cm} \times 50{,}000 = 185{,}000 \text{ cm} = 1.85 \text{ km}\]

用比例规则无需任何运算:将两臂张开至等分尺上读数为50的位置,找到3.7,直接读出答案。这一机制以几何比例取代数值乘法。对于每天需要进行数十次比例换算的测量师、炮兵军官和建筑师来说,它的解放意义堪比对数表——只是制作起来更费工夫。

康熙宫廷收藏了多把比例规,《数理精蕴》专设一节讲述其用法。这正是康熙数学工程的一贯思路:引进欧洲数学开发的每一种实用工具,严格理解其原理,系统地加以教授。

《数理精蕴》:清代数学的百科全书

1712年,康熙下令编纂一部大型数学百科全书,作为《律历渊源》丛书的组成部分。数学分卷《数理精蕴》共五十三卷,由梅珏成(梅文鼎之孙)和何国宗主持编纂,于雍正元年(1723年)刊行。

上编(五卷):数学基础。 完整的欧几里得几何——定义、公理、平面几何、立体几何、比例论——内容之完备、可读性之强,均远超1607年徐光启与利玛窦合译的版本。全书为未受公理化传统熏陶的中国读者量身写就,穿插说明性文字与例题。

下编(四十卷):计算应用。

  • 算术(四则运算笔算、分数、小数、开平方立方)
  • 借根方(代数,详见下节)
  • 三角学(平面与球面三角,附完整函数表)
  • 测量与实用几何
  • 对数理论与对数表

表格(八卷): 六种三角函数及其对数,精确到小数点后五位、每弧分一格——迄今在中国出版的最完整、最精确的数学用表。

《数理精蕴》此后一百余年间一直是清代数学的标准参考书。18世纪的中国人想学数学,从这里起步。

借根方:代数的第一次系统引入

《数理精蕴》下编中概念上最具突破意义的部分,是借根方,也就是代数。这个名字精准而传神:“借根方”——“根"是你暂时借入计算的未知量,求出其值后归还。

完整示例:

有两个数:差为4,积为21。求两数。

设较大的数为借根(记为 \(x\)),则较小的数为 \(x - 4\)。

\[x(x - 4) = 21\]\[x^2 - 4x = 21\]\[x^2 - 4x - 21 = 0\]

配方(加上一次项系数之半的平方):

\[x^2 - 4x + 4 = 21 + 4 = 25\]\[(x-2)^2 = 25\]\[x - 2 = \pm 5\]

取正根:\(x = 7\),较大的数是7,较小的数是3。

验证:\(7 - 3 = 4\) ✓,\(7 \times 3 = 21\) ✓。

这在今天是标准的初中代数。但在1723年的中国,这是第一次以中文系统呈现这种符号操作——列出方程、变换方程、提取根。借根方在一个关键方面比宋元天元术更具思想意义:它明确提出,对方程的形式本身进行变换是一种合法的数学行为。方程是可以被操作的对象,而不仅仅是某个计算过程的表示。


《数理精蕴》的西方数学来源

《数理精蕴》(1723年)在选取西方数学内容时,有明确的取舍。上编五卷全面呈现欧几里得几何,涵盖定义、公理、平面几何(相当于《几何原本》前六卷)和立体几何,可读性远超徐光启—利玛窦1607年版本。下编四十卷中,最具概念突破意义的是借根方(代数)和对数两部分,此外还有平面与球面三角学、测量与实用几何。

借根方的西方渊源是笛卡尔(René Descartes)和韦达(François Viète)的符号代数传统,经由法国耶稣会士传入。“借根方"的命名方式颇为传神:中文将未知数称为"根”(对应拉丁文 radix,“词根"之义),“借根方"即"暂时借入一个根来建立方程”。

对数部分收录了完整的六种三角函数及其对数,精确到小数点后五位、每弧分一格。这是借助纳皮尔1614年发明的对数原理、布里格斯(Henry Briggs)完善的常用对数(以10为底)体系。编纂者何国宗等按原表重新核算,并补入汉字注释,使之成为清代最完整、最精确的数学用表,此后百余年间一直是标准参考。

借根方:一个完整示例

《数理精蕴》以"借根方法"名称系统呈现代数方程的建立与求解。其方法步骤如下:

设根: 令所求之数为借根(记 \(x\))。

立方程: 依题意用 \(x\) 建立等式。

变换方程: 通过移项、合并同类项,化为标准形式。

开方求根: 配方或直接求根。

原书例题:“有两数之差为4,积为21,求两数。“设较大数为 \(x\),则较小数为 \(x-4\)。

\[x(x-4) = 21 \implies x^2 - 4x - 21 = 0\]

配方:

\[\left(x-2\right)^2 = 25 \implies x = 7 \text{(取正根)}\]

较大数为 7,较小数为 3。验证:\(7-3=4\),\(7\times 3 = 21\),均符合。

这在数学内容上不算新奇,但"对方程形式本身进行变换是合法的数学操作"这一观念,在中国数学中通过借根方第一次被系统表述,构成了方程论认识论上的一步重要推进。

比例规:相似三角形的计算机

比例规(又称扇形尺、成比例规,意大利文 compasso di proporzione)由伽利略约于1597年设计,罗雅谷在1630年据其著作《De proportionum instrumento a se invento》写成《比例规解》,是《崇祯历书》和《数理精蕴》共同收录的计算工具。

比例规由两根刻有多组等分刻度的可折叠臂组成,靠一枚铰链相连。其数学原理是:两臂张开时,任意跨度下,两对应刻度间的读数之比恒等于臂长之比——即相似三角形的性质。

若需求 \(a : b = c : x\),操作步骤为:将两臂张开至使"等分尺”(线性刻度)上 \(a\) 和 \(b\) 的读数分别对准两臂;然后在 \(c\) 的位置读取另一臂对应点,即得 \(x\),无需任何算术运算。具体而言,相似三角形给出:

\[\frac{a}{\text{臂长}_1} = \frac{b}{\text{臂长}_2} \implies \frac{c}{x} = \frac{a}{b}\]

比例规上通常刻有六到八组不同类型的刻度:用于一般比例的等分尺(線)、用于面积比的平方根尺(面)、用于体积比的立方根尺(体)、用于炮弹口径换算的金属密度尺,以及多边形内切圆和外接圆比例尺等。《数理精蕴》专设一节介绍比例规的用法,故宫博物院至今藏有各种材质和类型的比例规数十具,其中一部分正是《崇祯历书》编撰期间所制或购入的。

纳皮尔算筹:乘法的木制辅助器

纳皮尔算筹(Napier’s Bones,又称Napier’s Rods)由纳皮尔于1617年在《Rabdologia》中正式介绍。它是在若干块窄长木片上刻印乘法表:每块木片代表0到9中的某个数字,从上到下分别写出该数与1到9的乘积,每格内用对角线分隔十位和个位。

使用时,将被乘数的各位数字对应的木片并排摆放,要计算乘以某个一位数时,从对应行的斜格中读数并对角线相加,即得乘积。例如计算 \(5179 \times 8\):取写有5、1、7、9的四块木片,从第8行读取各格数字并斜向相加,得 \(41432\)。多位数相乘则将此过程重复数次,最后错位相加。

纳皮尔算筹与中国传统算筹(用于表示数字的小棍)名称相似,但原理完全不同:前者是预制的乘法表辅助工具,后者是用于摆放数字和进行计算的位值符号系统。罗雅谷据《Rabdologia》写成《筹算》,汤若望后又写成《筹算指》详加介绍。这两件工具——比例规与纳皮尔算筹——构成了《崇祯历书》编撰和《数理精蕴》实际使用中最主要的辅助计算手段。

康熙的数学学习与《数理精蕴》的政治背景

《数理精蕴》的编纂在政治上有两层意图,表面上略有矛盾。

其一,康熙确实热爱数学,且学习程度相当深入。他从南怀仁(Ferdinand Verbiest)、张诚(Jean-François Gerbillon)、白晋(Joachim Bouvet)三代老师处学习,所学内容涵盖欧几里得几何的逐卷讲解、比例论、代数方程和三角函数。白晋记录康熙"亲自推演的次数不少于十二遍”,北京故宫博物院至今存有康熙亲手书写的满文数学演算稿本。1712年命梅珏成(梅文鼎之孙)与何国宗主持编纂《数理精蕴》,是这三十年数学学习的一次系统性总结。

其二,《数理精蕴》同时服务于"西学中源说"的政治叙事。康熙在序言中采纳了梅文鼎的立场,将西方数学的起源追溯到中国,把《周髀算经》对勾股定理的应用定义为西方球面三角学的远祖。这使接受西方数学从"文明让步"变为"追回遗产”,在心理上降低了士大夫阶层的抵触。

《数理精蕴》的实际影响是真实的:此后一百余年,凡清代学者想系统学习数学,这都是最重要的教材。但它的局限同样是真实的:全书以知识百科的方式呈现数学,没有推导微积分所需的极限概念,没有介绍牛顿或莱布尼茨的任何工作,使中国数学在一个决定性的时刻被封存在了前微积分时代。康熙的数学工程开辟了一扇窗,但这扇窗朝向的是1620年的欧洲,而不是1720年的欧洲。

《数理精蕴》的编撰班底与工作方式

《数理精蕴》的编撰工作是一个典型的清代宫廷学术项目:由皇帝授权、传教士提供欧洲来源的数学知识、中国学者负责将其翻译和整理成符合汉文学术规范的文本。

实际主持此书编撰的传教士,除梅文鼎已逝、未能参与外,核心人物是托马斯·佩雷拉(Thomas Pereira, 中文名徐日昇,1645–1708)、约阿希姆·布韦(Joachim Bouvet, 中文名白晋,1656–1730)和皮埃尔·雅尔图(Pierre Jartoux, 中文名杜德美,1668–1720)。三人来自法国和葡萄牙的耶稣会,在数学上都有相当的训练。杜德美的贡献尤其关键:他向明安图传授了与圆周率和三角函数相关的级数公式,而明安图后来用中算方法独立推导和证明了这些公式(见下章),可见《数理精蕴》的编撰过程本身也是一个知识传递和激发的过程。

中国方面的主要参与者包括梅瑴成(梅文鼎之孙,1681–1763)和陈厚耀(1648–1722)等人,他们负责用地道的汉文数学语言重写传教士提供的内容,并补充若干中算传统的内容以实现"会通"的政治要求。

《数理精蕴》的整个编纂过程历时约十年(大约1713至1723年),恰好跨越了康熙帝生命的最后阶段。它在康熙去世(1722年)后由雍正朝刊行,但习惯上仍以"奉康熙帝敕编"著录。这种政治上的归属,使《数理精蕴》成为中国数学史上极少数能够确切说明"皇权直接参与知识生产"的案例之一。

天元术与借根方:两套代数的相遇

在《数理精蕴》的所有内容里,借根方与宋元天元术的关系,是最值得细究的一处。

天元术是宋元数学的一项重要成就。它用"元"作为未知数的符号,把多项式方程的系数排列成一列数码(称为"算筹式”),通过筹算操作完成方程的建立和变换。李冶的《测圆海镜》(1248年)是其成熟形态的代表作。天元术能建立并求解高次多项式方程,这是它的优势。

借根方的欧洲来源,是笛卡尔(René Descartes)和韦达(François Viète)建立的符号代数体系。它用字母 \(x\)(或中文"根”)表示未知数,把方程写成我们现在熟悉的形式,然后通过移项、配方、因式分解等代数操作求解。

两套系统,面对同一类问题,本质上是等价的——这一点,清代学者经过反复比较,逐渐认识清楚了。但它们的书写形式截然不同,各有长短:

天元术用筹算的位置系统来表示多项式,非常紧凑,但难以直观地看出方程的代数结构;借根方用符号显式写出方程,结构一目了然,但计算时需要处理更多的书写步骤。

《数理精蕴》选择了借根方,而不是呈现两套系统并加以比较。这个选择意味着:在整个18世纪,清代学者学代数,学的是借根方的语言,而不是天元术的语言。宋元数学的天元术传统,在《数理精蕴》颁行之后实际上进入了一段沉寂期,直到乾嘉考据学派重新发掘古算书,才重新进入学界视野。这是《数理精蕴》无意中造成的一个知识断层。

以一个具体例子说明两者的差异。问题:“差为4,积为21,求两数。”

天元术方式(李冶传统):设天元为一(令 \(x\) 为两数中较大者),则两数之积为:

\[x \cdot (x - 4) = 21\]

在筹算中,这被表示为从上到下排列的系数:\(1\)(二次项),\(-4\)(一次项),\(-21\)(常数项),对应方程 \(x^2 - 4x - 21 = 0\),再用增乘开方法求根。

借根方方式(《数理精蕴》):设借根为 \(x\),列方程 \(x(x-4) = 21\),展开后配方:

\[(x - 2)^2 = 25 \implies x = 7\]

结果相同,路径相似,但书写语言不同。天元术的算筹格式是为算盘和筹算设计的;借根方的符号语言是为纸笔运算设计的。《数理精蕴》刊行之后,纸笔代数就成了清代数学的主流书写方式。

康熙帝的数学收获与历史局限

康熙个人的数学学习是真实深入的,这一点无需怀疑。但这里有一个历史的讽刺值得记录。

康熙当了六十一年皇帝(1661—1722),是中国历史上在位时间最长的皇帝之一。他学数学,学了三十年,达到了相当高的水平——至少,他能够理解欧几里得命题的逻辑结构,能够检验代数方程的求解步骤,能够评判天文预报的精度。这在世界帝王史上也属罕见。

但他没有利用这种理解做一件看似顺理成章的事情:他没有改革科举制度,没有在官学中系统设立数学课程,没有建立一所类似法国科学院或英国皇家学会那样的数学研究机构。

为什么?

一个可能的答案:康熙的数学学习是君主的学习,不是制度的建设。他学数学,是为了能够裁决技术争论(就像1668年的历法之争),是为了不再被臣下蒙蔽。这是权力的需要,不是知识普及的需要。他没有理由——从他的政治逻辑出发——让每个举人都懂代数。科举的功能是选拔治理人才,而治理人才的核心是儒家礼仪和行政文牍,不是球面三角学。

《数理精蕴》的出版,在某种程度上恰好反映了这种局限:它是一部百科全书,供有志者查阅,而不是一套课程,强制所有人学习。它的读者,是自愿学数学的人——这个群体,在科举制度下,始终是少数。

康熙的数学工程培养了一代数学家(梅瑴成、明安图,以及他们各自的学生),却没有改变产生数学家的社会机制。一百年后,当嘉庆、道光年间的士人再度发现《崇祯历书》里的数学知识已经过时,他们面对的,仍是一个没有数学教育制度的知识社会。

《数理精蕴》的遗产:一部书的一百五十年

《数理精蕴》从1723年刊行,到19世纪中叶西方现代数学再次大规模涌入中国之前,始终是中国最重要的数学参考书。这一百五十年里,它扮演着几个不同的角色:

教材:凡清代学者想系统学习欧几里得几何,想了解代数方程的求解方法,想查阅完整的对数和三角函数表,从这里起步。书中欧几里得平面几何的呈现,比1607年徐光启—利玛窦版本更系统、更易读,成为18世纪学者接触公理化几何的主要入口。

权威来源:《数理精蕴》是皇帝钦命编纂的,这个政治背书在清代知识界有特殊的重量。引用《数理精蕴》的结论,等于引用一种已获朝廷认可的知识权威。这既是它的优势,也是它的包袱——因为这种权威使得独立批评变得困难。

传播节点:通过《数理精蕴》,对数和借根方得以在清代学者中广泛流通,不再只是局限于与传教士有直接接触的人群。薛凤祚在17世纪下半叶传播对数,覆盖面有限;《数理精蕴》把同样的知识以官方认可的形式覆盖到更广的读者群。

边界标志:《数理精蕴》也清楚地标示了清代官方数学的知识边界。微积分不在其中,概率论不在其中,解析几何仅以零星提及存在。这道边界,在整个18世纪和19世纪初,是清代数学与同期欧洲数学之间最大的鸿沟。

一部书,定义了一个时代的知识视野。这是《数理精蕴》在历史上最深刻的意义,也是它最沉重的责任。


Chapter 43: 明安图与无穷级数 — 独立的发现

杜德美带来的三个公式

1720年,法国耶稣会士杜德美(Pierre Jartoux)发表了一篇简短的文章,介绍三个无穷级数。他在某处得到了这些公式——可能来自欧洲学者的通信,也可能来自耶稣会数学家之间流传的手稿——但他不知道如何证明它们。他清楚地写出了这三个公式,给出数值验证以证明其精确,然后补了一句话,回望历史,这句话犹如一根埋入地下的引信:

“或许中国的数学家能够找到证明。”

三个公式,用现代记法写出:

\[\sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + \cdots\]\[\arcsin x = x + \frac{x^3}{6} + \frac{3x^5}{40} + \frac{15x^7}{336} + \cdots\]\[1 - \cos x = \frac{x^2}{2!} - \frac{x^4}{4!} + \frac{x^6}{6!} - \cdots\]

这三个公式,詹姆斯·格雷戈里早在1671年于苏格兰已经推导出来,牛顿也在1669年的未刊手稿中记录了它们。杜德美大概是通过耶稣会的学术渠道得到的,但没有附带证明——因为证明所需的工具是微积分,而格雷戈里和牛顿正是用微积分得出这些结论的。

梅珏成约在1725年将这三个公式收录进《赤水遗珍》。中国数学家从此知道了这些结论,却无人知晓它们为什么成立。

明安图:四十年一个人

明安图(约1692—1763)是蒙古族人,年少时被编入八旗军制,分派到钦天监任职。这是一个实务性岗位——钦天监需要数学家从事历法推算和地图测绘工作。1750年代,明安图带队赴新疆,为清朝的大型测绘工程《皇舆全览图》精确测量了二十余处地理坐标。

换句话说,他是一位肩负实际职责的政府科学家。而在这些职责之外所剩的时间里,他花了大约四十年,执着于杜德美的三个公式。

他用一个后来在中国数学史上广为流传的意象,说明了自己的动力:

“仅有其法,而未详其义,恐人有金针不度之疑。”

“To have only the method but not the principle — people will suspect you of hiding the golden needle.”

“金针"出自一则旧典:一位绣花高手将所有技法悉数传授给学生,唯独不教最关键的一道——穿针。杜德美的公式是精美绝伦的绣品,但没有人示范如何穿针。

于是明安图开始了这项工作。他与欧洲数学完全隔绝——清代钦天监里一个蒙古族官员,根本没有渠道读到伦敦或巴黎的数学期刊,也看不到欧洲大学里流传的拉丁文论著。他手头只有中国数学的典籍、在钦天监学到的方法,以及杜德美给出的三个结论。仅此而已。

这项工作吞噬了他的全部心力。约在1763年,他临终前将学生陈际新唤到床前,说道:

“我研究此事多年,至今未竟。望你与同学们继续下去——此乃我之心愿。”

陈际新、明安图之子明新,以及另一位学生张良田接续了这项工作。手稿于1774年最终整理成书,距明安图动笔已历三十余年,书名为《割圆密率捷法》。此书直到1839年才正式刊行——距研究开始将近一百年。明安图从未见到自己的书付梓问世。

割圆连比例:一套独特的无穷逼近

明安图的方法称为割圆连比例。它不用微积分,不用导数,不用积分,整套论证完全建立在圆的几何上,从弦、弧与矢(弓形的高)之间的关系出发。

基础知识很简单:在半径为 \(r = 1\) 的单位圆中,长度为 \(c\) 的弦所对应的矢为 \(s = 1 - \sqrt{1 - c^2/4}\)。

将弧二等分时,半弦和半矢可以用原值来表示。半角公式给出:

\[\cos\frac{x}{2} = \sqrt{\frac{1+\cos x}{2}} = \sqrt{\frac{2-s}{2}}\]

因此半矢为:

\[s_{\frac{1}{2}} = 1 - \cos\frac{x}{2} = 1 - \sqrt{\frac{2-s}{2}}\]

将其展开为关于 \(s\) 的幂级数(利用 \(\sqrt{1-u} \approx 1 - u/2 - u^2/8 - \cdots\)):

\[s_{\frac{1}{2}} = \frac{s}{4} + \frac{s^2}{32} + \frac{s^3}{128} + \cdots\]

这是核心递推关系。半弧的矢大约等于原矢的四分之一——但不完全相等。明安图以惊人的细致,逐项追踪了修正项。

明安图证明 \(\sin x\) 级数的路线图

用现代语言概括其证明思路:

第一步: 在单位圆中,弧长 \(x\) 对应半弦(正弦)\(\sin x = c/2\) 与矢 \(s = 1 - \cos x\)。初始关系为:

\[s = 1 - \cos x = 1 - \sqrt{1 - \sin^2 x}\]

第二步: 建立半弧递推关系。利用半角公式:

\[s_{\frac{1}{2}} = 1 - \cos\frac{x}{2} = 1 - \sqrt{\frac{2-s}{2}}\]

展开得:

\[s_{\frac{1}{2}} = \frac{s}{4} + \frac{s^2}{32} + \frac{s^3}{128} + \cdots\]

第三步: 迭代。将弧二等分 \(n\) 次,得到矢序列 \(s, s_{1/2}, s_{1/4}, \ldots, s_{1/2^n}\),每个矢均可通过递推关系由前一个表示。

第四步: 反向推导。当 \(n \to \infty\) 时,极小弧段趋近于其弦。从这一极限出发——弦等于弧——明安图将递推关系反向运用,重新建立整段弧的 \(\sin x\) 与 \(x\) 之间的关系。级数自然地从这一反向递推中涌现出来。

与牛顿方法的对比鲜明至极。牛顿在1669年,对反正弦函数求导,将 \(\frac{1}{\sqrt{1-x^2}}\) 展开为二项式级数,再逐项积分,整个论证大约一页纸即可完成。明安图的论证完全依靠圆的几何与无穷递推,没有欧洲数学中任何与之对应的方法,花费了数十年,写满四卷。

两种方法得出同样的级数。两人都不知道对方在研究同一个问题。

明安图的九个级数

明安图不仅证明了杜德美的三个公式,还自行发现了六个新公式。合在一起,构成《割圆密率捷法》的九术

杜氏三术(杜德美三术,已证):正弦、反正弦、正矢。

明氏六术(明安图六术):

  1. \(\displaystyle c = 2r\sin\frac{\alpha}{2r} = \alpha - \frac{\alpha^3}{24r^2} + \frac{\alpha^5}{1920r^4} - \cdots\)(由弧求弦)
  2. \(\displaystyle h = r\left(1 - \cos\frac{\alpha}{2r}\right) = \frac{\alpha^2}{8r} - \frac{\alpha^4}{384r^3} + \cdots\)(由弧求矢)
  3. 由弦求弧(正弦级数的反转,即另一形式的反正弦)
  4. 由矢求弧
  5. \(\sin(n\theta)\) 关于 \(\sin\theta\) 的展开——倍角公式的级数形式
  6. 互补的弦矢互换公式

这九个公式构成了一套完整的理论,揭示了圆、弦、弧与矢之间通过无穷级数相互关联的规律。这是一个封闭自洽的体系——完全没有借助微积分中的任何概念。

历史意义:独立但晚了五十年

格雷戈里在1671年证明了正弦级数,牛顿早在1669年就得到了它。明安图大约在1730年开始研究这个问题——落后了大约六十年。

但"落后"这个词会让人产生误解。明安图并不是在同一语境下研究同一个问题。他与欧洲数学完全隔绝,没有微积分,没有任何使格雷戈里和牛顿的证明相对直接的分析工具,采用的是一种欧洲数学中根本不存在的几何方法,却抵达了相同的终点——走的是一条截然不同的路,某种程度上更为艰难,但也揭示了微积分路径所略过的数学地貌。

想想他的成就对中国几何代数传统之力量说明了什么。从微积分的角度看,\(\sin x\) 的级数几乎是手到擒来:求导、展开、积分,完毕。而从几何递推的角度看,则需要从第一原理出发构造一个无穷极限论证,在无穷多次迭代中逐项追踪修正量,再将一个递推数列反向求出闭合表达式。这件事能够做到——而且确实被一个人在清代钦天监、历经四十年做到了——是整个数学史上最非凡的故事之一。

发令枪:杜德美的三个公式,1720年

1720年,法国耶稣会士杜德美(Pierre Jartoux,1668—1720)在《亚洲杂志》上发表了三个无穷级数公式,用语言描述,没有证明,然后加了一句话:他相信这些公式可以被证明,但他自己不知道如何证明。

用现代记法,这三个公式是:

\[ \sin x = x - \frac{x^3}{6} + \frac{x^5}{120} - \frac{x^7}{5040} + \cdots = \sum_{n=0}^{\infty} \frac{(-1)^n x^{2n+1}}{(2n+1)!} \]\[ 1 - \cos x = \frac{x^2}{2} - \frac{x^4}{24} + \frac{x^6}{720} - \cdots = \sum_{n=1}^{\infty} \frac{(-1)^{n+1} x^{2n}}{(2n)!} \]\[ \arcsin x = x + \frac{x^3}{6} + \frac{3x^5}{40} + \frac{15x^7}{336} + \cdots = \sum_{n=0}^{\infty} \frac{(2n)!}{4^n (n!)^2 (2n+1)} x^{2n+1} \]

这三个公式,在欧洲已有完整推导。牛顿在1665年用二项式定理得到了反正弦级数,格里高利(James Gregory)在1671年得到了正弦和余弦的级数。杜德美完全知道这背后的理论,但他写给中国同行的,只是结果,没有推导。

这个选择,是刻意的还是疏忽的,历史上没有定论。但这个选择的后果,改变了一个人的四十年。


明安图:一位政府科学家的数学痴迷

明安图(约1692—1763),蒙古族,镶白旗人,自幼进入钦天监。他的正式职务是天文学家和测绘师:推算历法、观测天象、主持测量。1750年代,他率领团队进入新疆,为清朝《皇舆全览图》精确测定了二十余处地理坐标。这是真正的野外工作,不是书斋里的抽象研究。

他不是典型的数学家。

然而,在这些职务之外,明安图花了大约四十年时间,盯着杜德美的三个公式,想弄清楚它们为什么是对的。

他的动机,他自己写得清楚:杜德美"有是法而无其解”——给出了方法,没有给出解释。这对明安图来说,是一种他无法接受的知识状态。

他的工具,是中国传统的割圆术。


割圆连比例:一种几何递推的引擎

明安图的方法的核心,是一组关于弧、弦、矢之间的几何关系的递推公式。

我们先建立基本符号。设一段圆弧,圆的半径为 \(r = 1\)(明安图的单位选择),对应圆心角为 \(2\theta\)。定义:

  • (弧长):\(s = 2\theta\)(弧度制下)
  • :\(\text{chord} = 2\sin\theta\)
  • (正矢,versine):\(\text{vers} = 1 - \cos\theta\)

明安图推导的核心工具,是倍半递推:已知半角公式,

\[ \sin\frac{\theta}{2} = \sqrt{\frac{1 - \cos\theta}{2}} = \sqrt{\frac{\text{vers}(\theta)}{2}} \]

以及半弦和半矢的关系:

\[ \text{vers}\left(\frac{\theta}{2}\right) = 1 - \cos\frac{\theta}{2} = 1 - \sqrt{1 - \sin^2\frac{\theta}{2}} \]

他用这些关系构造了一个迭代过程:对弧长不断二等分,追踪弦和矢的变化,从而建立无穷级数展开。

具体步骤(明安图的几何语言转化为现代符号):

步骤一:设弧 \(s\),对应半角 \(\theta = s/2\)。则半弦 \(c = \sin\theta\),矢 \(v = 1 - \cos\theta\)。

步骤二:对弧 \(s\) 二等分,得半弧 \(s/2\),对应角 \(\theta/2\)。用倍半公式:

\[ c_{1/2} = \sin\frac{\theta}{2} = \sqrt{\frac{v}{2}}, \quad v_{1/2} = 1 - \sqrt{1 - c_{1/2}^2} \]

步骤三:对 \(c_{1/2}\) 用二项式展开(明安图的方法是几何的,但效果等价):

\[ c_{1/2} = \sqrt{\frac{v}{2}} = \frac{\sqrt{v}}{\sqrt{2}} = \frac{1}{\sqrt{2}}\left(v^{1/2}\right) \]

迭代此过程 \(n\) 次,得到 \(c_{1/2^n} = \sin(\theta/2^n)\)。

步骤四:对于很小的角,\(\sin\alpha \approx \alpha\),所以当 \(n \to \infty\),\(c_{1/2^n} \to \theta/2^n\)。利用这个极限,倒推回弦和矢与弧长的关系,逐项提取系数。

这四步构成了明安图的核心论证。他没有极限的代数符号,没有微积分的语言,但他用几何迭代达到了同样的效果。


独立的意义:与牛顿的时间差

时间线对比:

事件时间
牛顿得到二项式定理和反正弦级数约1665年
格里高利得到正弦余弦级数1671年
莱布尼茨得到反正切级数(\(\pi/4 = 1 - 1/3 + 1/5 - \cdots\))1673年
杜德美发表三个公式(无证明)1720年
明安图开始研究约1720年代
明安图完成《割圆密率捷法》(逝后出版)1774年(1803年刊行)

明安图晚于牛顿约60年,晚于格里高利约50年。他的工作,在欧洲视角下,是"重新发现"。

但是,独立性的证明是困难的,也是有意义的讨论。

独立的证据

  1. 明安图的方法(割圆连比例)与牛顿的方法(二项式定理 + 微积分)在技术路线上完全不同。如果他抄了欧洲的结果,他何必用这么艰难的方式去证明?
  2. 他明确写道,杜德美的公式"有是法而无其解",他要找的是证明,而不是公式本身。
  3. 他证明了六个杜德美没有给出的新公式,说明他确实在独立推进,而不仅仅是复现已知结果。

不确定因素

  1. 在北京钦天监工作的明安图,与耶稣会士有日常接触。他可能接触到欧洲数学的更多内容,但没有文献可证他知道微积分的存在。
  2. 正弦级数等结果,在通过耶稣会渠道传入中国的三角学著作里是否出现过?这一点,《中国数学史大系》认为可能性存在,但无法确证。

公平的结论是:明安图的证明方法是独立的,即使公式本身来自杜德美。用独立方法证明一个已知结果,在数学史上是有价值的——它证明了这个结果可以从不同的公理体系和不同的技术路线出发得到,而这本身是重要的数学信息。


明安图的方法与微积分的对比

这是本章最值得停下来思考的地方。

微积分视角下,正弦级数的推导几乎是机械的:

设 \(f(x) = \sin x\),则 \(f'(x) = \cos x\),\(f''(x) = -\sin x\),\(f'''(x) = -\cos x\),\(f^{(4)}(x) = \sin x\)(周期为4的循环)。

泰勒展开在 \(x = 0\):

\[ \sin x = f(0) + f'(0)x + \frac{f''(0)}{2!}x^2 + \frac{f'''(0)}{3!}x^3 + \cdots = x - \frac{x^3}{6} + \frac{x^5}{120} - \cdots \]

整个过程,熟练的学生可以在五分钟内完成。

明安图的方法:需要构造一个无穷迭代的几何过程,在每一步追踪弦和矢的修正量,识别每一步修正量中 \(s^{2n+1}\) 的系数(\(s\) 是弧长),将这些系数从递推格式中提取出来,最终叠加出级数。这个过程,需要高超的代数操控能力和几何直觉,而且没有任何保证在开始之前:你不知道这样做能不能得到一个封闭的级数表达式,你只是在尝试。

明安图花了四十年。这不是效率低下,这是一个没有微积分工具的人,用已有的工具攀登了一座在有工具的人看来只需要爬楼梯的山。

他证明了工具的缺乏不等于智力的缺乏


代价与遗产

明安图独立推导无穷级数的故事,有一种独特的悲剧色彩。

悲剧不在于他"没有发现微积分"。微积分不是一个人发现的,它是一个数学文化在一系列正确问题的驱动下,经过一百年积累才得到的结果。明安图一个人、在清代钦天监的条件下,不可能独自走完牛顿-莱布尼茨-泰勒这条路。

悲剧在于信息传递的失败。如果1720年杜德美写给中国同行的,不仅是三个公式的结果,而是欧洲是怎么推导这些公式的——哪怕一个简短的说明——明安图的四十年,可能就用在了完全不同的方向上。

更深一层的悲剧是:即使明安图完成了《割圆密率捷法》,这本书也在他去世后11年才出版(1774年写成,1803年刊行),在中国数学界引起的回响,局限于少数懂得欣赏它的人。它没有推动中国数学走向微积分。

为什么?因为中国数学界缺少的,不仅是技术,还是一整套提出正确问题的框架。无穷级数在欧洲的意义,不在于它们本身,而在于它们是微积分工具的副产品:有了微积分,级数就自然出现了。在没有微积分问题意识的中国,级数本身成了目的,而不是手段。

孤立工作的代价是真实的。损失不在明安图身上——它属于整个时代跨文化信息传递的失败。

孤立工作的代价是真实的。如果明安图知道微积分的存在,他或许会将这四十年用于推进中国数学,使之能够与欧洲数学的前沿对话乃至有所贡献。然而他却用这四十年,证明了牛顿已经证明过的东西。损失不在他身上——它属于这整个时代跨文化信息传递的失败。


杜德美的三个公式与中国数学的回应

1720年,法国耶稣会士杜德美(Pierre Jartoux)发表三个无穷级数的结论,用现代记法写出:

\[\sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + \cdots\]\[\arcsin x = x + \frac{x^3}{6} + \frac{3x^5}{40} + \frac{15x^7}{336} + \cdots\]\[1 - \cos x = \frac{x^2}{2!} - \frac{x^4}{4!} + \frac{x^6}{6!} - \cdots\]

这三个公式,詹姆斯·格雷戈里(James Gregory)早在1671年于苏格兰已推导出来,牛顿在1669年的未刊手稿中也有记录——两人均使用了微积分(对反三角函数求导,展开为二项式级数,再逐项积分)。杜德美通过耶稣会学术网络得到这些结论,但不知如何证明,因为他没有微积分工具。他在文章末尾加了一句话,成为整个故事的导火索:“或许中国的数学家能够找到证明。”

梅珏成约于1725年将这三个公式收录进《赤水遗珍》,中国数学界从此知道了这些公式,却无人知晓它们为什么成立。

明安图:一个人,四十年

明安图(约1692—1763),蒙古族,隶属镶白旗,自幼入钦天监任职。他的职责是实务性的:历法推算、天文观测、大型测绘工作。1750年代,他率队赴新疆,为清朝《皇舆全览图》精确测量了二十余处地理坐标,是一位肩负国家测绘任务的政府科学家。而在这些职务之外,他耗费了大约四十年时间研究杜德美的三个公式,其动力他自己说得清楚:

“仅有其法,而未详其义,恐人有金针不度之疑。”

约1763年临终前,他将未竟的手稿托付给学生陈际新,嘱其继续完成。陈际新联合明安图之子明新、学生张良田,历时十余年,于1774年整理成书,书名**《割圆密率捷法》**,凡四卷。此书迟至1839年才正式刊行——距研究开始将近一百年。明安图本人从未见到自己的书出版。

割圆连比例:无微积分的无穷级数证明

明安图的证明方法称为割圆连比例,完全建立在圆的几何之上,以弦(\(c\))、弧(\(\alpha\))与矢(\(s = 1-\cos\frac{\alpha}{2r}\),即弓形的高)之间的关系为出发点。

在半径为 \(r\) 的圆中,长度为 \(c\) 的弦所对的矢为:

\[s = r - \sqrt{r^2 - \frac{c^2}{4}}\]

利用半角公式,将弧二等分后,半弧对应的矢 \(s_{1/2}\) 与原矢 \(s\) 之间有递推关系:

\[s_{1/2} = r - \sqrt{r\left(r - s\right) \cdot 2 - r^2 + rs}\]

展开为关于 \(s\) 的幂级数(利用 \(\sqrt{1-u} \approx 1 - \frac{u}{2} - \frac{u^2}{8} - \cdots\)):

\[s_{1/2} = \frac{s}{4} + \frac{s^2}{32r} + \frac{s^3}{128r^2} + \cdots\]

这是核心递推关系。半弧的矢约等于原矢的四分之一,但有系统性的修正项。明安图以惊人的细致,在这一递推中逐项追踪修正量,将弧二等分 \(n\) 次,建立一条矢序列 \(s, s_{1/2}, s_{1/4}, \ldots, s_{1/2^n}\),然后在 \(n \to \infty\) 时取极限——无穷细分的弧段趋近于弦,弦等于弧长——再将递推关系反向推导,从极限出发恢复整段弧与正弦之间的关系。正弦级数从这一反向递推中自然涌现出来。

与牛顿方法的对比鲜明至极:牛顿展开 \(\frac{1}{\sqrt{1-x^2}}\) 为二项式级数,逐项积分,一页纸内完成证明。明安图没有导数,没有积分,以纯粹的圆几何与无穷递推做到同样的结果,花费了四十年。

明安图自己发现的六个级数

除证明杜德美三术外,明安图还自行发现六个新公式,与杜氏三术合称《割圆密率捷法》九术。明氏六术中具有代表性的是:

\[c = \alpha - \frac{\alpha^3}{24r^2} + \frac{\alpha^5}{1920r^4} - \cdots\]\[s = \frac{\alpha^2}{8r} - \frac{\alpha^4}{384r^3} + \frac{\alpha^6}{46080r^5} - \cdots\]

以及由弦求弧、由矢求弧(后两者是前两者的反转),和倍角的弦—正弦展开式:

\[\sin(n\theta) = n\sin\theta - \frac{n(n^2-1)}{6}\sin^3\theta + \frac{n(n^2-1)(n^2-4)}{120}\sin^5\theta - \cdots\]

这九个公式构成一个封闭自洽的体系——从任意一个量出发(弧、弦或矢),均可通过无穷级数推导出其他量。这是中国数学史上第一部专门研究无穷级数的著作,具有独特的几何代数风格,在欧洲数学中没有对应的方法体系。

历史意义:独立发现,落后六十年,路径全异

格雷戈里在1671年证明了正弦级数,牛顿在1669年得到了它,明安图约在1730年开始这项研究——落后约六十年。

但"落后"的说法需要仔细审辨。明安图与欧洲数学完全隔绝,看不到任何欧洲数学期刊或大学手稿。他没有微积分,没有任何使格雷戈里和牛顿的证明相对直接的分析工具,采用的是欧洲数学中根本不存在的方法——在圆几何内部构造一个无穷极限论证——却抵达了相同的终点。从纯粹的数学能力而言,他的成就非同寻常:用一套更为艰难的工具,在完全孤立的条件下,证明了同等深度的结果。

孤立工作的代价是真实的。如果明安图知道微积分的存在,他或许能将精力用于推动中国数学与欧洲前沿对话。他实际上用四十年重新证明了牛顿已知的东西。损失不在他个人的才能上,而在于整个时代跨文化信息传递的结构性失败。

《割圆密率捷法》完成后,引发了一系列后继工作:董祐诚(《割圆连比例术图解》)、项名达(《象数一原》)、戴煦(《求表捷术》)相继深化了无穷级数的研究,李善兰更将这一传统与1859年翻译引入的西方微积分结合起来,最终打通了中西数学在这一领域的接口。明安图的《割圆密率捷法》是这条线索的起点。

Chapter 44: 年希尧《视学》与透视几何的东西交融

透视画法的数学原理

站在一条笔直道路的尽头,向地平线望去。你知道两侧路沿是平行的,但它们看起来在远处汇聚于一点。这不是视觉错觉,而是数学的必然。当三维世界通过单一视点(你的眼睛)投影到二维平面上时,向你延伸的平行线必然映射为收敛的线。必须如此——几何的要求决定了这一点。

数学原理很直接。将你的眼睛置于原点,画面平面(画布)垂直于视线,距离你 \(D\)。世界中一点 \(P=(X,Y,Z)\) 投影到画布上的点 \(p=(x,y)\) 为:

\[x = \frac{X \cdot D}{Z}, \quad y = \frac{Y \cdot D}{Z}\]

注意分母中的 \(Z\):物体越远,在画布上显得越小。对于一对平行线——比如由 \(X=aZ+b_1\) 和 \(X=aZ+b_2\) 定义的两条铁轨——当 \(Z\to\infty\) 时,两者都投影到 \(x\to aD\),即同一个消失点,与 \(b_1\)、\(b_2\) 的取值无关。方向相同的每一对线都收敛于同一个点,这就是消失点。

这套理论——由莱昂·巴蒂斯塔·阿尔贝蒂于1435年在《论绘画》(De Pictura)中系统阐述,并经达·芬奇和丢勒进一步发展——是西方文艺复兴艺术的数学基础。它随耶稣会士传入中国。

年希尧与《视学》

年希尧(1671—1738)是清朝官员,曾任景德镇御窑督陶官等职,按任何标准都不是职业数学家。但他与意大利耶稣会宫廷画家郎世宁(Giuseppe Castiglione,1688—1766)结下了深厚的友谊。郎世宁不只是一位艺术家,更是欧洲透视法的大师,每天在为雍正和乾隆宫廷创作的超写实肖像画与行猎图中娴熟运用这一技法。

年希尧向郎世宁学习透视,将所学系统整理,于1729年出版《视学》,1735年增订再版。这是中国第一部系统论述西方透视法的专著——第一本用几何图示与演算例题,详细解释如何绘制"单一视点的定点所见世界"的中文书籍。

《视学》的内容相当专业。第一卷介绍基础原理:如何确定消失点、如何定出视平线、如何用平行于画面的线确立"视距"。后续各卷呈现具体的作图构造:

  • 以正确透视关系绘制任意方向的长方体
  • 绘制拱形门洞(弧线在透视投影中变形为椭圆——这需要真正的理解,而非单纯描摹)
  • 绘制圆柱形廊柱(轮廓线不再是竖直的直线,而是略带弯曲)
  • 绘制室内场景,地面网格与陈设均有正确的透视关系

全书收录一百余幅详细图示,每幅均附逐步几何说明。

中国传统绘画与透视:两种不同的投影哲学

文化碰撞在这里变得在哲学层面令人着迷。

中国传统绘画——尤其是唐代已严格规范、宋代达到顶峰的界画传统——并不使用中心投影,而使用平行投影(又称轴测投影或等轴投影)。平行投影中,现实中平行的线,在画面上依然平行,不会收敛。宫殿的屋脊横贯画面,延伸的墙体不会缩小。

这不是对透视法的无知,而是对"画面的用途是什么"所做的不同选择。

阿尔贝蒂以降的西方透视绘画,目的是模拟视觉体验——让观者感觉自己正从一个固定的视点看世界。画面欺骗眼睛。一幅好的透视画能让你产生不存在的深度感知。

中国平行投影绘画的目的是忠实传递信息——准确呈现建筑比例,让工匠或建筑师能够直接从图像中读取尺寸。透视画无法测量:远处物体显得比近处小,比例在画面上各处不一。平行投影画的比例是恒定的,画面不欺骗观者,它传授知识。

这不仅仅是审美偏好的差异,而是两种关于图像与现实之关系的不同理论。中国界画预设绘画服务于知识——它是关于结构信息的载体。西方透视绘画预设绘画服务于体验——它是对视觉的模拟。

年希尧书写透视,并非单纯地引进一种技法,而是引进了一整套关于"画面为何而存在"的理论。中心投影与平行投影这两套体系在清代中国并行共存,各有其用途,代表着不同的哲学立场,始终未曾真正融合。

与蒙日画法几何的比较

欧洲对投影的系统化研究,于1795年随法国数学家加斯帕尔·蒙日(Gaspard Monge,1746—1818)发表《画法几何》(Géométrie descriptive)而达到完备形态。蒙日的方法与年希尧的透视法和中国平行投影都不相同:他研究的是正交投影——将三维物体同时投影到两个互相垂直的平面上(正视图与俯视图),并证明这两幅二维投影合在一起,足以完整还原原始的三维形体。

这是今天所有工程制图的数学基础。两个视图,一个物体,信息完整。蒙日严格证明了每种投影所保留和丢失的信息,以及如何从一对投影图还原完整的三维形态。

年希尧的《视学》处理的是中心投影(透视法),蒙日的《画法几何》处理的是正交投影,两者都是射影几何的分支,互不包含。年希尧的著作随艺术传统由耶稣会士带入中国;蒙日的著作则要到19世纪晚期第二次西学东渐时才传入中国,那时新式技术学堂催生了对工程制图的需求。

中国在1729年接纳了艺术家的工具,而工程师的工具,则要再等一个半世纪。


《视学》的数学核心:量点法与灭点理论

年希尧(?–1739)的《视学》不是一部艺术著作,尽管它充满了美丽的图版;它是一部数学著作,尽管它的对象是绘画。理解它的数学核心,需要先理解透视投影的几何基础。

设眼睛(视点)位于点 \(S\),画布(投影面)是与视线垂直、距视点 \(D\) 处的平面。世界中任何一点 \(P\) 在画布上的像,是连线 \(SP\) 与画布的交点 \(P'\)。这是一个中心投影(central projection),以 \(S\) 为中心,与欧几里得空间的平行投影根本不同。

中心投影的最重要性质:若干条现实中平行的直线,其透视像收敛于一点——即灭点(vanishing point,年希尧称之为"头点")。设现实中一族平行线的方向向量为 \(\mathbf{v} = (v_x, v_y, v_z)\),则它们的灭点在画布上的位置是射线 \(S + t\mathbf{v}\) 与画布的交点(当 \(t \to \infty\))。这意味着每个方向有唯一的灭点,所有水平线消失于视平线(horizon line),竖直线消失于天顶,等等。

《视学》的第一套核心技法是量点法(measurnment-point method,年希尧称之为"离点")。量点法用于将现实中已知尺寸的线段精确地画入透视图中,不需要知道视点的精确位置,只需确定灭点 \(F\) 和对应的量点 \(M\)。量点 \(M\) 是以灭点为圆心、以视点到灭点的距离为半径所作圆弧与视平线的交点:

\[\overline{SM} = \overline{SF} \implies M \text{ 在视平线上,使 } SF = MF\]

用量点法画一段已知长度 \(L\) 的线段(已确定其在现实中的方向朝 \(F\)):从基线上量取 \(L\) 的实长到点 \(A\),连 \(AF\) 得到该方向的透视线;再连 \(A\) 到量点 \(M\),与 \(BF\) 的交点即为 \(L\) 在透视图中的端点。

这套方法在《视学》中应用得非常系统:先画正方形,再画矩形,再扩展到一般多边形,再到立体,每一步都有详细的几何步骤说明和精确的图示。

郎世宁与中西透视交融

郎世宁(Giuseppe Castiglione,1688–1766),意大利耶稣会士,1715年来华,此后五十年为清廷效力,历经康熙、雍正、乾隆三朝。他在欧洲受过系统的绘画训练,精通文艺复兴以来的中心透视技法,同时熟悉中国工笔画的技法语言。

年希尧自述曾"从郎世宁学习透视画法三十年",这是一个非同寻常的数字——三十年是认真的、持续的研究,不是表面的技法学习。从《视学》的内容深度来看,这个说法是可信的:书中对三维物体透视投影的处理、对椭圆作为圆的透视像的几何推导、对球形物体透视图的水平切片法,都不是走马观花能写得出来的。

郎世宁本人的绘画,是中西透视交融的最著名案例:他为乾隆皇帝作的《百骏图》(1728年)和《乾隆皇帝狩猎图》,使用中心透视确立空间深度,同时采用中国工笔的线条技法和颜料。但郎世宁是画家,年希尧是将画家的技法转化为数学语言的人。

《视学》的一个关键例题,是求作球的透视图——这在欧洲透视教材中也不常见,因为难度较大。球不是多面体,不能用顶点-边的方式处理;它需要用"水平切片"方法:将球体切成一系列水平圆片,分别将每个圆的透视像(椭圆)画出,再将所有椭圆平滑连接成球的轮廓。年希尧对这个方法有完整的步骤说明,这是《视学》数学内容最深处的所在。

透视投影的核心公式

透视投影的数学结构,用现代语言可以写得非常简洁。设视点 \(S = (0, 0, 0)\),画布为平面 \(z = d\)。现实中的点 \((X, Y, Z)\) 在画布上的透视像为:

\[\left(x', y'\right) = \left(\frac{dX}{Z},\ \frac{dY}{Z}\right)\]

这是一个射影变换(projective transformation)的特例。两条平行线 \(L_1: (aZ+b_1,\ cZ+e_1,\ Z)\) 和 \(L_2: (aZ+b_2,\ cZ+e_2,\ Z)\) 的透视像,当 \(Z \to \infty\) 时,都趋向同一点 \((da,\ dc)\)——这就是它们共同的灭点。

年希尧在书中没有用代数公式,但他的每一个作图步骤,都精确对应于上述射影变换的几何实现。他用尺规作图来完成现代人用方程来处理的问题:视平线对应于灭点的轨迹集合,量点法对应于逆变换中的长度恢复,水平切片法对应于将三维曲面分解为一系列二维截面。

波佐与《视学》的思想来源

意大利耶稣会士画家安德烈亚·波佐(Andrea Pozzo,1642–1709)的著作**《画法几何学》**(Perspectiva Pictorum et Architectorum,1693–1700年,拉丁文与意大利文对照本,共两卷),是当时欧洲最系统的透视作图教材之一,也被认为是《视学》的主要思想来源之一。波佐在罗马圣依纳爵教堂绘制的穹顶湿壁画(1694年完成),用透视技法在平面天花板上画出了一个虚幻的圆形穹窿,被认为是透视画法的最高成就之一。

波佐的书是以图版为主的教材,每页一图,附简短文字说明,专注于建筑透视——柱廊、拱券、穹顶、教堂室内——的精确作图方法。郎世宁来华前,曾在波佐直接指导下学习(波佐在维也纳去世时,郎世宁正在那一地区活动)。他把波佐的方法带入了中国,并通过年希尧的整理,将这条欧洲透视知识链条的终点定在了1729年北京刊印的《视学》。

双向文化交流的数学意义

《视学》在数学文化史上的独特地位,在于它是一次真正的双向交流的产物,而不是单纯的西学东渐。

从西向东:透视投影的数学原理(中心投影、灭点、量点法)从文艺复兴欧洲,经波佐、郎世宁,到达年希尧和中国读者。

从东向西:郎世宁在中国学习了中国画的工笔线条技法,发展出一种混合风格,影响了他对自然形态的描绘方式。更重要的是,郎世宁为清廷创作的铜版画(1760年代,乾隆平定准噶尔的系列战图),是中欧合作的版画作品,中国工匠负责雕版印刷,法国画家负责设计,产物运往法国后又激发了18世纪欧洲的"中国风"(Chinoiserie)——一个从中国到欧洲的图像旅程。

数学本身鲜少被讨论为"文化双向交流"的载体,因为数学命题是普遍的、无国籍的。但《视学》所承载的透视投影知识,以及它在清代宫廷艺术和出版文化中的流通轨迹,提供了一个罕见的案例:数学知识的传播,嵌入在艺术实践、宫廷权力关系和个人友谊的具体历史情境之中,因而获得了文化的具体形态。

《视学》1729年初版,1735年增订,但此后长期湮没无闻。阮元《畴人传》为年希尧立传,却连书名都未能记录。直到20世纪钱宝琮等数学史家的重新发掘,这部书才重新进入学界视野。它的命运本身,也是一则关于数学知识如何在特定文化土壤中被接受或被忽视的寓言。

透视画法的西方起源:布鲁内莱斯基到波佐的二百年

要完整理解年希尧从哪里继承了什么,我们需要回到欧洲,追溯透视画法的整个知识谱系——因为这条谱系的终点,恰好就是郎世宁的老师,而郎世宁又是年希尧的老师。

菲利波·布鲁内莱斯基(Filippo Brunelleschi,1377—1446),佛罗伦萨人,建筑师,不是数学家。但他在大约1420年代做了一件严格意义上的科学实验:站在佛罗伦萨洗礼堂的门口,用一面镜子反射一幅按照某种投影规则绘制的洗礼堂正面图,让观者通过画板上的小孔,同时看到画面和镜中真实建筑,验证两者在视觉上完全吻合。这不是理论陈述,是光学验证。他证明了:如果按照"从单一视点看出去的样子"来绘制建筑,绘出的图与实际所见精确吻合。

理论化由莱昂·巴蒂斯塔·阿尔贝蒂(Leon Battista Alberti,1404—1472)完成。他1435年的《论绘画》(De Pictura)给出了中心投影的完整数学框架:画布是"视觉锥"与画面的截面,所有从眼睛出发、经过画布各点的射线,在三维空间中构成一个锥体;画面是切割这个锥体的一张纸。水平线(视平线)、主消失点和视距三个要素,构成了透视作图的完整基础。阿尔贝蒂还发明了量点法的原型——用已知距离的辅助点在画面上精确还原现实中的长度比例。

阿尔布雷希特·丢勒(Albrecht Dürer,1471—1528)在1525年的《圆规与直尺测量法》中给出了多种透视作图机械:一根穿过视点的线,一端连着画布上能移动的针,另一端由助手握住,每次描记一个空间点在画布上的投影位置。这不是近似方法,而是透视投影的物理实现。他的图示在欧洲工匠和画家中广泛流传,使透视知识从数学家和理论家手里,流入了普通画师的工具箱。

这条知识线的终点是意大利耶稣会士安德烈亚·波佐(Andrea Pozzo,1642—1709)。他的《画法几何学》(Perspectiva Pictorum et Architectorum,1693—1700年,两卷)是一部以建筑透视为主要内容的图版教材:每页一图,简短说明,专注于柱廊、拱券、穹顶、教堂室内的精确作图方法。他在罗马圣依纳爵教堂绘制的穹顶湿壁画(1694年完成),用透视技法在平面天花板上画出了一个不存在的圆形穹窿,站在正确的视点观看,完全以假乱真——这是透视画法的最高成就之一,至今可见。

郎世宁在出发来华之前,曾在波佐直接指导下学习(波佐在维也纳去世时,郎世宁正在那一地区活动)。他把波佐的方法带入中国,然后通过三十年的教导,把这套知识传给了年希尧。布鲁内莱斯基→阿尔贝蒂→丢勒→波佐→郎世宁→年希尧,一条三百年的知识谱系,终点是1729年北京刊印的《视学》。

利玛窦的画与中国宫廷的第一次遭遇

透视画法进入中国,实际上早于年希尧整整一百年。

利玛窦(Matteo Ricci)在1600年代进入北京时,随身携带了若干欧洲圣像画和宗教版画。这些画作传到万历皇帝和宫廷贵人手中,引起了一种奇特的反应:中国观者觉得画里的人物"凹凸"——也就是有立体感、有阴影,从画面上"突出来"。这种视觉效果,在中国传统绘画里是完全陌生的。

万历年间的宫廷文献里记录了这类反应,士人们也写下了自己的困惑。有人认为这是西洋人的一种特殊技艺,有人认为这是"阴阳向背"之法——类似于光线从特定角度照射物体产生阴影的效果。他们说对了一半:确实是关于光线的技法,但问题的核心不只是阴影,而是投影几何。

为什么中国传统绘画没有发展出线性透视?这不是能力问题,而是目的问题。中国传统绘画——尤其是界画(建筑画)传统——使用的是轴测投影或等轴投影:现实中平行的线,在画面上仍然平行,建筑比例保持不变,观者可以直接从图像中读取尺寸信息。这是一种把"信息准确性"放在"视觉逼真性"之上的选择。

线性透视刻意扭曲比例(远处的物体画得小),以求模拟单一视点的视觉体验。它追求的不是信息的准确,而是感知的逼真。这两种选择没有高下之分,只是体现了两种不同的图像哲学:绘画是为了传递结构知识,还是为了制造视觉体验?

当郎世宁进入清朝宫廷(1715年),他面对的就是这种差异。他是波佐传统里的透视高手,同时也学会了中国工笔画的线条技法和颜料运用。他的解决方案,不是完全放弃任何一方,而是发展出一种混合风格:用中心透视确立空间深度,用中国工笔的细线描绘轮廓和纹理。这种混合,在他的《百骏图》(1728年)和《乾隆平准图》系列里看得最清楚。

《视学》里的数学:一个具体的作图例子

《视学》的核心是量点法作图。让我们走完一个完整的例子,理解这套方法究竟在做什么。

问题:在一幅透视图中,画出地面上一个边长为一丈的正方形,使观者感觉正在从高处斜视这个正方形。

步骤一:确定三要素。 在纸上画一条水平线,这是视平线(观者的眼睛所在的高度)。在视平线上取一点 \(F\),这是主消失点(所有向正前方延伸的平行线都消失于此)。在同一视平线上,距 \(F\) 一定距离取另一点 \(M\),这是量点,满足条件 \(|SM| = |SF|\)(\(S\) 是观者的视点位置)。

步骤二:在基线上量实际尺寸。 基线是地面与画布的交线。在基线上,从正方形前边的一个角 \(A\) 出发,量取一丈的实际长度到点 \(B\)。

步骤三:连消失点,得透视方向。 连 \(AF\),这是正方形前边的透视线(向地平线延伸)。连 \(BM\),这条辅助线与 \(AF\) 的交点 \(C\) 就是正方形前边一丈处的透视位置。

步骤四:完成正方形。 过 \(C\) 作平行于基线的线,得到正方形后边的透视位置。再从 \(A\) 和 \(C\) 连向同一侧的消失点,得到两条侧边的透视线,与后边的交点完成正方形。

这套步骤的数学原理,是量点 \(M\) 的选取满足 \(|SF| = |MF|\),这个等腰三角形关系使得辅助线 \(BM\) 与透视线 \(AF\) 的交点,恰好是现实中一丈处对应的透视位置。整个过程中没有一次乘法或除法,只有直线和交点——尺规作图完成了射影变换应该做的计算。

年希尧把这套步骤呈现给中国读者时,不仅提供了操作方法,还附有精美的图版示范。这是《视学》的一个显著特点:它不满足于给出规则,它用图像来说明为什么规则是对的。这种"图证"的风格,是从波佐的教材直接继承来的,而波佐的教材风格,又来自文艺复兴以来欧洲建筑师和画家共同形成的实用几何传统。

中国文人画对透视的哲学抵抗

年希尧的《视学》在宫廷圈子里产生了影响,但在传统文人画界,它引起的不是兴趣,而是抵抗——而这种抵抗有其深刻的哲学根源。

中国文人画,从宋代苏轼等人确立"文人画"审美以来,奉行的核心原则是:绘画是表达画者心境和人格的手段,而不是模拟外部世界的手段。山水画里的山不是某座真实的山,而是画者内心状态的象征。花鸟画里的竹子不是一株真实的竹子,而是文人气节的外化。这种审美预设了:绘画和真实物体之间不应该有一对一的视觉对应。

线性透视的哲学预设恰恰相反:它要模拟一个特定观者在特定时刻从特定位置看到的特定场景。它把观者"钉"在一个固定的视点上,把画面变成从那个视点出发的视觉锥的截面。这是一种极其精确的、单一的、时间-地点特定的视觉经验的模拟。

文人画传统里,恰恰有一种游目的审美——视线在画面上游走,而不是从固定视点固定不动。一幅长卷山水,观者的眼睛从右到左移动,进入一个又一个局部,每个局部都有自己的空间逻辑,整卷没有统一的消失点,也不需要有。这是把时间性引入了绘画——游目是一种阅读,而不是一种观看。

从这个角度,文人画对线性透视的抵抗,不是保守的拒绝,而是基于不同审美哲学的选择:你要的是"看到的一瞬间",我要的是"游走的一段时间";你要的是"从一点看出去的世界",我要的是"通过游动的视线领会的宇宙"。这两种审美,代表了人与空间关系的两种完全不同的理解。

《视学》选择了欧洲的那种。中国文人画传统选择了另一种。两者在清代并存,各有其用,各有其美,始终没有真正融合。

射影几何:中国没有走到的那一步

这一章最后值得思考一个问题:为什么中国没有从透视画法发展出射影几何?

在欧洲,透视画法催生了射影几何。吉拉德·德萨格(Girard Desargues,1591—1661)是法国建筑师和数学家,他从透视作图的实践出发,提出了一个关键的抽象问题:透视投影保留了什么,改变了什么?他发现,直线的像是直线,点的共线性(三点在一线上)在投影后保持,但长度和角度都不保持。他进而发现了交比(cross-ratio)这个量在射影变换下的不变性,并证明了著名的德萨格定理:如果两个三角形关于一个中心成射影对应,则它们的对应边(延长后)交于一条直线上。这是射影几何的第一个深层定理。

年希尧知道透视投影保直线,知道量点法能在投影中还原长度,但他没有问"什么量在投影下不变"——他没有从操作层面上升到理论层面。这不是批评,而是一个历史事实:射影几何作为独立数学分支,在欧洲也是到19世纪才成熟的,年希尧不可能超前于他所在的时代。

中国得到了透视画法的实用工具,没有得到(也还没必要得到)它背后的射影几何理论。这个理论要等到19世纪末,随着西方现代数学的第二次大规模传入,才真正进入中国数学的视野。


Part VIII: 乾嘉考据与本土复兴

透视画法的西方起源:从布鲁内莱斯基到丢勒

中心透视的数学化,是一个横跨约两个世纪的欧洲知识工程,最终被意大利文艺复兴时期的三位人物钉在了历史上。

菲利波·布鲁内莱斯基(Filippo Brunelleschi,1377—1446)是第一个用实验方法验证透视投影的人。他在佛罗伦萨洗礼堂门口做了一个著名实验:用镜子反射一幅精确按透视法绘制的洗礼堂正面图,让观者通过画板上一个小孔同时看到画面和镜中真实建筑,验证两者吻合。这不是理论,是光学实验。

理论的系统化由莱昂·巴蒂斯塔·阿尔贝蒂(Leon Battista Alberti,1404—1472)完成。他1435年的《论绘画》(De Pictura)给出了中心投影的数学框架:画布是"视觉锥"(一组从眼睛出发经过画布各点的射线构成的锥体)与画面的截面。水平线(horizon line)、主消失点(principal vanishing point)和视距(distance point)三个要素,构成了作图的完整基础。阿尔贝蒂还发明了量点法的原型,用于在画面上精确还原现实中的长度比例。

阿尔布雷希特·丢勒(Albrecht Dürer,1471—1528)在1525年的《圆规与直尺测量法》(Underweysung der Messung)中给出了多种透视作图机械——包括一根穿过视点的线,一端连着画布上能移动的针,另一端由助手握住,每次描记一个空间点在画布上的投影位置。这不是近似方法,而是透视投影的物理实现。丢勒的这些装置在欧洲工匠和画家中广泛流传,成为透视知识向普通人普及的重要渠道。

这条欧洲知识线的终点,是意大利耶稣会士安德烈亚·波佐(Andrea Pozzo,1642—1709)的《画法几何学》(Perspectiva Pictorum et Architectorum,1693—1700年)——一部以建筑透视图为主要内容的图版教材,对年希尧《视学》有直接的文本影响。

《视学》的数学核心:射影变换的作图实现

年希尧不用代数公式,但他的每一个作图步骤都是射影变换的几何实现。理解这一点,需要稍微展开一下现代语言的对应。

透视投影从数学上是一个射影变换(projective transformation):它把三维欧几里得空间中的点映射到二维画面上,其核心性质是保直线不保长度。平行线的透视像一般不平行,但直线的透视像仍是直线。

一组平行线(方向向量为 \(\mathbf{v}\))的消失点(年希尧称"头点")由如下规则确定:以视点 \(S\) 为起点,沿方向 \(\mathbf{v}\) 作射线,与画面的交点即为该方向的消失点。所有水平方向的消失点都落在视平线(horizon line)上;不同方向有不同的消失点。

量点法(年希尧称"离点")是《视学》的核心技法。量点 \(M\) 定义为:以消失点 \(F\) 为圆心、以视点到画面的距离为半径,在视平线上作弧,与视平线的另一交点即为 \(M\),即 \(|SF| = |MF|\)。用量点作图的步骤是:在基线(ground line,画面与地面的交线)上量取现实中的实际长度到点 \(A\),连 \(AF\) 得到该方向的透视线;再连 \(AM\),与从起点连至 \(F\) 的线的交点,即是正确的透视端点。这个方法本质上是利用 \(|SF| = |MF|\) 这一等腰三角关系,把现实长度"折叠"到透视像中。

《视学》的最难例题是球的透视图。球没有顶点和棱,不能直接用量点法处理。年希尧用水平切片法:将球切成若干水平圆片,每片圆在透视像中变成椭圆(因为圆只有在正面观看时才是圆,侧面观看时总是椭圆),分别画出各切片的椭圆透视像,再连接成球的轮廓。这是《视学》数学复杂度最高的部分,在同时代欧洲透视教材中也属于较难的内容。

年希尧是否理解了射影几何的深层结构

射影几何的深层结构,在17—18世纪数学中的代表是交比(cross-ratio)的不变性:对直线上四个点 \(A, B, C, D\),交比 \((A,B;C,D) = \frac{AC/AD}{BC/BD}\) 在射影变换下不变。这一性质是射影几何的核心定理,由帕普斯(古希腊)初步发现,德沙格(Girard Desargues,1591—1661)系统研究,在19世纪才被充分认识为射影几何的基础。

从《视学》的内容来看,年希尧没有意识到交比不变性,也没有任何试图推导或使用它的痕迹。他掌握的是实用透视作图规则,而不是射影几何的公理化理论。他知道灭点的存在和量点法的操作程序,知道椭圆是圆的透视像,但他没有追问"为什么量点法是正确的"——没有试图证明这套作图规则的数学基础。

这并不是贬低。年希尧自己在序言中说得很清楚:“迨细究一点之理,又非泰西所有,而中土所无者”——他意识到自己在引进一套全新的知识体系,并坦诚地把它定位为来自"泰西"而非中土固有的东西。他的贡献是系统整理和中文阐释,不是数学创新;他是一位知识的搬运者和组织者,而这本身已经是一项重要的历史工作。

圆明园西洋楼:《视学》原理的建筑实践

年希尧完成《视学》(1729年初版,1735年增订)的时间,恰好与圆明园西洋楼建筑群的规划期高度重合。西洋楼(又称"长春园西洋楼建筑群")由乾隆皇帝于1747年下令兴建,郎世宁是主要设计者之一,工程于1783年基本竣工。

西洋楼的建筑本身是透视原理的应用:巴洛克风格的立面、拱券廊柱、喷泉广场,都按照欧洲建筑的比例规范设计,在三维空间中体现了与中国传统建筑完全不同的空间组织逻辑。郎世宁为西洋楼绘制了一系列透视油画,挂在建筑群东侧展出,这些油画是用《视学》所描述的中心透视法绘制的,是《视学》技法的直接展示。

有文献记载(《元秘书监志》体例同类的宫廷工程档案)显示,郎世宁还专门为西洋楼制作了"线法画"——一种需要在特定观看点才能正确显示空间深度的透视画,强调从固定视点产生的三维幻觉效果。“线法"一词在乾隆宫廷档案中反复出现,就是中文对"透视法"的一个专用称呼。

西洋楼是目前可以追踪的、《视学》数学原理与实际建造之间关系最直接的案例。它证明了年希尧与郎世宁长达三十年的合作,不只停留在书本层面,而是真实地影响了清代宫廷建筑的视觉语言。

《视学》的长期命运:一本书的遭遇

阮元(1764—1849)在《畴人传》中为年希尧立传,却连《视学》的书名都没有记录,只说在年希尧著作中"又一种无名目,字迹图书并极精美,而不署著者姓氏,疑亦出希尧家也”。这是1799年写成的,距《视学》1735年再版仅64年。一部印数稀少的大型图版书,在一个没有大学图书馆制度的时代,64年就足以让学术界遗忘它的存在。

《视学》今存四部:英国牛津大学鲍德里图书馆和法国巴黎国家图书馆各藏一部,北京图书馆和中国自然科学史研究所各藏一部,互有残缺,以后者较完整。它的重新进入学术视野,是20世纪50—60年代钱宝琮、严敦杰等数学史家的工作成果。

《视学》的命运是一个关于知识接受的案例。透视法本身没有错,《视学》的内容也足够清晰完整,但它的接受需要特定的文化土壤:需要读者相信"画面应该模拟单一视点的视觉体验",而不是"画面应该忠实传递对象的结构信息"。在一个传统绘画以平行投影为主导审美的文化里,中心透视始终是宫廷里一种有趣的外来技艺,而不是对整个绘画语言的重构。数学原理是普遍的,但数学知识的传播和接受,从来都是文化特定的。

Chapter 45: 戴震与《算经十书》整理

乾嘉学派是什么,为什么和数学有关

到18世纪中叶,中国的知识精英已经背弃了宋明理学——那个产生了王阳明"良知"说、构筑了过去五百年宏大形而上学体系的传统——转而追求一种表面上截然相反的事业:对古代文献进行细致、耐心、以证据为基础的复原。

乾嘉学(乾隆-嘉庆学派)在方法论上只有一个核心承诺:考证,即事实的核实。不要用自己的哲学去猜测古书的含义,而要通过严格的版本比对、词源学分析、以及其他古籍中的引证,弄清楚古人究竟说了什么。先确立文本,再谈解释。

这听起来像文献学,不像数学。确实,它首先是文献学。但它产生了一个无人预料、却意义重大的数学副产品。

当乾嘉学者把考证方法用到古典数学文献上——当他们认定校勘《九章算术》与校勘《春秋》同等重要时——他们发现了一件非同寻常的事:中国数学的过去,比任何人所预料的都更深厚、更精密。而其中一些最卓越的成就,几乎已经被完全遗忘。

《四库全书》的数学收藏

这一切发生的背景,是《四库全书》的编纂——中国历史上规模最大的书目整理工程,乾隆皇帝于1772年下令开展,1781年完成,收录三千余种典籍、近八万卷,来源涵盖皇家藏书、私人书库,以及《永乐大典》残存的部分——那部15世纪明代类书,曾是中国早期文献最重要的储藏地,后来大多毁于火灾与疏忽。

数学类典籍归入天文算法类,既收录中国古典文献,也包括近代西方方法著作:

书名卷数时代备注
《周髀算经》2卷从《永乐大典》辑出;含赵爽注
《九章算术》9卷从《永乐大典》辑出;戴震参与整理
《孙子算经》3卷汉魏从《永乐大典》校正
《海岛算经》1卷从《永乐大典》辑出;刘徽撰
《张丘建算经》3卷北魏前有甄鸾注、李淳风注释
《缉古算经》1卷王孝通撰
《数学九章》18卷秦九韶;从《永乐大典》辑出
《测圆海镜》12卷李冶撰;第一次大量传播
《益古演段》3卷李冶撰;从《永乐大典》辑出
《几何原本》6卷明(西译)利玛窦译、徐光启笔受
《历算全书》60卷梅文鼎撰
《数理精蕴》53卷康熙御定

宋元数学的经典——秦九韶那部包含中国剩余定理的《数书九章》、李冶系统运用天元术的《测圆海镜》——在《四库全书》问世之前,好一点的情况是散落在少数私人藏书楼里,更糟的情况则是完全无从得见。这批文献的重现,使人们在四百年后第一次得以完整地认识:在明代文化断裂之前,中国数学究竟走到了哪里。

戴震的校勘工作:一个具体案例

戴震(1724—1777)是乾嘉皖派的领袖,大概是那一代最严谨的文献学家,但同时——这很罕见——也是一位真正的数学家。1773年,他进入《四库全书》编辑班子,主要负责数学与天文类文献。

他最重要的单项贡献,是从《永乐大典》残篇中重建《九章算术》——识别散落各处的段落,与其他文献核对,拼接成连贯的文本,并将刘徽三世纪的注释与李淳风七世纪的注释区分开来,因为两者在世代抄写中早已混淆不清。

刘徽与李淳风注释的分辨问题,最能说明考证学在最佳状态下是怎样工作的。《九章算术》在漫长的传抄过程中积累了两层注释:刘徽263年的注,简洁而充满几何意象;李淳风唐代官修的注,更正式,引证更详尽。待到戴震见到这些抄本时,已历经数十次辗转传抄,有些段落根本无法判断是谁的话。

戴震的方法:

文风分析。 刘徽的文字简练,倚重几何意象(他著名的"棋"式论证,以棋子拼合来证明体积公式)。李淳风的文字明引其他经典,行文是唐代官方文牍的风格,训练有素的文献学家可以将二者辨别开来。

内部交叉引证。 凡李淳风引用刘徽处,引者与被引者的方向是清楚的:引者是李,被引者是刘。从明确的引文出发,向外延伸。

版本比对。 凡《永乐大典》本与宋代杨辉或其他数学家著作中保存的引文有异,比较两者,判断哪种读法更接近原本。

以计算验证文字。 凡文中某个数字看来有误,重新演算题目。若抄本写"广十五步",但从已知面积和长反算应得十二,则"十五"是"十二"的抄写错误——草书中两字确实容易混淆。

最后这一招——用数学本身来校验文字——是戴震对文献学最精妙的贡献。他不只是在编辑,他是在用计算证明自己的编辑决定。数学服务于文献学,文献学服务于数学。

戴震之后:李潢与沈钦裴的校注接力

戴震于1777年去世,但他开创的校注工作由后来者延续。这条接力链中最重要的两个人是李潢和沈钦裴。

李潢(?—1812),字云门,湖北钟祥人,乾隆三十六年进士,官至工部左侍郎。在《四库全书》馆任总目协纂官期间,他开始系统整理《九章算术》与《海岛算经》,写成《九章算术细草图说》九卷和《海岛算经细草图说》一卷。“细草"是演算过程,“图"是补绘的几何图示,“说"是对刘徽注文的逐句阐释。刘徽自注的图在唐代以后已经失传,李潢的补图是现存最接近刘徽原意的几何插图,成为后世研究刘徽必不可少的参考。书稿未竟而李潢病危,临终前嘱咐外甥务必请沈钦裴算校后方可付梓,体现了他对学术严谨的最后坚持。

沈钦裴受李潢之嘱,不仅算校了李潢的遗著,还自撰《重差图说》,为《海岛算经》每一道题各补一图一说一草——“重差"是《海岛算经》的原名(刘徽自称其方法为"重差术”)。沈钦裴以"勾股相与之势不失本率”(相似勾股形对应边成比例)为出发点,系统解释了每道测量题的几何原理。他的工作使《海岛算经》从一部答案之书,变成一部可以按步骤追溯的几何论证集。

李潢还有《缉古算经考注》二卷,对王孝通的《缉古算经》全书文字进行校订,清理了若干历代传抄中的积累错误。这批乾嘉校注工作,是两百年后现代版《算经十书》校点本的直接前身。

乾嘉考据的数学影响:得与失

乾嘉学者把考证方法用于数学,所取得的成就无可置疑地出色,所暴露的局限也无可置疑地真实。

成就是实在的。 宋元代数传统——李冶的天元术多项式记法、朱世杰的四元术、秦九韶系统的数值求根法——在此之前几乎有四百年无人能用。乾嘉的复原工程使这些方法重新可读,让学者得以理解它们,并最终在此基础上产生了原创的数学工作。没有这次复原,中国中古代数的最高成就将永久失传。

局限是结构性的。 考证学在本质上是回顾性的。它的问题永远是:古人究竟说了什么? 它从体质上就无法追问:此刻世界上的数学正在发生什么? 那些以无比细心重建《九章算术》的乾嘉学者,完全不知道——也几乎没有途径知道——就在同一年代,欧拉正在证明多面体定理,拉格朗日正在发展变分法,高斯正在证明代数基本定理。

这不是疏忽,而是当时知识处境的结构性特征:没有译本,没有可读的欧洲科学期刊,没有学术交流。相关信息根本不以中国学者能够使用的形式存在。但考证学气质的内向倾向——它对最有价值的知识深藏于中国古典文献传统的深层自信——削减了去寻找可能弥合这一鸿沟的渠道的动力。

乾嘉数学家对中国继承的数学财富做了一次完整的盘点。他们没有打开面向世界的窗。


戴震发现《永乐大典》算经的经过

戴震(1724–1777)进入《四库全书》编辑班子,是在1773年——乾隆三十八年。彼时四库馆已开馆一年,但数学天文类文献的整理工作尚未认真展开,因为大多数四库馆臣对这类内容缺乏处理能力。戴震的到来改变了这个局面。

《永乐大典》到四库馆成立时,已是一部残书。1403年成书时有22877卷,经过明代宫廷火灾(1557年)和兵燹,到18世纪已严重散佚。乾隆命人清点,发现仅剩约三千余册,约原书总量的三分之一。其中算法类(“算"字韵)共计36卷,是整理工作的重点之一。

戴震从《永乐大典》的残卷中,一条一条辨认算法类条目的归属:哪些段落是《九章算术》刘徽注的原文,哪些是李淳风唐代官修注的添加,哪些是杨辉(宋)引述贾宪的文字,哪些是《永乐大典》编者的节录说明。这项工作要求他同时具备精密的文献学训练和真实的数学能力——只有真正理解计算步骤,才能判断某段文字是刘徽的几何论证,还是后代注家的解释性添加。

《考工记图》与测量重建

戴震最著名的考据学成就之一,是对《考工记》(《周礼·冬官》中的手工业技术典籍,成书于战国时期)的注释与图解。《考工记》包含了大量关于车、弓、矢、城郭、宫室的制造规范,以数字和比例的形式给出。例如:

“轮人为轮,斩三材必以其时……凡为辐,以其围之阙,十分寸之一为之厚,以其厚三之,以其围之阻,五分寸之四为之博……”

这段话描述车轮轮辐的尺寸关系,用"围”(周长)和"阻”(轮圈内径)来规定辐的厚与宽,是古代的标准化制造规范。戴震的工作是还原这些规范的数学含义:设车轮直径为 \(D\),则周长 \(C = \pi D \approx 3D\)(古人取 \(\pi = 3\)),辐的厚度为 \(C/10\),宽度为 \(\frac{4}{5}\) 阻……他逐条将古文中的比例关系转化为几何图示,重建了周代车制的尺寸体系。

这项工作被收入《考工记图》,是戴震将数学应用于考古学重建的一个典型案例——用计算来核实文字,用几何图示来呈现古代工艺,用比例关系来验证文本的内部自洽性。

乾嘉考据的方法论:以算证文

戴震的方法论贡献中,最具数学独创性的一项,是将数学计算本身作为文献校勘的工具。他在整理《九章算术》时,面对的一个核心问题是:哪些数字是原文,哪些是历代抄写中产生的错误?

他的策略分四步:

第一步:重新完整演算题目,记录每一步得到的中间量和最终答案。

第二步:将演算结果与抄本对照,找出不符之处。

第三步:判断不符是因为抄写错误(某个数字被笔误写错),还是因为原书有不同的算法假设。

第四步:参考其他保存引文的著作(如杨辉《详解九章算法》、秦九韶《数书九章》中对某些问题的重述),交叉核实。

最精彩的案例之一:《九章算术》“盈不足"章某道题,抄本给出的数据内部不一致——按题面条件计算,答案应为某数 \(a\),但题中所给"答案"为 \(b \neq a\)。戴震判断,原文中某个数字在历代传抄中被错写,并用倒推法计算出:若原文应为 \(c\)(而非抄本的 \(d\)),则演算给出的答案恰好是题中所给答案 \(b\)。他还进一步检验:草书中 \(c\) 与 \(d\) 在字形上确实相近,属于常见笔误类型。文献学(字形分析)与数学(逆向演算)在这里合而为一,这是乾嘉考据方法在数学文献中的精华所在。

哪些文本被重建,哪些仍残缺

经过戴震及其后继者的整理,《算经十书》(汉至唐的十部经典数学著作)在乾隆年间得到了空前完整的呈现。以下是主要典籍的整理情况:

典籍时代整理状况主要整理者
《周髀算经》从《永乐大典》辑出,文本较完整戴震
《九章算术》从《永乐大典》辑出;刘徽/李淳风注分离戴震、李潢
《海岛算经》晋(刘徽)辑出完整;补绘图示李潢、沈钦裴
《孙子算经》汉魏较完整四库馆校
《张丘建算经》北魏前文本基本完整四库馆校
《缉古算经》唐(王孝通)文本完整;含二次三次方程李潢
《数术记遗》传汉(甄鸾注)完整
《五曹算经》北周–唐较完整
《夏侯阳算经》文本完整
《五经算术》北周–唐(甄鸾)文本完整

宋元数学名著中,**秦九韶《数书九章》**从私人藏本辑出(并非《永乐大典》,而是宋濂旧藏的元代抄本),李冶《测圆海镜》和《益古演段》从《永乐大典》辑出。这两批文献的重新流通,是乾嘉数学复兴的直接催化剂——没有可读的《测圆海镜》,就没有焦循、李锐对天元术的重新学习和发展。

然而仍有重要的遗憾:贾宪的原著《黄帝九章算术细草》早已完全失传,仅存杨辉引述的片段;祖冲之的《缀术》失于唐代,其求圆周率到七位小数的方法至今不可考;秦九韶的部分题目在《数书九章》的传世版本中存在错误或缺损,戴震之后的学者虽然多有校订,但某些题目的原貌仍有争议。

乾嘉数学史学的另一面:局限与反思

乾嘉考据运动对中国数学史的贡献是真实而巨大的,但它的局限也是结构性的,不能不说。

首先,考据学的回顾性本质。它问的是"古人究竟说了什么”,而不是"这个方法可以走向何方”。戴震对《九章算术》的校订,是为了恢复刘徽的原意,而不是为了发展新方法。这种姿态使乾嘉数学总体上是内省的。

其次,语言屏障的代价。清代数学家对同时代的欧洲数学几乎一无所知,因为没有人去学拉丁文或法文,也没有可读的欧洲科学期刊译本。1770年代,欧拉正在写《代数学》(Algebra),拉格朗日正在发展变分法;戴震同年在校订《九章算术》。两个世界之间,没有任何知识渠道。

第三,“西学中源"说的反作用。从康熙朝形成的"西方数学源出中国"论,使一部分学者把精力花在为这个论点寻找证据上,而不是去追问欧洲数学为什么能在17–18世纪产生微积分、解析几何、概率论这些中国没有的东西。考据学的严谨,在这里反而被一种不严谨的文化民族主义所利用。

尽管如此,乾嘉的整理工作为中国数学史提供了最坚实的文献基础。没有戴震、李潢、沈钦裴的工作,李善兰无法读懂《测圆海镜》来理解天元术,无法把它和他从伟烈亚力处学到的代数学知识对接,进而写出他的《则古昔斋算学》。乾嘉整理数学经典这件事,在中国数学史上扮演的角色,有些像15世纪欧洲文艺复兴学者重新整理希腊罗马古典文献:它是传承链条上不可缺失的一环,尽管它本身不产生革命性的新数学。


戴震其人:一个什么都要问"为什么"的学者

在整理《算经十书》的干货之前,我们先来认识一下戴震这个人——因为理解他的性格,才能理解他的工作方式为什么会产生那样独特的结果。

戴震,字东原,安徽休宁人,雍正元年(1724年)生。他出生在一个徽州商人家庭,从小就表现出一种让老师头疼的气质:凡事要问"为什么”,而且不接受"古人就是这么说的"作为答案。据弟子段玉裁记载,戴震十岁跟老师读书,问老师"此朱子所注,朱子何时人?“老师说宋朝人。他又问"孔子、曾子何时人?“老师说周朝人。他立刻追问:“然则宋去周几何年,朱子安知孔曾之意?"——一个十岁的孩子,已经在用考证学的逻辑追问文献的权威性,把老师问得哑口无言。

这种质疑权威的气质贯穿他一生,也让他在仕途上付出了代价。他一生参加会试六次,次次落榜,直到乾隆三十八年(1773年)——他四十九岁——才以"举人"身份特赐进入《四库全书》馆。原因多少与他树敌太多有关:他对宋儒的批评太直接,得罪了太多以理学正宗自居的人。

但他的学术是一流的。乾嘉皖派考据学以戴震为领袖,核心承诺只有一个:不相信任何没有文献支撑的解释。凡字义有疑,以音韵求之;凡音韵有疑,以义理校之。凡不能被考证支持的"义理”,都是用自己的臆想冒充古人的本意。他在《孟子字义疏证》里说得直白:“宋以来儒者以己之见硬坐为古圣贤立言之意,而语言文字实未之知,此予所深有感也。”

把这样一个人派去整理数学古籍,是四库馆最好的人事决定之一——恰好也是偶然的幸运。

乾嘉考据运动:为什么清朝最聪明的人都去研究古书

要理解戴震为什么会做他做的事,必须先理解乾嘉时代的知识气候——因为个人的天才必须在某个时代土壤里才能生根。

17世纪末到18世纪,中国知识精英集体背弃了宋明理学。为什么?这问题历来有争议,但几个因素是清晰的。

第一,王阳明心学的内爆。 王阳明(1472—1529)的"致良知"说在16世纪后半叶产生了大量叫人头疼的衍生流派,有人说良知是虚无,有人说良知包含一切,有人用它来为各种行为辩护。这个传统最终显得漫无边际,失去了区分对错的能力。

第二,明朝灭亡的冲击。 1644年清军入关,汉族士人经历了一次巨大的精神危机。痛定思痛的一部分,是对既往文化的整体反省:形而上学的理学,被认为是使人沉溺于空谈而丧失实用能力的罪魁祸首之一。

第三,清廷文化政策的微妙结构。 清代皇权对于汉族士人的政治批评高度敏感,文字狱让人谈政治有巨大风险。但皇帝也明白,不给聪明人找事做是危险的。于是一种微妙的激励结构形成了:古典文献整理被鼓励,这恰好是最安全也最需要真本事的工作。

乾嘉考据学登场的核心承诺只有一个:考证,以证据核实事实。研究某个字的本义,不靠灵感,靠音韵学,靠其他先秦文献中的用法,靠字形的演变。研究《九章算术》中某道题的原文,不靠猜,靠版本对照,靠计算验证,靠内部逻辑一致性检验。

这种方法是真正的进步。在某种意义上,乾嘉考据学是中国最接近现代学术的前现代传统:它对证据的要求,对引文的规范,对文本校勘的细致,在18世纪的世界范围内都是高水准的。问题是它的局限也是结构性的:它只向过去看,整理的是已知,而不是生产新知。戴震的伟大,在于他在这个框架里做到了极致——然后也触到了这个框架的边界。

“以算证文”:戴震的最精妙发明

戴震的文献学贡献中,最具数学独创性的,是将数学计算本身作为文字校勘的工具。他发明了一套"以算证文"的方法:用算来证文,反过来也用文来证算。

这是一个良性循环,不是恶性循环。具体操作分四步:

第一步: 拿到一段可疑文字,完整演算一遍,记录每一步中间量。

第二步: 将演算结果与抄本数字对照,找出不符之处。比如题目说"广十五步”,但按已知面积和长反算,“广"应该是十二步——“十五"与"十二"在草书中字形相近,属常见笔误类型。这个推断同时用文字学(字形分析)和数学(逆向演算)双重支持。

第三步: 参考其他文献中对同一题目的引用——杨辉《详解九章算法》、秦九韶《数书九章》中有时保存了对《九章算术》某道题的重新表述,可作为独立检验标准。

第四步: 当两方印证一致,完成一次有充分证据的文字校改,并注明校改理由。

最令后世称道的案例,发生在"盈不足"章。某道题的抄本给出的已知条件内部不一致:按题面条件演算,答案是 \(A\),但题中所给"答案"为 \(B\),且 \(A eq B\)。戴震用倒推法——从答案 \(B\) 出发反推应有的条件数字——找出那个"应该是什么"的数字 \(C\),确认 \(C\) 与抄本的 \(D\) 在草书中确实极为相似,从而判定 \(D\) 是 \(C\) 的笔误。文献学(字形相似)与数学(逆向验证)在同一个论证中合而为一:数学服务于文献学,文献学服务于数学。

会通的张力:戴震与"西学中源"说的微妙关系

这里有一个历史的悖论,值得单独谈谈。

戴震整理《算经十书》的时代背景,是"西学中源说"正当其时。梅文鼎提出、康熙皇帝背书的这一说法——西方数学其实源出中国——在乾嘉时代已经是官方定论,写入了《数理精蕴》序言。大多数清代学者在这一框架下做学问:既然西方数学源出中国,那么研习西方数学不过是找回中国自己的遗产。

戴震的立场更复杂。作为一个受过严格训练的考证学者,他不会轻易接受任何没有文献支撑的宏大叙事,包括"西学中源"这个说法。他整理古典数学文献,目的是恢复古典文本的本来面目,不是为了证明任何预先设定的结论。

但他也不会公开挑战这一说法——那不是一个馆臣能做的事,何况这是皇帝的立场。

历史的讽刺在于:戴震通过精心整理古典数学文献,恰恰给后来的学者提供了真正可靠的文本基础,使他们得以客观比较中西数学的异同。有了好版本的《九章算术》和《测圆海镜》,才能做真正意义上的比较;而真正意义上的比较,最终不可避免地揭示出:中西数学有同有异,绝非简单的源出关系可以概括。戴震的工作,在长远上反而削弱了"西学中源"说的基础——尽管这完全不是他的本意。

历史有时就是这样:一个人认真做了一件事,结果把他本不打算打破的东西打破了。

戴震的遗产:一条两百五十年的传递链

乾隆四十二年(1777年)五月二十七日,戴震在北京去世,终年五十三岁。他进入《四库全书》馆整整四年,完成了七部算经的辑录、校勘和注释工作,并为多部算经撰写了《四库全书总目提要》词条。

他没有看到自己整理的文本被付印,那是身后的事。他也没有看到焦循、汪莱、李锐读到这些文本后产生的数学探索——那是他去世十几二十年后的事。

但从更长的时间尺度来看,他留下的东西以不同方式传递了两百五十年。乾嘉时代:焦循、汪莱、李锐有了可靠的《测圆海镜》和《数书九章》可读,才能重新学习天元术,并在此基础上发展出原创的方程理论(第47章)。19世纪中叶:李善兰翻译西方微积分时,正是依托乾嘉整理出来的宋元数学文本,来理解中算与西算之间的关系。20世纪:钱宝琮1963年出版的《算经十书》校点本——今天仍是标准本——其文本基础正是从戴震的整理本一路演变而来。

弟子段玉裁在为戴震写的年谱里说:“先生之学,以声音文字为本,以实事求是为主。“这话是说他整体学问的,但用来描述他的数学文献整理工作,同样贴切。“以实事求是为主”——这也许是对乾嘉数学史学最简洁的定义。

Chapter 46: 阮元《畴人传》与数学史学的诞生

什么是《畴人传》

每一个文明,最终都会回望自身,问:我们做了什么?我们所知道的一切,是怎样一步步被发现的?

对中国数学而言,这个自我审视的时刻到来于1799年。那一年,阮元(1764—1849)出版了《畴人传》,共46卷,收录了上古至当代275位中国数学家与天文学家的生平与成就,附带若干西洋数学家和耶稣会士的传记。

畴人一词有其特定的历史渊源:《周礼》中的"畴"指世代相承的专业人员——以父传子的方式将专门知识延续下去的家族。天文历算,在中国历史的大多数时期,确实是拥有官职任命的专业家族的领地。称这些人为"畴人”,是承认他们构成一个独立的知识谱系,而非仅仅是从事技术工作的小官吏。

体例仿照正史列传:每篇传记包含生卒年、官职履历、现存著作目录、数学成就述要(尽可能直接引据原书),以及一段评价该人在传统中地位的"论曰”。

实际的撰写工作,大量由李锐(1769—1817)承担。李锐是那一代技术能力最强的数学家之一,也是最能诚实评价数学内容的人。阮元负责组织、统筹和提供制度资源。这种分工——技术学者做实质,有背景的官员提供平台——正是乾嘉学派推动大型项目的典型模式。

三个具体传记条目

Liu Hui (刘徽, c.225–295 CE).

阮元正确认定刘徽是263年《九章算术》注的作者,并引述了他著名的割圆术——用内接正多边形不断逼近圆周,从192边形得到 \(\pi \approx 3.14\)(\(157/50 = 3.14\) 整)。他的评价是"注述精微,实开斯学之宗旨”。

阮元无从评估的——因为当时的学术研究尚未做到这一步——是刘徽在世界数学史上的地位。后来的研究揭示,刘徽推导球体积时所用的"牟合方盖"方法,运用了一种以平行截面切割来求体积的原理,与卡瓦列里在欧洲独立提出同等原理相差整整十四个世纪。《畴人传》如实记录了刘徽的成就,却无法知晓其深度。

Zu Chongzhi (祖冲之, 429–500 CE).

祖冲之这一条,阮元说得准确而清晰:祖冲之将圆周率算到小数点后七位,确立了 \(3.1415926 < \pi < 3.1415927\),并发现了分数 \(355/113\)(他称之为"密率”),精确到六位小数。阮元的评价"圆率之密,至祖冲之已极"或许稍嫌武断,但其中的欣赏是准确的:\(355/113\) 是分母不超过16000以内对 \(\pi\) 的最佳有理逼近,而祖冲之发现它,比欧洲任何数学家早了整整一千年。

《畴人传》无法回答的是方法问题。祖冲之的著作《缀术》在唐代就已失传。他如何将圆周率算到七位——想必是刘徽割圆法的推广,但需要边数不少于 \(3 \times 2^{24}\) 的多边形——在技术层面至今无文献可考。传记记录了成就,却无法解释如何做到。这是一个局限,但是诚实的局限。

Mei Wending (梅文鼎, 1633–1721).

清代条目中篇幅最长、评价最为精当的一篇。阮元(与李锐)给予梅文鼎最高的评语:“本朝历算,首推梅氏。“传记详列其八十余部著作,评述球面三角学为真正原创的成就,并以足以作为第一手史料的篇幅记录了康熙1705年德州召见的始末——正史并无此事记载。无论如何看待梅文鼎的"西学中源"主张,《畴人传》对他的描绘是基本准确且有历史价值的。

西方数学家的收录:如何处理外来成就

《畴人传》在结构上最具开创性的决定,是将西方数学家与耶稣会士——利玛窦、汤若望、南怀仁、杜德美等——收入这部原本纯属中国人的传记体著作。

阮元以"西学中源"说为纳入西方人辩护:如果西方数学归根结底源出中国,那么西方数学家从某种意义上说是在发展一份中国遗产,他们被收入中国数学传统并不矛盾。这个论证在历史上站不住脚,但它实现了一个实用目的:使阮元得以诚实地承认西方的贡献,而无需在表面上表现为将中国文化附属于西方。

这里隐含的让步是真实而重要的。一部名为《畴人传》的书里出现了利玛窦和杜德美的名字,这在某种程度上承认:中国数学的历史,离开这些人就无法完整讲述。这个承认,公开发表于1799年,本身就是一个文化宣示。

后续的续编

《畴人传》此后陆续产生了三部续编,每一部都扩大了原书的范围:

《续畴人传》(1843,罗士琳): 六卷,补录嘉庆、道光年间学者27人,其中包括明安图的传记——《割圆密率捷法》创作过程的第一份有据可查的记述。对西方人物的处理较原书更为均衡。

《畴人传三编》(1886,诸可宝): 七卷,延伸至光绪年间,首次为李善兰、华蘅芳立传——这两位将西方微积分与代数译成中文的人,标志着本书所记录的这一传统行将终结。

《畴人传四编》(1898,黄钟骏): 十一卷:中国人283名,西方人157名。此时西方的存在已从礼貌性的补充变成几乎平分秋色。这个比例反映了知识处境的根本变化:到1898年,问题已不再是要接受多少西方数学,而是中国能以多快的速度吸收它所错过的两个世纪的欧洲数学。

这四部合在一起,构成了任何一个文明中对数学史最完备的传记式记录——从甲骨文一路到微积分,以人物肖像覆盖了三千年。现代中国数学史学的奠基人李俨(1892—1963),整个学术生涯就建立在这个基础之上。

《畴人传》的后继者

阮元的《畴人传》1799 年出版,随即成为中国数学史学史上的一个基准点——所有后来者都要把自己的工作定位为”《畴人传》之后”。在接下来的一个世纪里,有三位学者分别编纂了续编,每一部都把这个传记项目推向了阮元无法预见的方向。

罗士琳于道光二十年(1840 年)完成**《续畴人传》**六卷,共增补学者四十三人。值得注意的是,这部续编第一次为明安图(约 1692—约 1765)立传,记录了《割圆密率捷法》的创作过程——没有罗士琳的这份传记,我们对明安图一生的了解几乎为零。《续畴人传》还做了一件阮元原书没有做的事:它认真介绍了多位西方天文学家,将哥白尼、第谷、伽利略、开普勒、牛顿逐一立传,从中国的视角评述他们的工作——这是一种真正的"世界数学史"意识的萌芽。

诸可宝编成**《畴人传三编》**(光绪十二年,1886 年),七卷。在最后一卷里,他收录了三名清代女天文学家、十五名西洋人,以及——这是整个《畴人传》系列最具象征意义的一笔——一名日本数学家:关孝和(1642—1708)。关孝和是江户时代日本数学(和算)最重要的代表人物之一,独立发展了行列式理论和高次方程解法,与莱布尼茨几乎同时代。他的入传,标志着《畴人传》系列所隐含的"谁算数学家"的定义,第一次被明确地扩展到中国文明圈之外。王贞仪(1768—1797)是女性条目中最重要的一位——她在短暂的一生中写成了关于月食成因的几何分析,以及普及天文数学知识的著作;诸可宝给她立传,是对一种一直被历史性别偏见压制的学术贡献的正式认可。

黄钟骏父子于光绪二十四年(1898 年)编成**《畴人传四编》**,十一卷附一卷,这一年恰是戊戌变法。西洋 157 人的收录规模,使"西洋人部分"与"中国人部分"几乎平分秋色。到了这一卷,《畴人传》系列所隐含的那个问题——“这部书记录的,是中国的数学传统,还是数学这件事本身在中国的历史?"——已经通过编者的实际选择做出了回答:两者都是,而且随着时代的推进,越来越是后者。

从 1799 到 1898,一百年,四部传记:阮元的初编确立框架;罗士琳的续编填补空白并引入世界视野;诸可宝的三编扩展了"谁算数学家"的边界——容纳女性,容纳外国人;黄钟骏的四编接受了一个无法回避的事实:中国数学的历史,在 1898 年,已经不可能不包括整个世界数学史的主体部分。

这个一百年的演变轨迹,比任何单独的数学发现都更清晰地说明了那个时代中国知识界发生了什么。《畴人传》系列是一面镜子:它照出的,不只是历代数学家的面孔,也照出了每个时代的编者认为"数学"是什么,认为"数学家"是谁,认为"我们的数学传统"的边界在哪里。


《畴人传》的编撰背景与李锐的贡献

阮元(1764–1849)在着手《畴人传》时,年仅三十余岁,正任浙江学政,手头有访访各地私人藏书楼的便利——这对一部需要系统梳理历代数学家传记的著作至关重要。

实际的数学内容撰写,大量依赖李锐(1769–1817)。李锐是那一代技术能力最强的数学家之一,能够阅读并真正理解秦九韶的大衍求一术、李冶的天元术、朱世杰的四元术,以及郭守敬的招差法。他在为历代数学家撰写"数学成就述要"时,不是简单地转述,而是重新演算题目,用现代(乾嘉时代的)眼光评估各传记人物的实际贡献。阮元的角色更接近于组织者、提供制度资源的赞助者,以及最终文字的润色者。这种分工在乾嘉大型学术项目中非常典型,是"能文者不必精算,精算者不必善文"的人才配合模式。

什么是"畴人”?选录标准

《畴人传》中的"畴"字,出自《周礼·春官》:“以其行政授之,其行政在畴人”——畴人是世代以专业技艺为业的专家世家,其"职业性"和"传承性"是其定义的两个核心。阮元借用这个词,意在强调:数学家和天文家不是偶发的个人天才,而是一个有专业认同、有代际传承的知识群体。

选录标准在《畴人传》序言中有明确说明:凡"立法制器、推步测算,诸有可观"者,皆入传。具体而言,涵盖以下几类:

历法家:编制历法、改革历法的人,如汉代张衡、隋代刘焯、唐代一行、宋代沈括、元代郭守敬等。历法家入传的比例最高,因为历法是中国官方数学实践的主要形态。

算学家:有专门数学著作传世的人,如刘徽、祖冲之、杨辉、秦九韶、李冶、朱世杰、梅文鼎等。

仪器制造者:设计并制造天文仪器的人,如汉代张衡(浑天仪)、宋代苏颂(水运仪象台)、元代郭守敬(简仪)等。

传教士数学家:利玛窦、汤若望、南怀仁、杜德美等在华活动的耶稣会士,以"西学中源说"为名义纳入。

不入传者:纯粹的数学哲学讨论者(无实际计算成果)、未留下可查著作者、以及在数学史上没有可识别贡献的人。这个标准本质上是"有实证可查的技术成就”,与乾嘉考据精神一致。

《畴人传》的体例与典型条目

全书46卷,每卷若干传记,体例仿《史记》列传:先简述生平官职,次列著作目录(尽可能注明版本和现存状况),再述数学或天文成就,最后以"论曰"给出评价。

评价的标准非常具体,不是泛泛赞扬,而是明确说明某项技术在历史上的位置。例如评祖冲之:

“祖冲之……以密率 \(\frac{355}{113}\) 逼圆……密率之精,前无古人。”

这句话在数学上是精确的:\(\frac{355}{113} = 3.14159292\ldots\),与 \(\pi = 3.14159265\ldots\) 相差约 \(2.7 \times 10^{-7}\),这确实是分母不超过16000范围内对 \(\pi\) 的最优有理逼近(由后世Stern-Brocot树理论所证明)。

评刘徽时,阮元(李锐执笔)正确指出割圆术的收敛性,并引述了从96边形得到 \(\pi \approx 3.14\)(即 \(\frac{157}{50}\))这一结果,与今日数学史的记录完全吻合。

评梅文鼎时,篇幅最长,着重其"会通中西"的学术立场,视之为清代历算的集大成者:“本朝历算,首推梅氏。“这个判断在清代学界几乎没有异议。

阮元的历史观:西学中源的矛盾

《畴人传》中一个反复出现的主题,是西方数学成就如何被评价。阮元的立场体现了乾嘉学界的主流处理方式:承认西方数学的技术成就,同时通过"西学中源"论维护中国数学的优先性。

这个立场在书中具体体现为:凡讨论中国与西方"共有"的技术(如球面三角、对数),阮元总是设法找到一个中国早期的先例或相关工作,将它解释为西方方法的"源头”;凡讨论西方传教士的成就,用"补充"和"完善"的框架,而不承认根本上的知识输入。

这个立场有历史局限,但也有一个实用的功能:它使阮元能够在不失民族文化自尊的前提下,把利玛窦、汤若望、南怀仁、杜德美等西方人正式纳入中国数学史的叙述框架。没有这个论证框架,《畴人传》里或许就没有西方人的位置,书的完整性会大打折扣。阮元的矛盾,是一个过渡时代知识人不得不面对的矛盾。

《畴人传》对后世的影响

《畴人传》1799年刊行后,立即成为中国数学史研究的基本文献。它的影响体现在三个层面:

作为史料:书中保存了大量一手或近一手的历史记载,尤其是关于明清数学家的,有些是孤证,没有其他文献可以核实。例如关于梅文鼎1705年在德州被康熙召见的记述,正史无载,仅见《畴人传》。

作为范式:它确立了"对数学家进行系统传记整理"这一项目的正当性,激励了后继者。罗士琳、诸可宝、黄钟骏三部续编,都是以《畴人传》为参照系的接力工程。

作为方法论示范:用技术眼光评价历史成就——不只说"此人伟大”,而说"此人用了什么方法、得到了什么具体结果、在历史上位于什么位置"——这种做法对19世纪的李善兰、华蘅芳产生了直接影响。李善兰在翻译西方数学著作时,常常将新引进的概念与《畴人传》所记的中国古算成就对照,寻找历史的联系点。

罗士琳《续畴人传》的修订

罗士琳(1789–1853)的**《续畴人传》**(1843年)在阮元原书基础上做了两项关键修订,值得单独说明。

第一,他补入了明安图(约1692–约1765)的详细传记,并首次系统记录了《割圆密率捷法》的创作过程——明安图如何在1720年从杜德美处得知三个无穷级数(正弦、反正弦、正矢的级数展开)的结论,随即着手证明,历时四十余年,临终前仍未完稿,由弟子陈际新整理刊行(1774年)。没有罗士琳的这份记录,明安图就只是一个名字;有了它,明安图才成为中国数学史上第一个独立建立无穷级数证明的数学家的完整形象。

第二,罗士琳对西方数学家的记述比阮元更为均衡,减少了"西学中源"论的防御性色彩,开始以更中立的语气承认:某些知识确实是从西方传入的,而非中国固有。这个细微的语气转变,在1843年的历史背景下(正是鸦片战争结束之年)有其深刻的时代意义。

《畴人传》的写作方法:传记作为史料批判

《畴人传》不是简单的数学家名录,它是一部以传记为体裁的学术史批判工作。阮元在每篇传记之后,往往附有按语,评价传主的学术贡献、指出文献的疑点,或与其他传主的成就作比较。这种处理方式在当时的学术传记著作中并不多见。

例如,在《祖冲之传》中,阮元不仅记录了密率\(\frac{355}{113}\)的发现,还专门考辨了《缀术》亡佚的原因,认为"《缀术》之佚,非仅战乱所致,实因其难而少能读之者"——一部书因为太难而逐渐失去读者群,最终无人抄写、无人刊刻,就此消失。这一判断今天仍被历史学家引用,视为对《缀术》命运最合理的解释之一。

在《刘焯传》中,阮元讨论了刘焯的内插法与唐代实际历法使用的关系,并注意到:刘焯的二次内插公式在理论上优于前代,但历法官员是否真正理解并使用了它,是另一个问题。这种将"数学方法提出"与"数学方法实际落地"分开讨论的意识,在19世纪初的中国学术圈是相当难得的。

畴人概念的哲学内涵

“畴人"一词来自《史记·历书》:“幽、厉之后,周室微,陪臣执政,史不记时,君不告朔,故畴人子弟分散。“这里的"畴人”,指的是世代相传掌管历法、算法的专业官员群体——“畴"是"同类"的意思,“畴人"就是"专业技艺的传承群体”。

阮元选择"畴人"作为书名,隐含了一个历史判断:中国数学不是由孤立天才推动的,而是由一代代专业人员——有时在宫廷任官,有时在民间授徒——世代积累的技艺体系。这一判断与欧洲浪漫主义时代对"天才数学家"的英雄叙事形成对比。牛顿、欧拉在欧洲传记写作中往往被处理为孤绝的天才;《畴人传》则把同样重要的人物——刘徽、祖冲之、秦九韶——放在制度脉络和知识传承链条中来理解。

这种叙事框架并非没有代价。《畴人传》对那些不在官方体制或主流传承脉络中的数学工作,往往着墨较少。宋元民间数学、商业数学(如徽商商业算法)、少数民族历算传统,在《畴人传》里几乎缺席。阮元的传记史学,是精英制度史的产物,有其视野的边界。

《畴人传》的版本与续编

《畴人传》初稿成于1795年,由阮元的幕僚李锐等人协助撰写,1799年以扬州官刻本形式正式刊行。这个初稿收录了从上古到清代中期的46卷传记,另有西洋畴人(包括托勒密、哥白尼、第谷、伽利略、牛顿)一卷,开创了将欧洲科学史纳入中国史学框架的先例。

此后有两部续编:罗士琳(1789–1853)的《续畴人传》(1840年代,增补乾嘉以后的数学家);诸可宝(1845–1903)的《畴人传三编》(1882年)。两部续编在阮元框架基础上扩充了西洋部分,反映了鸦片战争后中国知识界对西方科学史的更广泛了解。

进入20世纪,《畴人传》被钱宝琮等现代数学史家视为最重要的中算史史料汇编之一。但现代学者也开始注意到其局限:传记体裁倾向于把数学进步归结为个人成就,而忽略了制度、文本传播和跨文化交流的结构性因素。怎样在阮元传记史学的基础上做出超越,是20世纪中国数学史研究的核心方法论问题之一。


阮元其人:一个在官场如鱼得水的大学问家

我们通常会把"官员"和"学者"放在对立的两边,好像一个人要么是行政机器里的齿轮,要么是书斋里的孤独思想者。阮元彻底打破了这个对立。

阮元(1764—1849),字伯元,号芸台,江苏仪征人。他的一生,就是一份让人叹为观止的简历:进士出身,历任山东、浙江学政,浙江巡抚,湖广总督,两广总督,云贵总督,体仁阁大学士(相当于宰相衔),太子太傅。他在官场纵横六十年,活到了八十六岁,经历了乾隆、嘉庆、道光三朝。

同时,他编纂了《畴人传》(1799年),主持校刻了《皇清经解》(1829年,收录汉学著作183种,1408卷),创立了杭州诂经精舍和广州学海堂——两所培养出无数19世纪杰出学者的书院,并在担任浙江学政时访遍各地私家藏书楼,为《畴人传》的编纂积累了最重要的一手史料。

他是一个在权力走廊里来去自如、同时能把真正的学术工作做到最高水平的人。这种组合在历史上极为罕见,而《畴人传》正是这种组合的产物:没有他的官职和人脉,李锐接触不到那么多稀见文本;没有李锐的数学能力,那些文本就只是死的纸堆。

为什么要写一部数学家传记?

1795年,阮元时任浙江学政,三十一岁。他产生了一个想法:为中国历代的数学家和天文学家写一部传记集。

这个想法在当时并不显然。中国有着极为发达的传记写作传统——正史列传、地方志人物志、文人笔记集传——但这些传统的主角,是政治家、文学家、道德楷模,偶尔包括隐士,极少包括数学家。数学家和天文学家在正史里通常只出现在技术志书(《历志》、《天文志》)里,以作者身份被附带提及,而不是作为有面孔、有个性、有学术轨迹的人物被记述。

阮元意识到,这种缺失造成了一个严重的历史盲点:中国数学的发展轨迹,因为没有与之相配的人物叙事,在一般学者的认知里是模糊的、断裂的。他们知道有《九章算术》,但不知道刘徽是个什么样的人;他们知道有《数书九章》,但不知道秦九韶的生平和他写这本书的历史背景。

《畴人传》要填补的,正是这个空缺——不是技术史,不是纯粹的生平记录,而是两者的结合:用传记的方式,展示数学家是怎样的人,在什么历史条件下做了什么数学。

“畴人”:这个词选得极其精妙

阮元选择"畴人"作为书名,是一个充满深意的文字决定,值得停下来说几句。

“畴人"这个词,出自《史记·历书》:“幽、厉之后,周室微,陪臣执政,史不记时,君不告朔,故畴人子弟分散。“这里,“畴人"指的是世代相传掌管历法算法的专业官员家族——“畴"是"同类"或"世业"的意思,“畴人"就是"世代以专门技艺为业的传承群体”。这些人有官职任命,有代际传承,不是偶发的个人天才,而是构成一个稳定的知识谱系的群体。

阮元借用这个词,是在做一个隐含的论点:中国数学不是由偶发的孤独天才推动的,而是由一代代拥有专业认同、有代际传承的知识群体积累而成。这个论点,与欧洲浪漫主义时代对"天才数学家"的英雄叙事形成了鲜明对比。牛顿在欧洲传记写作中往往被塑造为一个孤独的天才,从苹果落地中看见了宇宙的规律;《畴人传》则把刘徽、祖冲之、秦九韶放在制度脉络和知识传承链条中来理解——这种框架更接近现代的科学社会学,而不是英雄史观。

当然,这个框架也有它的盲点:它对制度之外的数学工作着墨较少——宋元民间数学、商业算学、少数民族的历算传统,在《畴人传》里几乎缺席。但作为一种历史叙事框架,它在1799年的中国是独创性的。

《畴人传》的结构:46卷里装着什么

全书46卷,前42卷共233篇,记载从传说中的三皇五帝时代到嘉庆四年(1799年)去世的中国天文历法家和数学家275人。后4卷作为附录,共36篇,记载西洋天文学家、数学家和来华传教士41人。

这个结构有几个值得注意的特征。

按时代顺序排列,但每篇的重心是学术内容,而不是生平细节。 传记体裁通常强调人物的出生、家庭、官职、死亡。《畴人传》把这些压缩到最低限度,把大部分篇幅用于叙述传主的数学或天文成就。对于有著作传世的人物,往往大量引录原书序言、凡例或核心段落,使读者能直接接触原始文献。

评价标准是技术性的,不是道德性的。 中国传统列传往往把道德品质作为衡量人物的核心标准,一个数学家的价值在传统史书里很大程度上取决于他是否是忠臣、孝子、廉吏。《畴人传》的评价标准明确转向了技术:某人用了什么方法、得到了什么具体结果、这个结果在历史上处于什么位置。

西洋人的收录是一个宣示。 当利玛窦、汤若望的名字出现在一部名为《畴人传》的书里,这本身就是一个文化宣示:中国数学的历史,离开这些人就无法完整讲述。阮元用"西学中源"论为纳入西方人辩护——如果西方数学归根结底源出中国,那么西方数学家从某种意义上是在发展一份中国遗产。这个论证在历史上站不住脚,但它实现了一个实用目的:使阮元得以诚实地承认西方的贡献,而无需在表面上表现为将中国文化附属于西方。

李锐:《畴人传》真正的数学引擎

《畴人传》封面署名"阮元撰”,这没有错——阮元是组织者、统筹者、“传论”(评价性按语)的撰写者。但具体的数学内容和技术评价,大量出自李锐(1769—1817)之手。

书中有"阮元手订"的凡例明确提到:“助元校录者,元和学生李锐暨台州学生周治平力居多。“现代研究者傅祚华的考证认为,各传正文主要由李锐搜集整理而成,阮元的角色更接近于组织者和最终文字的润色者。

李锐进入这个项目的时间,大约是1795年。那一年阮元任浙江学政,李锐被邀至杭州,开始从事编纂工作。从杭州的文澜阁《四库全书》、各地私人藏书楼的珍稀书目,李锐逐一梳理历代数学文献,重新演算每位传主的核心成果,用当代(乾嘉时代的)眼光评估其数学地位。他能读懂秦九韶的大衍求一术、李冶的天元术、朱世杰的四元术,这在当时是极少数人才拥有的能力。

这种分工在乾嘉大型学术项目中非常典型——“能文者不必精算,精算者不必善文”,有背景的官员提供资源和平台,技术学者做实质工作。但历史的记忆总是更容易落在有名有姓的赞助人上,而不是真正动手的人。

值得注意的是,李锐在协助完成《畴人传》的同时,自己也在进行独立的数学研究——正是这些研究让他成为第47章的主角之一。一个人同时在为别人的历史写传记、也在为自己创造历史,这是一种罕见的位置。

约瑟夫·尼达姆用过这本书

《畴人传》在中国数学史研究中的基础性地位,通过一个细节可以生动说明:英国科学史家约瑟夫·尼达姆(Joseph Needham,1900—1995)在撰写他那部七卷本《中国科学技术史》(Science and Civilisation in China)时,将《畴人传》列为最重要的参考文献之一。

尼达姆不懂古汉语的全部,但他的中国合作者、数学史家王铃帮助他查阅原文,而《畴人传》提供的系统性人物传记,是他重建中国数学史框架的基础材料之一。一部1799年完成的中国传记著作,一百五十年后出现在一位英国人的参考书目里,帮助重建了西方人对中国科学的整体认知——这是阮元和李锐当年大概没有预料到的历史命运。

但这也说明了《畴人传》的历史价值:它不只是一部中国内部流通的学术著作,它成了中国数学走向国际视野的一座桥梁。

《畴人传》的局限:一部书能做什么,不能做什么

任何伟大的著作都有其局限,《畴人传》也不例外。现代学者在使用它时,通常需要同时意识到它的两面。

它能做的: 提供系统性的人物传记材料,保存大量一手或近一手的历史记录,尤其是关于明清数学家的,有些是孤证,没有其他文献可以核实。关于梅文鼎1705年在德州被康熙召见的记述,正史无载,仅见《畴人传》,成为这段历史的唯一记录。

它做不到的: 由于传记体裁的内在局限,《畴人传》倾向于把数学进步归结为个人成就,而忽略了制度环境、文本传播渠道、跨文化交流的结构性因素。刘徽为什么能在263年写出划时代的《九章算术》注?这背后有什么样的知识氛围、什么样的学术社群?《畴人传》的传记框架无法回答这类问题。

它在历史上被有意误用的地方: 书中"西学中源"论的论证框架,在19世纪被一部分保守学者用来抵制引进西方数学——“我们的传统已经包含了所有这些,没必要向外人学习”。这不是阮元的本意,但任何文本一旦进入历史,就不再只属于作者。

现代中国数学史学的奠基人李俨(1892—1963),整个学术生涯建立在《畴人传》及其续编的基础之上,但他同时也是第一批系统指出《畴人传》局限的学者。超越《畴人传》而不否定它,是20世纪中国数学史学的核心方法论任务之一。

Chapter 47: 焦循、汪莱、李锐 — 高次方程的本土探索

三个人与他们的问题

焦循(1763—1820)、汪莱(1768—1813)、李锐(1769—1817)三人之间的友谊,是思想史上罕见的情形:三个能力恰好互补的人,在恰好合适的时刻相遇。他们被称为"谈天三友”,共同关注的问题听来技术性很强,实则深刻:一个方程究竟有几个解?

这个问题从现代角度看几乎显得幼稚——代数基本定理告诉我们,\(n\) 次多项式恰好有 \(n\) 个根(计入复数根与重数),这是大学本科的标准知识。但在1790年的中国,这个问题并不幼稚。宋元天元术通过数值逼近求多项式方程的解,根本没有追问解的个数,也没有区分正根、负根与虚根。《数理精蕴》的借根方代数同样没有触及这个问题。

三人决定正面处理它。

焦循:给算术建立公理体系

焦循是三人中的哲学家。他约在1798年写成的《加减乘除释》(八卷),尝试做一件相当罕见的事:将四则运算的性质系统地整理为从定义推出的定理,并使用广义符号记法。

他用甲、乙、丙、丁等汉字充当代数占位符——这是中国数学著作中第一次用系统性符号表示任意量,而非特定数字。他随后陈述并证明(即从已明示的前提作逻辑推导)了九十三条命题。

试举数例:

第一条(加法交换律):“甲与乙合,同于乙与甲合。” 即 \(a + b = b + a\)。

第七条(乘法分配律):“甲与乙丙之并合,同于甲与乙合,再加甲与丙合。” 即 \(a \times (b + c) = a \times b + a \times c\)。

第十五条(减法与负数):“从甲减去乙,同于以甲加乙之负数。” 即 \(a - b = a + (-b)\)。

以现代标准看,这九十三条命题并不深刻,交换律和分配律都谈不上令人惊讶。但这个项目本身——将算术规律明确陈述为数学命题并从所设前提推导出来——在中国是新事物。欧几里得在公元前四世纪为几何做了这件事,皮亚诺在1889年为算术做了完整的版本,而焦循在1798年朝这个方向迈出了一步,工具虽然必然不完备,但方法论上的自觉是真实的。

汪莱:发现方程的多根现象

汪莱是三人中的分析者,贡献也最具数学原创性。他在1798至1809年间陆续写成的《衡斋算学》(七卷),是中国数学中对多项式方程根的个数与性质的第一次系统探讨。

他的切入点是一类有美丽几何背景的题目:已知直角三角形的面积和斜边,求两直角边。设较短边为 \(x\),面积条件给出一个四次方程。汪莱注意到,这类方程可以有两个不同的正根——两个完全不同的直角三角形,都满足给定的条件。这对中国数学而言是一个发现:方程并非总有唯一解,可以有多于一个正确答案。

他继续推进。在《衡斋算学》第五卷,他按系数符号对二次和三次方程分类,系统分析每种情形下可能有几个正根。他得出的结论,正是笛卡尔(René Descartes)在1637年《几何学》附录中无证明地陈述过的东西——今天称为笛卡尔符号规则。

笛卡尔符号规则(完整表述):多项式 \(f(x) = a_n x^n + \cdots + a_0\) 的正实根个数,不超过其系数序列的符号变换次数,且实际正根数与符号变换次数同奇偶(相差偶数)。

例一: \(x^3 - 6x^2 + 11x - 6 = 0\)。系数符号序列:\(+, -, +, -\),符号变换3次,最多有3个正根。实际分解:\((x-1)(x-2)(x-3) = 0\),根为1、2、3,恰好3个正根。

例二: \(x^3 + x + 1 = 0\)。系数符号序列:\(+, 0, +, +\),符号变换0次,最多有0个正根。实际唯一实根约为 \(x \approx -0.682\),确无正根。

汪莱得出同一规律,不是通过阅读笛卡尔——他没有任何渠道读到十七世纪的法国数学——而是逐一枚举情形,直到规律自行显现。他比笛卡尔晚了165年,却与笛卡尔完全独立。

这是数学史的基本事实之一:好问题等待每一个愿意追问它的人。“一个多项式能有几个正根?“这个问题就藏在代数的结构里,等候被发现。笛卡尔在1637年的法国找到了它,汪莱在1798年的安徽找到了它,两人都不知道对方的存在。

汪莱与李锐的争论

汪莱与李锐关于负根与虚根是否存在的论争,是中国数学史上最具揭示性的一个插曲——不是因为它产生了数学结果,而是因为它展示了两个聪明人在数学与现实的边界问题上的不同推理方式。

汪莱的立场更为开放。他承认方程可以有多个正根,也愿意考虑既非正数也非实数的根的可能性——他把这类情形称为方程"不可知”。他没有为这些根命名或给出理论,但指向了正整数之外数学对象存在的可能。

李锐的立场更坚定、更保守。他在身后刊行(1820年)的《开方说》(三卷)中明确指出:如果一道有现实意义的题目——测量题、面积题、勾股题——导出的方程解不是正数,那是题目设错了。此类问题的解必须是正数,因为它们所代表的量(长度、面积、数量)本来就是正数。不存在长度为 \(-3\) 这回事。

这个论证有其内在一致性。数学引入负数不是任意而为,而是因为负数有用;而负数的有用性需要一次概念跃迁——接受数不仅能表示量,也能表示有方向的量或抽象对象。李锐拒绝这次概念跃迁,坚持认为数必须有物理意义作为根基。

然而李锐的《开方说》包含一个真正的进步:他成为中国第一位明确将负根作为有效解来讨论的数学家。他写道:“凡商数为正,今令之为负”——“当商是正数时,我们可以令它为负数。“这个措辞审慎而保守——“令之为负"而非"必为负”——将负根作为一个计算对象接受下来,同时拒绝主张它在物理世界有任何意义。这是一种妥协,但比简单地忽略问题要诚实得多。

李锐还发展出了我们今天所谓的综合除法:找到一个根之后,将其从多项式中因式分解出来,降低次数,再从降次后的多项式找下一个根。这一"代开法"是独立而正确的发现,是对中国代数传统真实的贡献。

笛卡尔符号规则的完整证明

汪莱的发现提供了一个机会,来解释笛卡尔符号规则为什么成立——即他没能获得的那个论证,简述如下:

设多项式 \(f(x)\) 有一个正实根 \(x = a\),则 \(f(x) = (x - a) \cdot g(x)\),其中 \(g(x)\) 次数低一。关键事实是:将多项式乘以 \((x - a)\)(\(a > 0\)),会在系数序列中引入至少一次额外的符号变换。(想想因子 \((x - a)\):当 \(x\) 从下方穿过 \(a\) 时,\(f(x)\) 变号,这迫使系数序列记录这次穿越。)因此:若多项式有 \(k\) 个正实根,其系数序列至少有 \(k\) 次符号变换,即符号变换次数是正实根个数的上界。

每次符号变换至多对应一个额外正根、以及实际正根数与变换次数同奇偶这两点,需要一个涉及多项式及其导数行为的更细致的论证。汪莱拥有实验性的观察;完整的证明就在不远处——但它需要多一个概念工具,即分析根如何与多项式形式相互作用,而他的传统当时还没有发展到这一步。

乾嘉数学圈:方程理论的延伸

焦循、汪莱、李锐的故事说完了,但"谈天三友"从来不是孤立的。他们的研究能够成为乾嘉数学最高成就的原因之一,是因为他们处于一个由赞助者、书目学家、独立研究者共同构成的知识生态系统中。

孔广森(1752—1786),孔子第七十代孙,乾隆三十六年进士,年仅三十四岁便去世了。但他是清代最早研究《测圆海镜》的人,亲自批校了李冶的宋元代数经典,用天元术重新整理了其中的高次方程解法——早于李锐的批校工作。他的《少广正负术内外篇》六卷研究高次方程,并明确指出算法应当不依赖于特定数字,“任换他数皆可通用”——这是一种面向算法抽象的意识,在当时的中国数学中相当难得。

张敦仁(1754—1834)是这个圈子里最重要的"幕后人物”。他是山西阳城人,乾隆四十年进士,一生辗转担任江西、安徽、江苏各地的知府。他对数学的兴趣是真实的,但他最重要的贡献不是他自己做的数学,而是他创造了条件让汪莱和李锐去做数学:聘请两人入幕,为他们提供安定的研究时间和充足的古籍资源。《缉古算经细草》、《求一算术》这些工作,都是在张敦仁的赞助下完成或出版的。没有张敦仁的财力与人脉,乾嘉代数学的成果很可能只停留在几卷手稿里,等不到出版就已散佚。

数学史通常只记住做出计算的人,却遗忘了让计算得以发生的人。张敦仁是后者的代表。

骆腾凤(1771—1842)代表了这个圈子的"综合者"角色。他是江苏山阳人,著《艺游录》,是研究《九章算术》、《孙子算经》、《数书九章》、《测圆海镜》等经典的研究札记集。他最重要的工作,是用方程术与大衍求一术联合求解《张丘建算经》中的百鸡问题。百鸡问题化为方程组:

\[5x + 3y + \frac{z}{3} = 100, \quad x + y + z = 100\]

消去 \(z\) 得 \(7x + 4y = 100\),即 \(4y \equiv 2 \pmod{7}\)——骆腾凤意识到,这个百鸡问题本质上是大衍求一术(中国剩余定理)的一个实例,而大衍求一术本身又与多项式方程的根数问题在更深的层次上相连。

他还注意到百鸡问题的三组正整数解之间有规律性的加减关系——这实际上是不定方程通解的参数形式:\(x = x_0 + bt\),\(y = y_0 - at\)(\(t\) 取遍整数)。骆腾凤虽然没有用现代语言表述这一点,但他的计算实践已经非常接近于代数数论的基本问题。

博启(亦作伯启),字绘亭,满洲正白旗人,钦天监官员,乾隆五十八年(1793)升任钦天监监副。他的《勾股形内容三事和较》是清代勾股学的一部专著,系统讨论了给定勾股形的内切圆(容圆)、内切正方形(容方)、旁切圆(傍圆)这三种"内容"的半径(边长)与勾、股、弦之间的关系,建立了用"和较”(即和与差)表达这些关系的统一公式体系。这类勾股容圆容方的问题,从《九章算术》勾股章就已有记载,博启的工作是清代数学家在传统勾股理论内部深耕细作的一个代表。

由赞助者(张敦仁)、文本整理者(孔广森)、计算者与争辩者(汪莱、李锐)、综合者(骆腾凤)共同组成的乾嘉数学生态,是中国历史上难得一见的集体智识成就。历史很少讲述这些相互依存,更愿意为每项发现找到一个单独的英雄名字。但数学,和所有大规模的知识项目一样,从来都是合力的产物。

与伽罗华理论的比较:他们在探索什么

三人讨论的核心问题——方程有几个根?能否用开方(根式)求解?——触及了19世纪初欧洲数学中最深刻的问题。

1824年,挪威数学家阿贝尔(Niels Henrik Abel)证明了五次及以上一般方程不能用根式求解(阿贝尔-鲁菲尼定理)。1832年,法国数学家伽罗华(Évariste Galois)在死前留下的手稿中给出了更一般的判据:一个多项式方程能用根式求解,当且仅当其伽罗华群是可解群。

乾嘉三友所探索的问题,在方向上与阿贝尔和伽罗华的工作有内在联系,但两者之间存在几个本质差距:

(一)概念工具: 阿贝尔和伽罗华使用了群、域、置换群等抽象代数概念。乾嘉数学家的工具是具体的多项式方程和系数关系,没有任何抽象代数结构的概念。

(二)问题方向: 三友追问的是"有几个正根”,即方程根的个数和性质。阿贝尔和伽罗华追问的是"这些根是否可以用有限次根式运算从系数表达出来”。两个问题相关但不同。

(三)虚根的接受: 乾嘉数学家对虚根(复数根)的存在缺乏明确概念。代数基本定理(每个 \(n\) 次多项式在复数域恰好有 \(n\) 个根,含重数)直到高斯1799年才得到严格证明,乾嘉数学家无从知晓。

他们所触及的,是根的实际位置与方程系数之间的具体关系——笛卡尔符号规则、根与系数的韦达定理形式(汪莱写出了 \(x_1+x_2+x_3 = \frac{b}{a}\),\(x_1 x_2 x_3 = \frac{d}{a}\) 等关系)。这些是代数数论的初步内容,离伽罗华理论还有相当的距离。但在那个完全孤立于欧洲数学前沿的知识环境中,独立地摸索到笛卡尔符号规则和韦达定理,本身已是一项非凡的成就。

汪莱的"正负开方说”:一个被低估的突破

汪莱(1764–1813)在《衡斋算学》(1799至1811年间陆续刊行)中,对高次方程的根的存在性和个数问题,作出了中国数学史上最深刻的讨论之一。

他的核心问题是:对于一个\(n\)次方程

\[ a_n x^n + a_{n-1} x^{n-1} + \cdots + a_1 x + a_0 = 0 \]

它究竟有多少个正根、负根?在什么条件下有根、无根?

汪莱通过大量具体方程的计算,归纳出了若干关于根的分布规律,其中最重要的一条(用现代语言表述)接近于:方程的正根个数,不超过系数序列中符号变化的次数。这在数学史上被称为"笛卡尔符号规则”(Descartes’ rule of signs),欧洲最早由笛卡尔在1637年的《几何学》中陈述。

汪莱的表述不如笛卡尔精确——他用的是归纳而非演绎证明,且没有处理负根和复根——但他的独立探索本身就说明,中国在乾嘉时代已经触及了同样的数学边界:多项式理论不只是计算方法,而是可以成为推理对象的数学结构。

李锐与焦循的学术争论

李锐(1773–1817)和焦循(1763–1820)都是乾嘉学派在数学上的代表人物,但两人的数学路线有明显差异,且存在一段著名的学术论争。

焦循的数学兴趣偏向于中算经典的哲学诠释,他在《加减乘除释》中试图用算盘运算的直观来解释"开方不尽"的问题,认为中国传统数学的加减乘除已经蕴含了西方代数的核心。他的立场带有明显的"会通"色彩——试图证明中算与西算在本质上是同一件事,只是表达方式不同。

李锐则持更严格的实证态度。他在《开方说》三卷中,系统整理了从《九章》到秦九韶的开方算法,用现代符号(或其等价物)重新表述每种方法的步骤,并追踪了各方法之间的逻辑关系。他认为焦循的"会通"论证在数学上站不住脚——两件看起来相似的事,在算法层面可能完全不同,不能靠哲学类比来混同。

这场争论的历史意义,在于它预示了一个将要到来的方法论转折:中国数学家终将不得不在"解释中算"和"学习西算"之间做出明确的选择,而不能永远停留在"两者本来相通"的回避性立场上。李锐的严格性,使他成为连接乾嘉考据数学和19世纪西算移植之间的关键人物。

这一代人的历史位置

焦循、汪莱、李锐是中国数学史上一个特殊世代的代表:他们是在西算全面传入之前,依靠中算固有的知识资源,把本土数学推进到极限的最后一代人。

他们的工作有两个层面:在历史整理层面,他们发现、校勘、重新诠释了大量已被遗忘的宋元数学文本(李锐对《四元玉鉴》的研究是其中最重要的);在数学创新层面,他们在高次方程理论上独立触及了与欧洲近代代数相近的若干问题,尽管他们不知道这一点。

他们的局限同样清晰:缺乏实数完备性的概念,无法区分有理根和无理根在本质上的不同;缺乏函数概念,无法把方程的根理解为函数值为零的点。这些空缺,不是因为他们不够聪明,而是因为这些概念在当时的中国知识体系中根本没有生长的土壤。

19世纪中叶李善兰的出现,以及他主动学习和翻译西方微积分的行动,标志着这个内部发展路线的终结和新方向的开始。但如果没有焦、汪、李这一代人的积累,李善兰在接触微积分时就没有可以依托的数学直觉基础,他的翻译工作也不会有那么深的理解。


场景:1800年代的扬州,一场小圈子里的大论战

让我们先设定一个具体的场景,因为历史不是发生在抽象空间里的,而是发生在真实的地点、真实的时间、真实的人际关系网络中。

时间:嘉庆六年至十年(1801—1805年)。地点:扬州,以及苏杭一带。

张敦仁在扬州任知府,出于对数学的真实热情,他将汪莱和李锐先后聘为幕宾。焦循在城中课馆,两处馆舍相距不远。凌廷堪、沈钦裴也在一带活动。这是一个小小的数学圈子——大约十来个人,互相知道对方在研究什么,时常传递手稿,会面讨论,通信争论。

正是在这个背景下,一场关于"方程的根究竟是什么、可以是什么"的论战展开了。这场论战的激烈程度在中国数学史上是罕见的——不只是学问上的讨论,更接近真正的知识争锋,有时甚至有些不客气。

焦循:从算术的公理出发

焦循(1763—1820)是三人中年龄最长的,也是知识结构最宽的一个。他是经史、历算、声韵、训诂无所不通的"通儒”——阮元后来为他写传记,用的正是这个词。他晚年住在扬州北湖的雕菰楼里,读书著书直至终老,是一个典型的私家学者。

他的数学代表作《加减乘除释》(八卷,约1798年),乍看标题,以为是四则运算的说明书,实则是一部具有方法论野心的著作:用甲、乙、丙、丁等汉字充当代数符号,系统陈述算术运算的规律,并将这些规律表述为可以从定义推出的命题。全书共列出93条命题,涵盖加法交换律、乘法结合律、分配律、除法与乘法的互逆关系,等等。

这93条命题用现代眼光看并不深刻,但这个项目本身——将算术规律明确陈述为数学命题,从所设前提推导出来——在中国是新事物。欧几里得在公元前4世纪为几何做了这件事;皮亚诺在1889年为算术做了完整的版本;焦循在1798年朝这个方向迈出了一步。他用的工具必然不完备,但方法论上的自觉是真实的。

焦循的另一个重要数学工作是《天元一释》和《开方通释》,对李冶的天元术多项式记法和秦九韶的高次方程数值解法进行系统的注释和整理。他写这两部书,是在阮元幕府里接触到《测圆海镜》和《数书九章》之后——是乾嘉整理工程带来的直接收益。

他的关键立场:加减乘除四则运算的法则,足以统一贯通整个古代数学传统,中算与西算本质上是同一件事的不同表达。这是一种"会通"立场,带着他那个时代知识人面对中西对比时的典型焦虑与化解策略。

汪莱:发现方程可以有多个正根

汪莱(1768—1813)是三人中数学技术能力最强、贡献最具原创性的一个,也是最短命的一个——四十五岁去世,身后"囊箧空空”,靠石埭百姓集资送其归葬故里。

汪莱自幼聪慧,七岁能诗,二十二岁才开始系统学数学(“余年二十有二,始习九九”),但进步之快令人叹息。他的研究集中在《衡斋算学》七册中,写作时间跨越1796年至1811年。

他的切入点,是一类有美丽几何背景的问题:已知直角三角形的面积和斜边,求两直角边。设较短边为 \(x\),展开后得到一个三次方程。汪莱注意到,这类方程可以有两个不同的正根——两个完全不同的直角三角形,都满足给定的条件。他给出了一个具体例子:面积为210、斜边加直角边之和为49,这类题目有两组满足条件的直角三角形 \((20, 21, 29)\) 和 \((12, 35, 37)\)。

这一发现,对当时的中国数学而言是一个转折点:方程并非总有唯一的正解,可以有多于一个正确答案。宋元以来,天元术、增乘开方法的操作目标都是找到"那个"解,默认解的唯一性;汪莱第一次认真问:如果有两个正解怎么办?

他继续推进。在《衡斋算学》第五册,他按系数符号对二次和三次方程进行系统分类(共列出96条方程),逐一讨论每种情形下可能有几个正根。他最终得出的结论,正是笛卡尔(René Descartes)在1637年《几何学》附录中无证明地陈述过的规律——今天称为笛卡尔符号规则

\[ \text{多项式 } f(x) \text{ 的正实根个数,不超过系数序列的符号变化次数,且与之同奇偶。} \]

举例:对方程 \(x^3 - 6x^2 + 11x - 6 = 0\),系数符号序列为 \(+,-,+,-\),变化3次,最多有3个正根。实际分解 \((x-1)(x-2)(x-3)=0\),恰好有3个正根 \(x=1,2,3\)。

汪莱得出同一规律,不是通过阅读笛卡尔——他没有任何渠道读到17世纪的法国数学——而是逐一枚举情形,直到规律自行显现。他比笛卡尔晚了165年,却与笛卡尔完全独立。

这是数学史的一个基本事实:好问题等待每一个愿意认真追问它的人。“一个多项式能有几个正根?“这个问题就藏在代数的结构里,等候被发现。笛卡尔在1637年的法国找到了它,汪莱在1798年的安徽找到了它,两人都不知道对方的存在。

汪莱的高次方程分类:一份精细的地图

汪莱在《衡斋算学》第七册里,进一步将他的研究推广到更高次方程。他将方程按照正根的存在性分类:

  • 可知:方程有且仅有一个正根,求解过程有唯一确定的答案。
  • 不可知:方程有多于一个正根,求解过程需要进一步判断选哪个根。
  • 不可开:方程在正实数范围内无实根。

这套分类,在根的存在性和唯一性问题上,比以前任何中国数学著作都更加系统。他同时给出了各类方程有解的充分条件,以及如何用变量代换(减根变换、倍根变换)将高次方程化为标准形式再讨论。

他还写下了根与系数之间的关系,用现代语言就是韦达定理(Vieta’s formulas)。对三次方程 \(ax^3 + bx^2 + cx + d = 0\),有三个根 \(x_1, x_2, x_3\) 时,他写出:

\[ x_1 + x_2 + x_3 = -\frac{b}{a}, \quad x_1 x_2 + x_2 x_3 + x_3 x_1 = \frac{c}{a}, \quad x_1 x_2 x_3 = -\frac{d}{a} \]

韦达在1615年欧洲发表了这些关系;汪莱在1800年代初独立推导了它们,从系数的角度理解根,而不只是从数值求解的角度。

李锐:《开方说》与符号规则的精确表述

李锐(1769—1817)是三人中最接近现代意义上的"纯数学家"的一个——严格、精确、不喜欢模糊。他的《开方说》(三卷)是这场论战最重要的文字成果,也是中国数学史上对多项式方程正根理论最系统的表述。

李锐的核心贡献,是用精确的语言表述了笛卡尔符号规则——比汪莱的表述更精确,也更像一个需要证明的定理,而不只是归纳出来的规律。他在《开方说》卷上写道:

“凡上负、下正,可开一数;除一,平方三,立方八,三乘方二十。上负、中正、下负,可开二数;平方一,立方五,三乘方一十八。上负、次正、次负、下正,可开三数或一数;立方一,三乘方七。上负、次正、次负、(次)正、下负,可开四数或二数;三乘方一。”

用现代语言翻译:若方程系数序列有1次变号,有1个正根;有2次变号,有2个正根;有3次变号,有3个或1个正根;有4次变号,有4个或2个正根。

他还补充了一个关键的观察——“凡可开三数或止一数,可开四数或止二数,其二数不可开,是为无数。凡无数必两,无无一数者”——即正根数不足符号变化次数时,缺少的根必然成对缺少,没有奇数个缺失的情形。这对应着虚根共轭的思想,尽管李锐没有虚数的明确概念。

李锐还独立发展出了我们今天所谓的综合除法(秦九韶算法的完整化):找到一个根 \(r\) 之后,用 \((x - r)\) 对多项式做多项式除法,降低次数,再从降次后的多项式找下一个根。他称之为"代开法”,是对中国代数传统真实的、独立的贡献。

两人的争论:负根算不算数?

汪莱和李锐之间最有趣的争论,不是关于谁的规则更准确,而是关于一个更根本的哲学问题:负根算不算数?

汪莱的立场相对开放。他承认方程可以有多个正根,也愿意考虑那些既非正数、也无法用当时工具处理的根——他把这类情形叫作"不可知”,留着悬念,承认有未解决的东西在那里。这是一种知识上的诚实:我看到有些东西,但我还不知道怎么处理它。

李锐的立场更坚定,也更保守。他的核心论点是:如果一道有物理意义的题目——测量题、面积题、勾股题——导出的方程解不是正数,那是题目设错了。数必须有物理意义作为根基。不存在"长度为负三步"这回事。

这个论证有其内在一致性。数学引入负数不是任意而为,而是因为负数有用;而负数的有用性需要一次概念跃迁——接受数不只能表示量,也能表示有方向的量,或抽象对象。李锐拒绝这次概念跃迁,坚持认为数必须有物理意义。

然而这里有一个有趣的局部妥协:李锐在《开方说》里写道"凡商数为正,今令之为负”——当商是正数时,我们可以令它为负数。这个措辞极为审慎——“令之为负"而非"必为负”——将负根作为一个计算对象接受下来,同时拒绝主张它在物理世界有意义。这是一种妥协,但比简单地忽略问题要诚实得多。

嘉庆八年(1803年),汪莱听说李锐对自己的第五册算书有跋文评论,专门去焦循家里询问。焦循将李锐的跋文交给汪莱,汪莱看后说:“尚之固不我非也。"——李锐的归纳总结有所不当之处。随后两人通过焦循传递意见,反复辩论,最终李锐进一步完善了自己的表述,汪莱也承认了李锐归纳的价值。这是思想史上真正的交流:不是一方战胜另一方,而是两方在交锋中各自变得更精确。

同时代的欧洲在做什么:平行轨迹与无法相遇

这里有一个无法回避的历史对照,值得诚实地说清楚。

就在焦循、汪莱、李锐在扬州讨论多项式根的问题的同一年代,欧洲也在处理几乎相同的问题——但方式完全不同,深度也完全不同。

1799年,高斯(Carl Friedrich Gauss,1777—1855)在博士论文《关于代数方程根的个数的一个新证明》中证明了代数基本定理:任何 \(n\) 次复系数多项式恰好有 \(n\) 个复数根(计重数)。这个定理的证明需要复数的完整理论、拓扑连续性的概念,以及实数完备性——而这些概念在乾嘉中国根本不存在。

1824年,阿贝尔(Niels Henrik Abel,1802—1829)证明了五次及以上一般方程不能用根式求解。1832年,伽罗华(Évariste Galois,1811—1832)在决斗死亡前夜写下的手稿,给出了一个多项式方程能否用根式求解的完整判据。

乾嘉三友在探索什么?他们在探索:一个方程有几个正根?符号变化次数如何预测正根数量?这些问题,在方向上与高斯-阿贝尔-伽罗华的工作有内在联系,但两者之间存在本质差距:乾嘉数学家的工具是具体的多项式方程和系数关系,没有任何抽象代数结构(群、域、置换群)的概念;他们没有虚数概念,无法处理复数根;他们的证明方式是归纳枚举,而不是演绎推导。

这不是价值判断,而是如实的历史描述。他们在那个知识处境中,独立触及了笛卡尔符号规则和韦达定理,这是真正的成就,足以让他们在世界数学史的版图上占有一席之地。但他们与高斯、阿贝尔、伽罗华所处理的问题,是从两个完全不同的起点出发、沿着两条平行轨迹前进的——因为没有任何知识渠道,这两条轨迹在当时无法相遇。

三人的命运:一场未竟的研究

汪莱,1813年病逝,享年45岁。他最重要的数学著作《衡斋算学》第七册,在他去世前才单独付梓,其余几册合订出版要等到咸丰四年(1854年),那已经是他死后41年的事了。

李锐,1817年病逝,享年48岁。他临终前叮嘱弟子黎应南将未定稿的《开方说》下卷写好,黎应南遵从遗命,在嘉庆二十四年(1819年)将这部著作最终完成。一个人临死前还在惦记自己没写完的数学书——这是学者的本色。

焦循,1820年病逝,享年57岁。他是三人中最长寿的,也看到了另外两人的去世。他晚年在雕菰楼里转向了易学研究,数学工作基本停止。

三人中,没有一个亲眼看到自己的数学工作被后来者充分理解和评价。他们的著作在19世纪中叶之前流通范围有限,读懂他们的人不多。

然而他们的工作没有消失。罗士琳在《续畴人传》中为三人立传,认真评述了他们的数学成就。19世纪下半叶,当西方代数学开始大规模传入中国,熟悉乾嘉方程理论的学者,能够更快地识别出西方方程论与中国传统之间的关联与差距,从而更有效地吸收和理解新知。汪莱和李锐的工作,是一座隐形的桥梁:它的一端连接着宋元代数传统,另一端——以一种他们本人无法知道的方式——接近着他们死后传来的欧洲代数学。

他们留下了什么:一次诚实的盘点

这里需要做一次诚实的盘点,不过分拔高,也不轻易贬低。

他们确实做到的: 在完全独立于欧洲数学前沿的知识环境中,独立发现了笛卡尔符号规则的主要内容,独立推导了多项式根与系数之间的关系(韦达定理的特例),建立了中国历史上第一套系统的多项式方程正根理论。在高次方程的数值求解(增乘开方法的完善化)方面,李锐的工作也达到了当时中国的最高水平。

他们没有做到的: 他们没有虚数概念,因此无法表述代数基本定理(所有 \(n\) 次多项式在复数域有 \(n\) 个根);他们没有抽象代数结构的概念,因此无法追问"为什么"符号规则成立,只能通过归纳建立它;他们没有函数概念,无法将多项式方程的根理解为函数图像与 \(x\) 轴的交点。

这些缺失,不是因为他们不够聪明,而是因为这些概念在当时的中国知识体系中没有生长的土壤。正如没有微积分的概念工具,任何一个聪明的清代学者都无法推导泰勒级数的完整理论;没有抽象代数的概念框架,乾嘉数学家无法自力发展伽罗华理论。知识有其历史条件性,这不是借口,这是历史。

他们代表的,是中国数学在一种特定历史条件下所能达到的最高水位线。理解这条线在哪里,是理解为什么19世纪的西算移植如此重要、如此迫切的前提。

Chapter 48: 项名达、董祐诚、戴煦 — 无穷级数的最后冲刺

一场接力赛

明安图在1730年代开始的事业,由此后19世纪上半叶的四位数学家接续推进,构成了历史上最持久、最严整的一场数学接力赛。这些选手从未与另一条跑道上的选手相遇——在欧洲那条跑道上,欧拉、拉格朗日、最终是柯西正在同步竞跑——但他们奔向同一条终点线,而且几乎跑到了那里。

发令枪: 杜德美的三个公式,1720年。
第一棒: 明安图证明全部三个,再独立发现六个,约1730—1774年(1839年出版)。
第二棒: 董祐诚(1791—1823)与项名达(1798—1851),各自独立地将明安图的方法推向更远。
第三棒: 戴煦(1805—1860),一直跑到这条路所能抵达的尽头。

董祐诚:把几何图形化

董祐诚只活了三十三年,但他的贡献有一种比他短暂生命更持久的优雅。他1819年写成的《割圆连比例术图解》(三卷),做了明安图没有做的事:让几何论证变得可见

明安图的文字是分析性的,通过代数递推和幂级数推理,行文要求读者有密切的阅读投入和相当的技术背景;董祐诚则画出了图形。他用精心绘制的图示展现弦、矢、半弦、半矢及其几何关系,让读者在代数表述引入之前,就能一步步在视觉上跟随论证。

他还将明安图的结果统一在"弧弦矢互求四术"的框架下,使整个理论的结构一目了然。

设圆的半径为 \(r\),弧长为 \(2s\)(以弧度计,故 \(\sin s = l/r\)),弦长为 \(2l\):

\[l = s - \frac{s^3}{6r^2} + \frac{s^5}{120r^4} - \cdots\]

这正是正弦级数(取 \(r = 1\) 得 \(\sin x = x - x^3/6 + x^5/120 - \cdots\)),但董祐诚用弦与弧的几何语言来陈述,这正是这一传统的自然语言。他刻意回避了将角度和三角函数视为现成对象的抽象做法,所有东西都从圆出发推导。

项名达:系统化和椭圆的推广

项名达在他的《象数一原》(七卷)上花费了二十余年,1849年完成,由戴煦增补后于1857年出版。这是迄今对整套理论最系统的处理。

项名达的出发点是最简单的关系:在单位圆中,弦 \(l\) 与矢 \(s\) 满足:

\[s = 1 - \sqrt{1 - \frac{l^2}{4}}\]

对小 \(l\) 展开:

\[s \approx \frac{l^2}{8} + \frac{l^4}{128} + \frac{l^6}{1024} + \cdots\]

对弦二等分,得半弦 \(l/2\),对应矢:

\[s' = 1 - \sqrt{1 - \frac{l^2}{16}} \approx \frac{l^2}{32} + \frac{l^4}{2048} + \cdots\]

比值 \(s'/s \approx 1/4 - l^2/64 - \cdots\)——约为四分之一,但不完全是。这个微小的偏差,在逐次二等分中耐心追踪,正是级数全部信息的藏身之处。项名达发展了越来越精确的递推公式来追踪修正项,并从无穷递推中提取出了 \(\sin x\) 的完整级数展开。

但项名达最大胆的一步,是将结论推广到椭圆。对半长轴为 \(a\)、半短轴为 \(b\)、离心率 \(e^2 = 1 - b^2/a^2\) 的椭圆,其周长 \(p\) 满足:

\[p = 2\pi a \left(1 - \frac{1}{4}e^2 - \frac{3}{64}e^4 - \frac{5}{256}e^6 - \cdots\right)\]

这正是第二类完全椭圆积分的现代展开式——与欧拉1773年用积分法导出的结果完全相同。项名达用几何方法导出了它,通过将弦矢递推从圆推广到椭圆(其中矢的二等分关系更为复杂,因为椭圆不具备圆的旋转对称性)。计算要繁复得多,但原理是一样的。他不知道欧拉已有相同的公式;他在晚清,凭借纯几何方法,从第一原理一步步推到了同一个结论。

戴煦:对数级数与二项式展开

戴煦(字鄂士,杭州人)是项名达最亲密的同僚——年轻三十岁,后来成为他的文稿整理人,在项名达死后将《象数一原》整理出版。他自己的著作《求表捷术》(四种九卷,分别于1845至1852年出版),代表了整个传统的顶峰。

自然对数级数(出自《对数简法》,两卷,1845年):

\[\ln(1+x) = x - \frac{x^2}{2} + \frac{x^3}{3} - \frac{x^4}{4} + \cdots \quad (|x| < 1)\]

戴煦的推导用"逐次开方”:将数列 \((1+x)^{1/2}, (1+x)^{1/4}, (1+x)^{1/8}, \ldots, (1+x)^{1/2^n}\) 反复开方。当 \(n \to \infty\),此数列趋近于1,\((1+x)^{1/2^n}\) 展开式中一次项趋近 \(\frac{x}{2^n}\)。追踪一次项随逐次开方的变化规律,戴煦得到了极限:

\[\ln(1+x) = \lim_{n \to \infty} n \cdot \left[(1+x)^{1/n} - 1\right]\]

这是一个不借助微积分的对数真正意义上的定义。欧洲认真思考基础问题的数学家也知道这个定义,但通常不用它来推导级数。欧洲的标准路径(墨卡托1668年推导同一级数所用的路径)是:

\[\frac{d}{dx}\ln(1+x) = \frac{1}{1+x} = 1 - x + x^2 - x^3 + \cdots\]

再逐项积分。戴煦不会积分,却通过一条如果说更初等、代价却是更繁琐的路,达到了同样的结果。

广义二项式定理(出自《外切密率》,四卷,1852年):

\[(1+x)^\alpha = 1 + \alpha x + \frac{\alpha(\alpha-1)}{2!}x^2 + \frac{\alpha(\alpha-1)(\alpha-2)}{3!}x^3 + \cdots\]

这是牛顿的广义二项式级数,对任意实数 \(\alpha\)(不限于正整数)成立。取 \(\alpha = 1/2\) 得 \(\sqrt{1+x}\) 的展开;取 \(\alpha = -1\) 得 \(\frac{1}{1+x} = 1 - x + x^2 - \cdots\);取 \(\alpha = -1/2\) 得 \(\frac{1}{\sqrt{1+x}}\)。

从这个母级数出发,戴煦推导出了正弦、余弦级数(通过逐项反转反正弦级数)以及正切级数——完成了三角函数幂级数的完整体系。以不借助微积分的数学所能达到的标准衡量,这是非凡的成就。

戴煦走到了哪里,差了什么

到这里,读者或许会问:有了对数级数、二项式定理和三角函数级数,欧拉公式 \(e^{i\theta} = \cos\theta + i\sin\theta\) 是否已唾手可得?

形式上几乎是的。戴煦已有对数级数 \(\ln(1+x)\),其反函数给出 \(e^x\) 的幂级数;他已有 \(\sin x\) 和 \(\cos x\) 的幂级数;他已有对任意实数指数成立的二项式定理。所有拼图都在桌上。

缺少的只是一个概念:虚数。要写出 \(e^{i\theta}\),需要 \(i = \sqrt{-1}\) 成为一个合法的数学对象——一个可以代入幂级数、与实数组合、按代数规则推理的对象。在欧洲数学中,这种合法性是逐步确立的:从卡尔达诺1545年对三次方程公式中负数平方根的不安,到欧拉18世纪系统使用复数,再到高斯与阿尔冈19世纪初给出几何解释。到戴煦的时代,欧洲数学家已将复数视为完全真实的对象,服从与实数同样的代数规律。

1852年的中国数学还没有走到这一步。这个传统始终把数定义为有物理参照的量——长度、面积、物件的数目。“一个负数的平方根"不是数,而是"这道题无解"的标志。李锐与汪莱的争论正是如此:如果数学给出非正数的答案,是题目设错了。中国数学传统在其最深层的直觉上,将数与世界中的事物绑定在一起。

没有虚数,就写不出 \(e^{i\theta}\);没有 \(e^{i\theta}\),指数级数与三角函数级数就始终是两件分开的事,只能观察到它们的项形式相似。那个统一——\(e^x\)、\(\sin x\)、\(\cos x\) 是同一个对象的不同侧面——属于复分析,而复分析从 \(i\) 开始。

这就是1852年的戴煦与1748年的欧拉之间的距离:不是计算能力的差距,不是智力或勤奋的差距,而是一个概念的差距——虚数这个概念。欧洲数学用了两百年积累起一种意愿:无论代数把你带到哪里,都跟着走下去,哪怕"那里"是一个没有任何物理意义的地方。

乾嘉数学的完整成就单

下表总结了这一传统独立证明的成果:

级数现代表达完成者大致年代欧洲最早
正弦级数\(\sin x = x - x^3/6 + x^5/120 - \cdots\)明安图~1740–1774格列哥里,1671
余弦级数\(\cos x = 1 - x^2/2 + x^4/24 - \cdots\)明安图/戴煦1774/1852同上
反正弦级数\(\arcsin x = x + x^3/6 + 3x^5/40 + \cdots\)明安图~1740–1774同上
正矢级数\(1-\cos x = x^2/2 - x^4/24 + \cdots\)明安图~1740–1774同上
弦长级数弦用弧展开(\(\sin\) 的等价形式)董祐诚1819已包含在上
椭圆周长级数\(p = 2\pi a(1 - e^2/4 - \cdots)\)项名达~1840–1849欧拉,1773
自然对数级数\(\ln(1+x) = x - x^2/2 + x^3/3 - \cdots\)戴煦1845墨卡托,1668
二项式展开\((1+x)^\alpha = 1 + \alpha x + \cdots\)戴煦1852牛顿,约1665
正切级数\(\tan x = x + x^3/3 + 2x^5/15 + \cdots\)戴煦1852格列哥里,1671

规律是一致的:在每一项上,欧洲都早50到180年。但方法完全不同。表中每一个欧洲结果,都是用微积分推导的——认出函数,求泰勒级数,写下答案。每一个中国结果,都是用几何方法推导的——通过圆的递推、矢的二等分、逐次开方——费力、逐一、专属于每个函数,每个新公式都需要一套新的论证。

差距不在能力,在工具。

这条路的终点:1859年

1859年,李善兰与伟烈亚力将卢米斯的《解析几何与微积分》译成中文,书名《代微积拾级》。微积分——明安图所缺乏的工具,戴煦如此接近却始终未能触碰的那个工具——第一次以中文出现了。

从那一刻起,上表中的每个级数都可以用几行字重新推导出来。明安图花四十年通过几何递推逐一破解的函数,现在一个下午就能用微分法展开。戴煦一寸一寸艰难丈量过的那片地形,现在可以从空中鸟瞰了。

这不是一个失败的故事。从1720年杜德美的三个公式,到1852年戴煦的《外切密率》,这一传统是数学史上最持久、最令人叹服的智识壮举之一。这些人证明了真正难以证明的东西,使用了真正精密的方法,在没有任何能让证明变得容易的概念工具的情况下完成了这一切。

他们爬上了他们的山。他们到达了顶峰。然后他们发现,山的另一侧,有一座他们未曾知晓的更高的山。

第二次西学东渐即将到来。数学真理本身不曾改变,它被纳入更大的故事之中。这条传统走到了它所能走到的最远处,而那个最远处,并不渺小。

夏鸾翔:在李善兰之旁,独自推开了微积分的门

1845 年,李善兰在海宁独自推导出幂函数积分公式,不知道西方早已有了微积分。同一时代,在杭州,另一个年轻人也在走向同样的方向——他叫夏鸾翔(1823—1864),浙江钱塘人。他的路和李善兰的路平行而交织,有时相遇,但从未合流。

夏鸾翔出生书香门第,1845 年拜项名达为师,开始系统学习数学。项名达教给他传统数学的根底:从《九章算术》到招差术,再到当时最新的弧矢幂级数研究。项名达去世后,他又跟从戴煦问学。

他最早期的工作,是对高次方程求根的数值迭代法的系统整理。《少广缒凿》一书,给出了十四条"捷术”,其本质是对方程 \(f(x) = x^n - A = 0\) 的逐步逼近算法。以开平方为例:

\[x_1 = a, \quad x_{2k} = \frac{A}{x_{2k-1}}, \quad x_{2k+1} = \frac{x_{2k-1} + x_{2k}}{2}\]

这是一个交替使用"除法逼近"和"算术平均"的迭代序列,从两个方向同时夹逼方程的真根。他明确指出这是一个无穷过程,逐次近似值"从大、小两个方向逼近,与方根密合而止”——“密合"二字,已经是极限思想的表述。

大约在 1860 年,他读到了李善兰与伟烈亚力翻译的《代微积拾级》——中国第一部微积分教材。他认出了什么:他在项名达和戴煦的几何-招差传统中发展出来的那些方法——用逐步二分和有限差分逼近连续函数——正是西方微积分的前身。读到《代微积拾级》,他看见的不是一个陌生的新学,而是一张他已经局部探索过的地图,现在整张地图呈现在他面前了。

这之后他写成的《致曲术》与《致曲图解》,正是把招差术的有限差分方法与微积分的连续思想相贯通的尝试——从有限差分到微分,从累加到积分,两条路通向同一目的地。

但夏鸾翔没有时间走完。太平天国的战火在 1860 年蔓延至江浙,他辗转逃往广东,在颠沛流离中仍坚持写作。1864 年在广州去世,年仅四十一岁,未竟之业尽付身后。他的遗稿后来以《夏氏算书遗稿四种》的形式由丁取忠收入《白芙堂算学丛书》才得以流传,但关注者寥寥。

徐有壬《割圆八线缀术》:代数路径上的三角级数

在董祐诚、项名达、戴煦这条几何传统的主线之外,十九世纪中叶还有另一条平行的路。走这条路的人叫徐有壬(1800—1860),浙江乌程人,道光九年进士,历任四川、云南、湖南布政使,终至江苏巡抚。他的一生是典型的清代官员轨迹——奏折、治水、地方行政——而数学只是他业余时光里最持久的热情。

徐有壬的《割圆八线缀术》走的是一条纯代数的路。他发展了一套"缀术"的符号体系,将三角函数的幂级数展开式表达为半符号化的格式运算。他的出发点不是弧与弦的几何关系,而是幂级数之间的代数等式。

他的核心工具是还原术(级数回求法):如果知道了 \(\arcsin x\) 的幂级数,那么通过代数反演,就可以得到 \(\sin x\) 的幂级数。从"弦求矢”(用正弦求正矢)的级数出发,他推导出正矢级数,再经代数反演,得到正弦级数:

\[\sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + \cdots\]

他的《割圆八线缀术》四卷系统整理了六种三角函数及其反函数的幂级数展开,使整个三角函数的幂级数体系大体完备。莱布尼茨在大约 150 年前走过了类似的道路——从 \(\arctan x\) 的级数出发,通过代数反演得到三角函数级数。徐有壬对这条欧洲路径一无所知,他是在中国的"缀术"传统中独立走到了相同的代数方法。两个文明,相距万里,各自发现了同一件事:如果你把三角函数当作形式幂级数来操作,代数本身会告诉你结果是什么。

徐有壬未能等到这个发现被充分认识的那一天。咸丰十年(1860 年)四月,太平军攻打苏州,身为江苏巡抚的徐有壬率兵死守,城破之日殉难,年六十岁。1860 年是晚清数学史上损失最惨重的一年——徐有壬死于苏州,夏鸾翔在战乱中辗转逃亡。

时日醇与黄宗宪:清代的数论专家

在晚清数学的大叙事里,李善兰翻译微积分是最显眼的事件。但与此同时,还有一批人仍在深耕中国本土的数论传统,把秦九韶和《张丘建算经》留下的问题推向更为系统的理论高度。

时日醇(1807—1880),嘉定人,少年入太学,专治数学。他的《百鸡术衍》二卷(1861 年),把《张丘建算经》中的百鸡问题发展成一套完整的不定方程理论:

\[5x + 3y + \frac{z}{3} = 100, \quad x + y + z = 100\]

消去 \(z\) 得 \(7x + 4y = 100\),时日醇将这类问题推广为"三色差分”,明确区分了"约率"(找到一组解之后的加减步长)与"通率"(所有解的完整参数化),从而给出了形如 \(ax + by = c\) 的不定方程的完整整数解族。他的全书共二十八题,构成一个自洽的代数体系。

黄宗宪(约活跃于 1870 年代),湖南新化人,是丁取忠的学生。他的《求一术通解》二卷(1874 年出版)是晚清大衍求一术研究的集大成之作。秦九韶的"大衍术"解决同余方程组:

\[N \equiv r_i \pmod{m_i}, \quad i = 1, 2, \ldots, n\]

黄宗宪引入了素因数分解的思路来处理"化定母"这一步,给出了系统的"析根法",使化定母的计算原理一目了然。他还发明了"反乘率"的概念,并给出中国剩余定理的完整推导:

\[N = \sum_{i=1}^n r_i M_i y_i + k \cdot M\]

其中 \(M = \text{lcm}(m_1, \ldots, m_n)\),\(M_i = M/m_i\),\(y_i\) 满足 \(M_i y_i \equiv 1 \pmod{m_i}\),\(k\) 取遍整数。这是中国数学家对孙子定理的首次证明性讨论。

高斯在《算术研究》(Disquisitiones Arithmeticae,1801 年)中证明了中国剩余定理的一般形式。黄宗宪的《求一术通解》比高斯晚了 73 年。这个 73 年的差距,比起从孙子到高斯的那 600 年,已经缩短得接近于无。时日醇和黄宗宪代表的,是中国本土数论传统在近代的最后一次高峰——在西方代数的洪流彻底改变中国数学之前,这个传统用自己的语言,走到了它能走到的最远处。

顾观光与邹伯奇:博通中西的过渡人物

顾观光(1799—1862),字宾王,号尚之,江苏金山人,三试不中,以医为业,兼通天文历算。他的工作跨越了传统与西学两个世界:《九数存古》九卷,将历代古算题按《九章算术》九章分类整理,旁及《周髀》至《河防通议》凡二十四种,是一部中国传统数学题的资料汇编;《九数外录》则整理西方数学——对数、割圆八线(三角函数)、平面与球面三角、圆锥曲线——分十篇概括,是面向中国读者的西方数学入门导论。他研究过对数展开式,给出形如

\[\ln\frac{m}{n} = 2\ln e \left[\frac{m-n}{m+n} + \frac{1}{3}\left(\frac{m-n}{m+n}\right)^3 + \cdots\right]\]

的对数级数公式,用于实际对数造表,在使用便利性上有所改进。

邹伯奇(1819—1869),字特夫,广东南海人,是中国近代科学的先驱者之一,在光学、力学、天文、地图测绘诸领域均有建树。咸丰三年(1853),他亲自制成一把对数尺(对数滑尺),实物现藏广州博物馆,是中国现存最早的计算尺实物之一。他的《乘方捷术》三卷,论述二项式展开与对数展开,其中对数级数的推导方法与顾观光部分结果类似,但邹伯奇将代数操作推进得更为系统,接近于伟烈亚力《数学启蒙》(1853)的路线。邹伯奇曾两次被征召为北京同文馆教习,皆以病辞。他留下的遗书后由友人刻印为《邹征君遗书》(1873),身后才引起较广泛的关注。

顾观光与邹伯奇的特殊性在于:他们既能古典地整理《九章算术》,又能以西方数学工具做技术性计算;在翻译西方数学著作尚未全面铺开之前,他们靠个人努力构筑起一座中西之间的临时桥梁。


Part IX: 晚清的第二次西学东渐

来算一笔灾难的账。1842年夏,《南京条约》迫使中国开放五个通商口岸,赔款二千一百万银元,割让香港给英国王室。中国在第一次鸦片战争中战败,随之失去了传统世界秩序尚能维持的最后幻觉。那些轰开广州和上海港口的英国炮舰,也以某种方式轰开了中国数学的大门。你向一个文明的港口开炮,最终必然也撬开它的智识之门。

两个世纪前,利玛窦与徐光启将欧几里得译成中文——一次绅士之间的交流,地位相当的求知之心之间的合作。那第一波西方数学足够让中国学者忙上几代人:欧氏几何、三角学、对数表,是一份非凡的馈赠。

但那是1842年。牛顿与莱布尼茨发明微积分已是一百七十年前的事。在此期间,欧洲数学构筑起了一整座大教堂:解析几何、微分方程理论、概率论、抽象代数、分析学的严格基础。中国所知与欧洲所知之间的差距,已从一道峡谷扩展为一片海洋。

面对这片海洋,中国的回应有其一贯的务实:找到懂数学的外国人,与他们对坐,翻译。


Chapter 49: 李善兰与伟烈亚力的译书事业

一个浙江人和一个英国人

李善兰的一生有一个非同寻常的巧合,值得在谈论其他任何事情之前先停下来细想。

1845年,浙江海宁的一位三十四岁学者,独自工作,没有任何欧洲数学文献,只凭中国计算传统的工具,发展出一套他称为尖锥术的方法。用这套方法,他证明了曲线 \(y = x^n\) 在 \(x = 0\) 到 \(x = a\) 之间的面积等于 \(a^{n+1}/(n+1)\)。

换言之,1845年,李善兰独立地重新发现了积分的幂法则。

他不知道牛顿在1660年代已经证明了这个结果,不知道莱布尼茨在1670年代也证明了它,不知道到1845年欧美每一位受过大学教育的数学家对这个结论熟悉到闭着眼睛就能推导出来。他只知道自己的头脑——在中国组合求和与几何直觉传统中训练出来的那个头脑——所能触及的东西。

然后,十四年后,1859年,李善兰在上海与一位名叫伟烈亚力的英国人对坐,将卢米斯的《解析几何与微积分》译成中文。他读到了幂法则,看到用欧洲符号写出的、正是他曾苦苦求证的那个定理。他立刻认出了它。

那一刻是什么感觉?我们不知道。李善兰没有留下任何日记,没有描述自己感受的信件。但我们可以想象那种复杂的混合——知道自己是对的,那份骄傲;意识到自己花了那么大力气攀登的山峰,早在他踏上山脚的将近两个世纪前,就已被另一条路、用更好的工具征服了,那种奇异的眩晕。

这就是中国与西方数学第二次伟大相遇的故事:不只是翻译与教科书的故事,也是一种人类心灵所能经历的最令人心酸的体验的故事——发现自己独立地重新发明了世界其他地方早已知道的东西。

李善兰(1811—1882),海宁人。幼年时,他在家里的藏书中偶然发现了一本《几何原本》前六卷(利玛窦与徐光启1607年的译本)。关于他当时反应的记述已近乎传奇,却令人信服:他翻开书,觉得完全看不懂,几乎要放下,然后注意到了图形。他连续几天不停地读下去。那时他大概十二岁。

到三十岁时,李善兰已通读了中国经典数学的全部文献——《九章算术》、天元术、朱世杰的四元术。他是那一代中极少数既有传统根底又有不甘止步的智识冲动的人之一。

伟烈亚力(Alexander Wylie,1815—1887),伦敦传道会人员,1847年来到上海主持墨海书馆。他不是普通的传教士:中文足够流利,可以讨论技术问题;数学足够扎实,可以阅读英文和拉丁文原著。在他之前,没有任何一位在华外国人同时具备这两种能力。

1852年,李善兰来到上海,经人引见与伟烈亚力相识,两人几乎立即开始合作。他们的方法是:伟烈亚力口述英文原文的含义,李善兰倾听并写出中文,然后两人反复讨论,直到逻辑和数学概念在准确流畅的中文里得到恰当表达。这种"口述加笔受"的翻译方式在当时很常见,不寻常的是李善兰在其中的角色:他不是被动的记录者,他懂得足够多的数学,能够判断伟烈亚力的解释是否正确,在觉得有误时提出质疑,并将文字写成既技术准确又真正可读的中文。

李善兰的早年数学工作——尖锥术(1845)

要理解李善兰在1859年带到那张翻译桌前的东西,必须先了解他此前已经建造了什么。

尖锥术从一幅具体的几何图像出发,值得在脑中仔细构建它。

想象由曲线 \(y = x^n\)、\(x\) 轴和竖线 \(x = a\) 围成的平面区域——这是一个在 \(x=0\) 处无限趋近于 \(x\) 轴、随后急剧抬升的"角形"区域。李善兰将其称为"尖锥",这个名字来自他对这个区域的三维解读:

把这个平面区域想象成一叠层叠的细条。将 \([0, a]\) 沿 \(x\) 轴均匀分成 \(N\) 段,每段宽度 \(a/N\),第 \(k\) 段的高度约为 \((ka/N)^n\)。这 \(N\) 条细长矩形,在竖直方向上宽度相同但高度各异,从左边的接近零到右边的接近 \(a^n\),形成一个尖角形状——最左端几乎是零,向右"张开"。

\(n\) 乘尖锥“的含义就在于 \(n\) 的大小决定了这个尖角张开的快慢:\(n=1\) 时,高度线性增长,矩形条等梯度地增高,围成的面积是一个普通直角三角形,面积 \(a^2/2\)。\(n=2\) 时,高度按平方增长,曲线向上弯曲,围成的面积缩小为 \(a^3/3\)。\(n\) 越大,曲线越向右侧集中,面积 \(a^{n+1}/(n+1)\) 占正方形 \(a \times a^n\) 的比例越小——直觉上,高次幂函数把大部分"质量"都堆积在区间右端。

李善兰将这个直觉转化成他所谓的"垛积"语言:他不用连续曲线,而用一个有限、离散的堆叠——\(N\) 层细条,每层是高度为 \((ka/N)^n\) 的矩形,整体像一个斜切的棱柱阶梯。问题转化为:这 \(N\) 层的体积之和,在 \(N \to \infty\) 时收敛到什么?这正是中国数学积累了几百年的垛积求和传统能够回答的问题。

为了测量其面积,他将区间 \([0, a]\) 分成 \(N\) 条等宽为 \(a/N\) 的细条。第 \(k\) 条的高度约为 \((ka/N)^n\),面积约为 \((ka/N)^n \cdot (a/N)\)。全部相加:

\[S_N = \sum_{k=1}^{N} \left(\frac{ka}{N}\right)^n \cdot \frac{a}{N} = \frac{a^{n+1}}{N^{n+1}} \sum_{k=1}^{N} k^n\]

整个问题归结为理解 \(N\) 很大时 \(\sum_{k=1}^{N} k^n\) 的行为。对 \(n = 2\),中国数学家几百年前就知道答案——这是垛积术的标准结果:

\[\sum_{k=1}^{N} k^2 = \frac{N(N+1)(2N+1)}{6}\]

代入得:

\[S_N = \frac{a^3}{N^3} \cdot \frac{N(N+1)(2N+1)}{6} = a^3 \cdot \frac{(N+1)(2N+1)}{6N^2}\]

当 \(N\) 趋于无穷时,\((N+1)(2N+1)/(6N^2) \to 2/6 = 1/3\),故:

\[\text{面积} = \lim_{N\to\infty} S_N = \frac{a^3}{3}\]

这正是 \(\int_0^a x^2\,dx = a^3/3\)。

李善兰将此推广到一般的 \(n\)——包括非整数情形。他没有使用极限的语言,因为他没有这套语言。但他的推理无懈可击:他所计算的,正是我们今天称为黎曼和的东西,并在网格趋零时取了主项。结论就是积分的幂法则:

\[\int_0^a x^n\,dx = \frac{a^{n+1}}{n+1}\]

要欣赏这件事有多了不起:这个结果是微积分基本定理的关键特例。李善兰在1845年的中国,不用微积分,仅凭中国组合传统的深厚积累和他自己非凡的想象力,推导出了它。那座山早已有了顶峰;他找到了一条通往那里的不同道路。

李善兰恒等式

如果说尖锥术是李善兰通往一个早已被人绘制过的目的地的最伟大的独行之旅,那么他在组合学上的工作则是完全属于他自己的发现——西方数学要晚得多才到达那里,到达之后,用他的名字为那片土地命名。

1857年前后,李善兰正在撰写《垛积比类》,把中国组合求和公式的传统推向新的方向。他提出并证明了以下恒等式,今天在西方数学文献中称为李善兰恒等式(或Lishan恒等式):

\[\sum_{k=0}^{r} \binom{k+m}{m} \binom{n-k}{r-k} = \binom{m+n+1}{r}\]

仔细看这个恒等式。左边是二项式系数之积的求和——两种不同计数数的"卷积”。右边是单个二项式系数。两者看起来毫无关系,却永远相等。

取 \(m=2\),\(n=4\),\(r=3\) 验证:

左边(对 \(k = 0, 1, 2, 3\) 求和):

  • \(k=0\): \(\binom{2}{2}\binom{4}{3} = 1 \times 4 = 4\)
  • \(k=1\): \(\binom{3}{2}\binom{3}{2} = 3 \times 3 = 9\)
  • \(k=2\): \(\binom{4}{2}\binom{2}{1} = 6 \times 2 = 12\)
  • \(k=3\): \(\binom{5}{2}\binom{1}{0} = 10 \times 1 = 10\)

左边合计:\(4 + 9 + 12 + 10 = 35\)

右边:\(\binom{7}{3} = \frac{7 \times 6 \times 5}{3 \times 2 \times 1} = 35\) ✓

李善兰在《垛积比类》中用他自己的归纳加组合计数的方法证明了这个恒等式——没有生成函数,没有超几何级数理论,完全在中国传统的框架内完成。

19世纪末,德国和英国从事组合数论研究的数学家独立地重新发现了这个恒等式,并用李善兰的名字命名。这个命名比它表面看起来更有意义:在整个19世纪中国数学史中,几乎没有任何成果以中国数学家的名字进入西方数学典籍。这个恒等式在西方组合学中的永久性归属,是极少数影响方向无可置疑地从东向西流动的案例之一。

《代微积拾级》的具体内容

1859年,十八卷本《代微积拾级》在上海出版,是中国第一部系统介绍解析几何与微积分的著作,译自美国数学家卢米斯(Elias Loomis)1850年的教材《解析几何与微积分基础》。

卢米斯不是他那个时代的牛顿,他的教材是一本扎实、广泛使用的美国大学本科教材——清晰而完整,谈不上特别深刻。但作为将一整个新数学宇宙输入中文的载体,它恰如其分。

十八卷的内容,是21世纪读者会认出的大学一年级数学课程:

  • 卷一至三(解析几何): 坐标系;直线、圆及圆锥曲线的方程——椭圆 \(\frac{x^2}{a^2}+\frac{y^2}{b^2}=1\)、抛物线 \(y^2=4px\)、双曲线。这些曲线此前在中国数学中以几何形式出现过,但这是它们第一次在中文里以代数方程的形式呈现。
  • 卷四至八(微分学): 导数(“流数”)的概念;常数、变数、函数的定义;幂、积、商、复合函数的微分法则;对数和三角函数的导数;极值问题;泰勒级数。
  • 卷九至十八(积分学): 不定积分;分部积分与换元法;有理函数与三角函数的积分;定积分;弧长、面积与旋转体体积;常微分方程初步。

卷四中有一道典型例题,展示了用中文记法表达幂法则的方式。题目:设 \(y = x^n\),求 \(y\) 对 \(x\) 的导数。李善兰的中文表述:“设元函数为 \(y\) 等于 \(x\) 之 \(n\) 次乘方,以微分法求之,得微分 \(dy\) 等于 \(n \cdot x^{n-1}\) 乘以 \(dx\)。“用词与现代略有不同——“元函数"对应原函数,“微分法"对应微分运算——但逻辑完全正确。李善兰读到这里,认出了它是他自己尖锥术的逆运算:微分与积分互逆。微积分基本定理,用他自己的翻译写了出来。

还有一个值得一提的细节:积分号 \(\int\)——莱布尼茨选用的那个拉长的S,取自拉丁文summa(求和)的首字母——在书中附有旁注,解释为"积字之变形”。莱布尼茨的本意是summa(求和),李善兰读出的是"积”(积累)。奇妙的是,两种解读都是正确的:积分确实是无穷小量的积累。这次"误读"恰好是对的。

翻译过程的困难:新词是怎么造出来的

翻译数学,根本的困难不在计算,而在命名。一个新的数学概念需要一个词,而你选择的词编码了一种解释——它告诉后来者的不只是这件事是什么,还有怎么去思考它。

李善兰与伟烈亚力面对着整整一套英文数学术语,其中大多数在中文里没有对应词。他们发明的词,流传了一百七十年。

“变数”(variable): 英文"variable"来自拉丁文variare,意为变化。李善兰造了"变数”——“会变化的数”,三个字,精准无误,被普遍接受,沿用至今。

“函数”(function): 这是李善兰最精妙的一次造词,值得细细品味。英文"function"来自拉丁文fungi,意为执行、完成,对数学含义没有任何提示。李善兰选用了"函"字,其古典含义是"包含、内藏”。他的函数是一种"含数”——包含另一个量的量,其值由它在某种意义上包括在内的变量决定。

这不只是一个聪明的比喻,而是一种关于函数是什么的哲学立场。在李善兰的中文里,函数不是"映射"也不是"变换",而是"包含"。日本学者后来将同一概念译为"関数"(kansū,“关联的数”),做出了不同的选择:函数关联两个量。两种译法各自捕捉到了一些真实的东西,为同一个对象编码了不同的数学直觉。

今天,全世界所有说中文的数学家都用"函数",所有说日文的数学家都用"関数"。整个汉字文化圈在某种意义上仍在争论函数究竟是什么——一个传统说它"包含",另一个说它"关联"——而两个传统都不知道这场争论的存在。

“系数”(coefficient): 拉丁文coefficiens意为"共同起作用"。李善兰的"系数"意为"与变量绑定的数",同样准确,同样持久。

“积分”(integral): “积"字意为"累积、堆叠”。莱布尼茨的 \(\int\) 是summa(求和),李善兰的"积分"是"积累的部分"。两个文明,两种语言,一个概念,两种不同的比喻——而纯属偶然,两种比喻都是正确的。

对日本的影响

《代微积拾级》1859年问世后不久,便开始在日本流传。时机再好不过:1860年代的日本正处于自身的知识紧急状态——明治维新即将到来,西方数学迫切需要,而几乎没有任何日文资料可用。汉字与日文共用书写系统,日本学者可以直接阅读李善兰的中文。

李善兰在1859年锻造的数学术语——函数、变数、微分、积分——跨海传入日本,在那里生根。它们以略作改变的形式进入日语(函数变成関数,積分保持不变,微分保持不变)。1872年明治政府颁布全国教育法令、日本开始系统讲授西方数学时,它所使用的概念词汇,有相当大一部分建立在一个人十三年前在上海发明的词语之上——那个人坐在一位英国传教士对面,翻译一本关于微积分的书,而那本书,在某种意义上,他已经自己写过了。

《考数根法》:中国第一部素数论专著

李善兰的数学贡献不止于翻译。1872年,他在艾约瑟(Joseph Edkins)主编的《中西闻见录》上发表了《考数根法》三篇,这是中国历史上第一部专门研究素数(他沿用《数理精蕴》译名,称为"数根")判定方法的著作。

素数的概念已由传教士带入——《数理精蕴》1723年首次以"数根"之名介绍素数,并给出一张素数表。但一直没有人系统讨论如何判定一个大数是否为素数。李善兰填补了这个空白。

《考数根法》的核心是四种判别算法,本质上与欧拉定理和费马小定理密切相关。用现代语言表述:

费马小定理告诉我们,若 \(p\) 是素数且 \(\gcd(a,p)=1\),则

\[a^{p-1} \equiv 1 \pmod{p}\]

这提供了一个必要条件:若 \(N\) 是素数,则某个"用数" \(a\)(李善兰取 \(a=2\) 或 \(3\))的"定次" \(d\)(使 \(a^d \equiv 1 \pmod{N}\) 的最小正整数)必须整除 \(N-1\)。李善兰将此判定方法分为四步,命名为"屡乘求一法",算法逻辑严谨。李善兰本人没有意识到他的方法与费马小定理等价——他是从中国传统的同余计算路径出发,独立地到达了同一套判别条件。

《考数根法》的历史地位在于:这是中国数学家第一次将素数判别从"查表"推进到"算法"——从一张静态的素数表,升级为一套面对任意整数都可以操作的检验程序。这也是中国数学与西方数论在这一领域最接近的一次汇合,尽管李善兰至死未见高斯的《算术研究》,更不知欧拉和费马的结论已在一个半世纪前就得到了证明。

此后,方士(活跃于19世纪末)著**《数根丛草》**(1896年),在李善兰的基础上再提出二十种素数判定方法,是晚清数根研究的延续。



李善兰的独立数学研究:从垛积到李善兰恒等式

李善兰翻译之外的数学成就,集中在有限差分和组合数学领域,其核心成果是今天仍以他名字命名的恒等式。

1857年前后,李善兰在撰写《垛积比类》时,沿着中国传统的"垛积求和"路径——把数列求和理解为堆叠层叠的实物——发现并证明了以下恒等式:

\[ \sum_{k=0}^{r} \binom{k+m}{m} \binom{n-k}{r-k} = \binom{m+n+1}{r} \]

左边是两种二项式系数的乘积求和,右边是单个二项式系数,两者恒等。

李善兰的证明路径是组合计数加归纳:他用"堆垛"语言将每个 \(\binom{k+m}{m}\) 理解为把 \(m\) 个球放入 \(k+1\) 个盒子的方案数,将 \(\binom{n-k}{r-k}\) 理解为另一种分配,然后论证两边都在计算同一个总的分配方案数。这是典型的双重计数证明(double counting),但不用现代集合语言,而用具体几何堆叠图像。

现代组合证明(用生成函数,比李善兰晚约半个世纪):考察生成函数 \((1+x)^{m+n+1}\),将其分解为 \((1+x)^m \cdot (1+x)^{n+1}\),对两边提取 \(x^r\) 的系数,即得恒等式的等价形式。李善兰的证明不需要这个框架,但两者等价。

19世纪末,德国数学家卡尔·迈塞尔(Karl Meissel)和英国数学家独立地重新发现了这个恒等式,此后按国际惯例以李善兰的名字命名。在整个19世纪中国数学史中,以中国数学家名字进入西方数学典籍的成果极为罕见,李善兰恒等式是其中影响力最持久的一个。


伟烈亚力:合作者的真实画像

伟烈亚力(Alexander Wylie,1815—1887)常被描述为李善兰的翻译助手,这是不准确的。他是一位独立的汉学家和数学史家,其自身的学术贡献值得单独审视。

伟烈亚力出生于伦敦,在成为伦敦传道会(London Missionary Society)成员之前,曾从事书本贸易,博览群书,自学成才。1847年抵华,主持上海墨海书馆,直至1860年。他的中文程度非同寻常:不只是会话和阅读,而是能阅读文言文数学文献,理解传统算法的逻辑。

他与李善兰的合作分工更接近双向对话而非口述听写。两人的实际分工是:伟烈亚力负责阅读和解释英文原著,李善兰负责将理解写成中文并补充数学细节。但在遇到原著含糊或有误的地方,李善兰会指出,两人共同商定中文表述。这种合作方式,与1607年利玛窦口述、徐光启笔受翻译《几何原本》前六卷有明显不同:利玛窦精通拉丁文却不擅长数学推理,徐光启是科学家;而伟烈亚力既通数学又通中文,更像是对等的合作者。

伟烈亚力离华后,在英国出版了《中国文献记略》(Notes on Chinese Literature,1867年)和若干数学史研究论文,是西方汉学界最早系统介绍中国传统数学的著作之一,影响了后来的李约瑟等人。


《几何原本》后九卷:258年的等待

1607年,利玛窦与徐光启合译了《几何原本》前六卷。徐光启当时就希望继续译出后九卷,但因诸多原因始终未能实现。这一空缺持续了整整258年。

1865年,李善兰与伟烈亚力完成《几何原本》后九卷的翻译,终于使完整的欧几里得《原本》以中文出现。

前六卷的内容(平面几何基础:点线面的定义,三角形,圆,比例)相对直觉性强,容易转译。后九卷在数学上更为深刻:

  • 第七至九卷(数论): 欧几里得辗转相除法(求最大公因数),奇偶数理论,素数无穷多的证明(一个纯粹的存在性证明,与中国算法传统的构造性风格形成鲜明对比)。
  • 第十卷(无理量的分类): 这是《原本》中最难读的一卷,系统分类不同类型的无理数(相当于今天的 \(\sqrt{a}+\sqrt{b}\) 类型的代数无理数)。
  • 第十一至十三卷(立体几何与正多面体): 正多面体(正四面体、正六面体、正八面体、正十二面体、正二十面体)的作图与性质,是全书的压轴内容。

后九卷的翻译难度远高于前六卷,一方面因为内容本身更抽象,另一方面因为缺乏现成的中文数学术语。李善兰为此创造或确认了大量新词,进一步扩展了他在《代微积拾级》中建立的术语系统。


《代数学》、《谈天》与系统引进的规模

李善兰与伟烈亚力的合作不止《代微积拾级》和《几何原本》。两人还合作翻译了:

《代数学》(Algebra,1859年,原著为英国数学家德·摩根 Augustus De Morgan):这是第一部系统介绍字母代数(符号代数)的中文著作。中国传统数学虽有天元术(用一个未知数的升幂表示多项式),但从未使用多个不同字母同时代表不同未知量。《代数学》引入了这个概念,为后来的符号代数语言在中国的普及奠定了基础。“代数"一词是此次翻译中固定下来的——“以字代数”,用字母代替具体数字。

《谈天》(Astronomy,1859年,原著为英国天文学家约翰·赫歇尔 John F. W. Herschel 的《天文学大纲》):系统介绍哥白尼、开普勒、牛顿的日心说体系和近代天文学基础。这是19世纪中国读者第一次能系统读到完整的近代天文学,而不是片段的介绍。书中把"太阳系”、“行星轨道”、“引力"等概念以中文系统呈现。

这三部译作(加上《几何原本》后九卷)几乎覆盖了当时西方数学的全部核心分支:纯数学(几何、代数、微积分)、天文学。在约20年内(1852—1872年,李善兰在上海的工作年代),中国读者获得了系统理解西方数学和科学的第一套中文文献库。从传播效率而言,这场翻译运动是中国科学史上影响最深远的知识引进事件之一,其规模和系统性超过了250年前利玛窦时代的片段引进。

上海的书房,1852年

鸦片战争结束不到十年。英国在上海开设了租界,墨海书馆(London Missionary Society Press)在这里运营。一位英国传教士叫做伟烈亚力(Alexander Wylie,1815—1887),他不是数学家出身,但他对中国经典有深厚的兴趣,而且他有一批1850年代欧洲最新的数学教科书。

1852年,李善兰(1811—1882)来到上海,进入墨海书馆。两个人开始合作。

这一次,翻译方式与245年前的利玛窦-徐光启模式完全相同:口授笔受——伟烈亚力读英文,在脑子里整理概念,用口语说给李善兰;李善兰听,理解,转化为汉语。不同的是,这次传来的不是古希腊几何,而是19世纪英国的代数、微积分、天文学。

这一次的接收者,也不同了。


李善兰:两重独立发现的数学家

李善兰,浙江海宁人。他在遇见伟烈亚力之前,已经是一位重要的数学家。

他最著名的原创成就有两个,值得在这里详细说明,因为它们帮助我们理解:当一位真正懂数学的人接触到微积分,会发生什么。

第一重独立发现——尖锥术(垛积招差与积分)

1845年,李善兰在没有接触欧洲微积分的情况下,推导出了计算多项式积分的公式。他的方法是垛积(堆叠层数的计数,类似今天的黎曼和)。

他证明了:

\[ \int_0^a x^n dx = \frac{a^{n+1}}{n+1} \]

他的论证不用极限,用的是有限和的极限行为:把 \([0, a]\) 分为 \(N\) 等份,每份长 \(a/N\),第 \(k\) 份的"高度"是 \((ka/N)^n\,求和后令 \(N \to \infty\)。这个想法,与牛顿-莱布尼茨的积分理论在效果上是等价的,尽管语言和框架完全不同。

第二重独立发现——李善兰恒等式

\[ \sum_{k=0}^{r} \binom{k+m}{m} \binom{n-k}{r-k} = \binom{m+n+1}{r} \]

这个组合恒等式,他在研究垛积时作为工具发现,西方数学中没有对应的文献先例(至少在他发现时如此)。这个恒等式在今天仍以"李善兰恒等式"命名,是中国古代数学在西方数学名录中留下自己名字的极少数成果之一。

这两项成果说明了一件事:当李善兰开始翻译微积分教科书时,他不是一个被动的翻译者,而是一个能理解自己在翻译什么的数学家


《代微积拾级》:书名本身就是一堂课

1859年,李善兰和伟烈亚力完成了《代微积拾级》的翻译,原著是英国数学家罗密士(Elias Loomis,1811—1889)的《解析几何与微积分》。

书名值得解读,因为它是翻译决策本身的一份档案:

  • :代数(algebra)——这本书包含解析几何,而解析几何的基础是代数
  • :微分(differential calculus)——对无穷小量的研究,求导数
  • :积分(integral calculus)——对无穷小量的累积,求面积和体积
  • 拾级:逐级上升,一步一步——这是对原书"从基础到高级"的结构的描述,也是翻译者的一种承诺:读者可以从头跟着走

四个字里藏着三个数学分支(代数、微分、积分)和一个学习方法(逐级进阶)。这个书名,不是随便起的,是李善兰认真理解了这本书之后的选择。


三个证明:李善兰真的理解了微积分

历史上有争议:19世纪的中国翻译,是真正理解了西方数学,还是只是语言转换的搬运工?

对于李善兰,有三个具体的证据支持"真正理解"这一判断:

证据一:术语选择的精确性

李善兰(和伟烈亚力)在翻译《代微积拾级》时,创造了一批沿用至今的数学术语:

新创术语对应概念使用至今
函数function是,核心术语
变数variable是(今"变量”)
微分differential
积分integral
系数coefficient
级数series
方程式equation是(今"方程")
切线tangent line

“函数"这个词,尤其值得关注。英文 function 来自拉丁文 functio(功能、运作),强调的是输入-输出的映射关系。李善兰选择"函数”,其中"函"字意为"包含"——一个量包含着另一个量,后者随前者的变化而变化。这个选择,抓住了函数概念的核心:包含关系下的依赖性

这不是音译,也不是简单的意译,而是一种哲学翻译:用汉字的字义来传达数学概念的本质。

证据二:独立补注的存在

《代微积拾级》出版后,李善兰单独写了一篇《考数根法》(1872年),独立研究了素数的分布和判定。这说明他在翻译工作之后,继续用自己的方式推进数学研究,而不只是翻译完就停止了。

证据三:垛积与积分的互证

在翻译积分部分时,李善兰把自己早年的"尖锥术"与微积分的积分概念对照,发现它们是同一件事的两种语言。他在注释中写道,他的"尖锥垛积"正是微积分所说的积分,只不过他用有限和极限来表达,而西方用"无穷小量之和"来表达。

这种自我对照,说明他理解了微积分的核心思想,而不只是会操作它的符号。


函数与関数:一个词的两种命运

“函数"这个词,在东亚有一段有趣的后续故事。

日本在明治维新时期(1868年以后)系统引进西方数学,大量参考了李善兰的翻译。日语汉字词"関数”(かんすう,kansu)直接来自"函数",“関"字是"函"字的日语替换(“関"意为"关联”,与"函"意思相近,都有"包含”/“关联"的语义)。

韩国数学术语"함수”(函数)直接音读中文汉字,保留了李善兰的原始选择。

于是,一个1859年在上海书房里创造的汉字组合,传到日本,传到朝鲜半岛,在三个语言里,以不同的形式生存至今。


孤独的上海时光:一位天才的局限

我们必须正视这段历史的另一面。

李善兰在上海翻译了大量西方数学(1852—1868年),回北京后,他在同文馆教书,继续写作。但他的工作,在当时中国数学界的传播,是极其有限的。

为什么?

第一,印刷量小,读者群窄。墨海书馆是传教士出版机构,《代微积拾级》的初版印量很小,主要在通商口岸流通。内地的数学家,很少有机会接触到这本书。

第二,理解门槛极高。即使拿到了书,没有经过系统的代数和几何训练,直接读微积分,几乎不可能理解。而当时中国的数学教育,还是以《九章算术》传统为主。

第三,没有形成教学体系。李善兰自己在同文馆教过微积分,但课程是新的,教材是新的,学生的基础差异极大,没有经过几代人的沉淀,还不能形成稳定的传授链条。

这与欧洲的情况形成鲜明对比。牛顿发明微积分,莱布尼茨发展符号系统,伯努利家族推广应用,欧拉系统化,这个接力过程,在一个有持续互动的学术网络里进行,每一个人都站在前人的成果上,而且彼此知道对方在做什么。

李善兰是孤独的。他所做的事,本来需要一代又一代人的接力来完成。


对日本的影响:一个对比

然而,李善兰的翻译在一个地方找到了更肥沃的土壤:日本。

明治维新的核心目标之一,是系统引进西方科学技术。日本学者发现,中文西学书籍(包括李善兰、华蘅芳等人的翻译)是进入西方数学的更快路径,因为中日汉字共享意味着理解成本更低。

《代微积拾级》在日本被多次重印,成为明治早期数学教育的重要参考书目之一。日本数学术语对中文翻译的大量采借,在相当程度上是李善兰工作的间接影响。

所以,这场翻译运动,在中国本土的直接影响是有限而迟缓的,但在日本的传播,最终又以现代化的西方数学教育的形式,从另一个方向影响了中国——这是历史的迂回,也是知识传播的真实路径。

从1607年利玛窦和徐光启在北京翻译《几何原本》,到1859年李善兰和伟烈亚力在上海翻译微积分,这段历史跨越了两百五十年。两次翻译运动,有惊人的结构相似:都是中外合作,都是"口授笔受",都诞生了影响深远的术语,都在中国本土的即时影响有限、而长远影响深远。

不同的是,第二次发生在一个完全不同的历史语境里:一个被迫打开的中国,一个正在寻找自救道路的知识阶层,一个已经把数学、物理、化学与国家存亡联系起来的时代。

Chapter 50: 华蘅芳与傅兰雅——《决疑数学》与概率论

江南制造局里的另一对搭档

江南制造局,乍看之下不像是一个会接触到哲学的地方。它是军事工业复合体:1865年创办,东亚最大的兵工厂,生产步枪、炮弹,后来还生产铁甲军舰。1868年设立的翻译馆,存在的目的是服务一个具体的战略目标——帮助中国了解西方技术的原理,从而能够自主制造。

然而,1880年,从这个主业是帮助中国造炮的机构里,出版了一本关于概率论的书,书名《决疑数学》。一家武器工厂的翻译人员,为什么要花时间研究精算表?

这个问题的答案,揭示了19世纪上海真实的底色。1880年,上海租界里已经有十几家英美保险公司,为流经通商口岸经济的货船、仓库和货物承保。这些公司用概率计算和欧洲生命表来厘定保费。与这些公司谈判保单的中国商人,完全不知道保费是怎么算出来的。用严格的数学语言说,他们在玩一场不知道规则的游戏。

从洋务派的角度看,翻译一本概率学著作,和翻译一本冶金手册同等具有战略价值:保险费率、税收统计、工程风险评估——都需要同一套数学工具。负责翻译这本书的人是华蘅芳(1833—1902),他的外方合作者是傅兰雅(John Fryer,1839—1928)。两人在江南制造局合作了将近二十年,共同翻译了二十余种数学著作。

华蘅芳的来路与李善兰几乎一模一样:江苏一户人家的少年,在旧书摊上偶然发现一本数学书,从此着了迷,通读中国经典数学,再通过李善兰自己的译著接触到西方数学。他在某种意义上是李善兰的"数学孙辈"。1861年,他被曾国藩延揽入幕,投身洋务运动;1868年加入制造局新设的翻译馆,此后在那里工作了将近二十年。

傅兰雅是19世纪最多产的科技翻译家之一——整个在华生涯共译出230余种西方科技著作。他的中文流利到足以处理技术内容,并留下了大量关于翻译过程的文字记录,使他成为研究这段非凡知识史业不可或缺的史料来源。

《决疑数学》的具体内容

《决疑数学》(十卷,1880年)译自英国数学家德·摩根(Augustus De Morgan)的《概率论文集》(1838年)。德·摩根今天最为人所知的是以他命名的逻辑定律(非(A与B)= 非A或非B),但在他的时代,他也是英国概率论、精算数学和博弈数学的主要著述者之一。

书名是翻译上的一个小小杰作。“决疑"是古典汉语词组,意为"解决不确定的事,消散疑惑”。拉丁文probabilis——“可以被证明的,可信的”——是逐渐才获得了"可能的、可以数量化衡量的"这层现代含义。两者之间的联系并不显而易见,但华蘅芳找到了恰好合适的共鸣:概率是关于疑惑的数学,它把你所不知道的事情量化。

十卷系统铺陈了经典概率论的完整入门:

  • 卷一: 基本定义。古典概率 \(P(A) = k/n\)(有利结果除以总结果);互斥事件的加法规则 \(P(A \cup B) = P(A)+P(B)\);独立事件的乘法规则 \(P(A \cap B) = P(A)\cdot P(B)\)。书中用"成分"指分子,“总分"指分母——完全是中文表达,没有任何拉丁文的影子。

  • 卷二: 二项分布。在 \(n\) 次独立试验中恰好成功 \(k\) 次的概率为 \(\binom{n}{k}p^k(1-p)^{n-k}\),以骰子和抛硬币为例说明。

  • 卷三至五: 条件概率;不放回抽样(称为"减分抽取法”,因为每次抽取都减少了总数);复合事件的枚举。

  • 卷六至八: 期望值——“期望所得”——的定义与计算;博弈游戏的数学分析。书中明确指出,附有数字例题,任何庄家有优势的博弈,从长远看在数学上对赌徒都是不利的。1880年的上海,有人认定中国读者需要知道这一点。

  • 卷九至十: 生命表与人寿保险数学。这是本书从洋务派立场看最能体现存在价值的部分。从分年龄的死亡率出发,推导出年龄为 \(a\) 的人活到年龄 \(b\) 的概率,并以此计算精算上公平的保险费。书中附有完整的英国生命表,明确示范如何根据被保险人的年龄和保额计算年保费。就在这家兵工厂的翻译馆里,收录着上海英国保险公司用来定价、而中国商人无法评估的那些精算知识。

一道例题: 袋中有3个红球、5个蓝球,不放回地摸出两球,求两球均为红球的概率。

书中的解法:第一次摸到红球的概率为 \(3/8\);此后袋中剩余2个红球和5个蓝球(共7个),再次摸到红球的概率为 \(2/7\);将两个条件概率相乘:

\[P(\text{两球均红}) = \frac{3}{8} \times \frac{2}{7} = \frac{6}{56} = \frac{3}{28}\]

书中还给出了组合解法:\(P = \binom{3}{2}/\binom{8}{2} = 3/28\),两种方法并行演示,并明确指出结果一致——含蓄地教导读者:概率有多种有效的计算途径,但必须给出相同的答案。

卷一导言部分包含一段西方概率论简史:帕斯卡与费马1654年关于"分赌注问题"的著名通信;惠更斯第一部正式概率论著作(1657年);伯努利大数定律(1713年);拉普拉斯《概率论的解析理论》(1812年)。这是中国读者第一次看到这段历史被系统梳理出来。书的言下之意是:数学有历史;而概率论这个分支,不过是两百五十年不到的年轻学科——远比中国的计算传统年轻。

华蘅芳的自撰数学工作

华蘅芳不只是一名翻译。他以《行素轩算稿》为题汇集的独立数学著作,说明江南制造局的工作并非只有单一方向。

他的《珠算一得》与《笔算一得》构成一对值得称道的著作:前者系统整理传统珠算,后者推介西方笔算,而两书都在论证——反对洋务改革者那种非此即彼的逻辑——两种方法各有其适当的领域:珠算胜在商业算术的速度,笔算胜在复杂推演。这不是一个已经抛弃自己传统的人写出来的书。

《积较术》(有限差分与求和公式研究)是他独立著作中理论价值最高的一种,相关结果由他独立推导,表明他对西方数学的参与不是被动吸收,而是主动对话。

《数根术》(素数研究)探讨了中国传统所称的"数根"——数的根,不可再分的元素。华蘅芳梳理了几种素数判定方法,包括试除到平方根。他证明257是素数的论证——逐一检验 \(\sqrt{257} \approx 16\) 以内的素数2、3、5、7、11、13均不整除,结论为素数——完全正确。他没有费马小定理,也没有Miller-Rabin测试,但推理是严密的。他所做的数论,以欧洲标准看相当初等;但这恰好是中国数学传统以另一种路径走来、装备给他的东西。


概率论在中国的早期接受

《决疑数学》于1896年由尧城周氏正式刊行。此前,1880年7月的《格致汇编》已经提到这部书"已译未刻"——也就是说,手稿在初译完成的十六年间在制造局的圈子里已有流通,但没有公开出版。这个时间差,本身便是一条线索:在19世纪最后二十年的中国,读者群还不够大,无法支撑一部概率论著作的商业出版。

从接受史的角度看,《决疑数学》是一本生不逢时的书。它的出现早于任何系统性高等数学教育的存在,也早于任何保险精算行业的中国本土从业者群体的形成。翻阅晚清其他数学家的著作与通信,很少能找到直接引用或讨论《决疑数学》的痕迹。同时代的数学家——夏鸾翔、丁取忠、黄宗宪——关心的是无穷级数、天元术、整数勾股形,没有人把概率论视为紧迫的研究前沿。

这不是说概率论在通商口岸经济中没有实际读者。恰恰相反:在上海租界做生意的买办阶层,与英美保险公司打交道的中国商人,懂得阅读汉字专著的可能也去读过这本书。只是这类读者不留学术痕迹。历史在这里有一条断层:使用概率知识的人没有写论文,写论文的人没有使用概率知识。

概率论作为一个系统的数学分科,在中国知识界真正获得关注,要等到1903年之后——随着大批留日学生回国,带来日语数学教科书,“确率”(のちに概率)这个日语词才开始以各种形式进入中文数学语境。“几率"这个词在20世纪初的教科书中偶有出现,但并不统一。今天通行的"概率"一词,是在1940至1950年代的标准化运动中最终确定的。

《决疑数学》的历史意义,因此不在于它被广泛阅读,而在于它证明了一件事:1880年的中国,至少存在这样一个知识能力——把一部严密的欧洲概率论著作翻译成流畅的中文,附有完整的数学推导,使用自洽的专门术语,配有具体例题,对西方概率史有清醒的介绍。有这个能力,比没有强。那道门,打开过。只是走进去的人,一时还不多。

翻译的语言策略

傅兰雅与华蘅芳在翻译《决疑数学》时面临的核心问题,是欧洲概率论使用的一套拉丁语-法语-英语混合词汇,在中文里几乎完全没有对应物。“probability”、“expectation”、“distribution”——每一个词都要从头造起。

他们的策略是语义构词,而非音译。“probability"译作"决疑数”——解决疑惑的数,即量化不确定性的数——而不是任何音译变体。这个选择的哲学内涵比表面上更深:它意味着把概率理解为一种认识论工具(减少主观不确定性),而不是一种频率主义工具(长期相对频率)。拉普拉斯的古典定义恰好与这种解读相配,这不是巧合——德·摩根本人的概率论哲学也更接近贝叶斯-拉普拉斯的认识论传统,而非频率主义传统。华蘅芳的译名,无意间准确地捕捉了他所翻译的那种概率论的哲学气质。

“期望值"被译作"指望”,或"所期而望之数”——“期待所得之数”——这是惠更斯原始定义(“将所欲得之利与其所凭籍之事的决疑率相乘”)的中文直译,措辞接近古典汉语,同时保留了数学的精确性。

条件概率没有获得一个统一的专名,书中用的是描述性的短语:“在某事已成之后,另一事成之决疑数”——在某件事已经发生的条件下,另一件事发生的概率。这在数学上是对的,但与后来标准化的"条件概率"相比,表达不够紧凑,也因此难以进入数学符号体系被简洁地处理。

正态分布——书中大量处理的棣莫弗-拉普拉斯极限定理的核心对象——被描述为"试验极多时,成果之分布渐趋某一曲线之势",没有一个固定的译名。这个缺失,在往后的接受史中产生了后果:每一位读到这部分的中国读者,都需要从描述性的语言中重新提炼出概念,而概念本身的稳定流通,需要一个固定的名字。正态分布在中文里获得稳定名称,又要等半个世纪。

华蘅芳的《学算笔谈》:一部教育哲学著作

华蘅芳所有著作中,对后世影响最为持久的,或许不是任何翻译,而是他写给初学者的《学算笔谈》。这是一部笔记体数学教育著作,记录他多年教学经验所形成的方法论心得,文字亲切,完全不摆架子。

书中有一段话,经常被引用,说明了华蘅芳对数学学习的理解:

“学算之要,不在多记,在于能变。能变则一通百通,能变则万法归一。学者须于题法已熟之后,试自改题,看所改之题是否仍用此法,或须换法,何时换,从何换,方为真知此法。”

这段话说的是数学学习中迁移能力的重要性,与今天我们所说的"深度学习"(deep learning,教育学意义上的)高度一致:死记硬背方法不够,真正的理解体现在能把同一个原理应用于变化的情境。在一个数学教育仍以背诵《九九乘法表》和珠算口诀为基础的年代,这种教育哲学是异数。

华蘅芳去世于1902年,正是壬寅学制颁布的那一年。他没有看到自己参与构建的那个知识框架,如何在接下来的二十年里变成全国性的制度。但他的书继续流通,他的学生——华世芳等人——继续活跃于新式数学教育的第一线。在这个意义上,他的工作完成了它应有的使命。


傅兰雅的工作方式:口译如何变成数学书

傅兰雅与华蘅芳的合作方式,在江南制造局的记录里有清楚的描述。傅兰雅本人在《江南制造总局翻译西书事略》中详细记录了这套工作流程:傅兰雅持英文原书,逐句念出并在脑子里先转成中文大意,口头说给华蘅芳;华蘅芳边听边修改措辞,落笔写出。这叫"口译笔述"——和半个世纪前利玛窦与徐光启翻译《几何原本》的工作方式,几乎一模一样。

但《决疑数学》的翻译比几何学更难的地方在于:概率论不只是计算,它还是一套哲学。“probability"这个词的英文含义,在十九世纪有两种理解路线的争议——是频率主义(一件事发生的长期相对频率),还是认识论主义(一个理性主体对不确定事件的信念程度)?德·摩根本人倾向于后者,而他所引用的拉普拉斯的古典定义 \(P(A) = k/n\) ,则更接近理性主义传统。华蘅芳在翻译时,用"决疑数"这个词——“解决疑惑的数字”——无意中准确捕捉了他所翻译的那套概率哲学的气质:概率是关于知识不完整性的量化,而不只是对频率的计数。

傅兰雅在翻译过程中不只是语言媒介。他对数学本身有相当的理解,能在口译时对原书的论证结构做出判断,选择哪些地方需要展开说明、哪些地方可以压缩。华蘅芳则在笔述过程中对数学推导进行独立检验,他是做数学的人,不是抄写员。两个人的合作是真正的智识协作。《决疑数学》中所有公式都给出完整的推演过程——这是华蘅芳的坚持,而不是德·摩根原书的风格,说明中文版在某些地方比英文原著更为详尽。

《决疑数学》的源著:德·摩根还是拉普拉斯?

关于《决疑数学》究竟译自何书,学界曾有讨论。《大系》第八卷直接给出了答案:棣么甘(Augustus De Morgan,1806—1871)的 An Essay on Probabilities, and on Their Application to Life Contingencies and Insurance Offices(1839年,伦敦丛书版)。书中"总引"明确提及此书"载于伦敦丛书(1834)",严敦杰经考证指出实际版本为1839年版。

这是一个有意思的选择。德·摩根这部书不是当时欧洲最前沿的概率论著作,拉普拉斯的《概率的分析理论》(1812年)在技术深度上远超此书。但德·摩根的书有一个特点:它兼顾了理论推导和实际应用(特别是精算保险),文字相对平易,并附有大量历史叙述。对于需要向完全陌生于这门学科的中国读者介绍概率论的傅兰雅来说,这是一个更合适的入门文本。

尽管如此,《决疑数学》的数学内容并不限于德·摩根一书。书中引用了拉普拉斯的古典定义和棣莫弗-拉普拉斯积分极限定理,引用了雅各布·贝努利的大数定律,引用了斯特林公式,引用了高斯的最小二乘法——这些内容遍布于1840年代欧洲的多种概率论和统计学教科书,不全在德·摩根的这部书里。傅兰雅很可能参考了多种英文材料,德·摩根的书提供了框架,其他文献补充了内容。

从帕斯卡到华蘅芳:概率论发展的历史脉络

《决疑数学》的"总引"专门梳理了一段西方概率论的发展史,这是中国读者第一次系统接触这段历史。书中的时间线,对于理解《决疑数学》本身在哪个位置,至关重要。

故事始于1654年。那年夏天,法国贵族梅雷(Chevalier de Méré)向他的朋友、数学家帕斯卡(Blaise Pascal,1623—1662)提了一个问题:两人在赌博中途停止,筹码应该怎么分配?帕斯卡把这个问题写信告诉了费马(Pierre de Fermat,1601—1665),由此引发了一场延续两三个月的通信。两人从不同角度——帕斯卡用递归,费马用组合——各自解决了这个"分赌注问题”,奠定了古典概率论的第一块基石。

十三年后的1657年,荷兰数学家惠更斯(Christiaan Huygens,1629—1695)出版了欧洲第一部正式的概率论著作《论赌博的计算》(De Ratiociniis in Ludo Aleae),给出了数学期望的定义,并系统解决了若干赌博问题。这是概率论作为独立数学学科的正式起点。

数学期望这个概念,在《决疑数学》里被译作"指望"或"关景决疑数"——一种"你可以期待得到的数"。惠更斯的原定义是:“将所欲得之利与其所凭籍之事的决疑率相乘”,即 \(E = \sum x_i p_i\),期望值等于各可能结果乘以其概率之和。这个定义在《决疑数学》里被原封不动地照搬,并标明出处。

半个世纪后,雅各布·伯努利(Jacob Bernoulli,1654—1705)在他死后出版的《猜度术》(Ars Conjectandi,1713年)中,证明了大数定律:随着试验次数趋向无穷大,观测到的频率将趋近于真实概率。这个定理,第一次在数学上建立了概率的"频率"解释与"可能性"解释之间的联系。《决疑数学》在第八卷引用了这一定理,书中记为"雅可比贝努利(北奴里)大数定理"。

拉普拉斯(Pierre-Simon Laplace,1749—1827)在《概率的分析理论》(1812年)中,把整个古典概率论提升到分析数学的层次,用积分替代了组合枚举,给出了概率论的"解析"形式。他的棣莫弗-拉普拉斯极限定理,证明了二项分布在样本量趋向无穷时近似正态分布:

\[\frac{X - np}{\sqrt{np(1-p)}} \xrightarrow{d} N(0,1)\]

这个结果,从1716年棣莫弗的特例( \(p = 1/2\) ),到拉普拉斯的一般形式,花了将近一个世纪。《决疑数学》第九卷呈现了这个定理的完整证明——加上正态分布的密度函数

\[f(\Delta) = \frac{\lambda}{\sqrt{\pi}} e^{-\lambda^2 \Delta^2}\]

这是正态分布在中文文献里的第一次登场,虽然没有固定的中文名称,但数学内容是完整的。

从1654年帕斯卡-费马通信,到1880年《决疑数学》出版,整整226年。华蘅芳工作的1880年,这门学科在欧洲已经相当成熟,但还没有进入测度论时代(那要等到柯尔莫哥洛夫1933年的公理化)。换句话说,《决疑数学》介绍的,是古典概率论的完整知识体系,处于这个学科发展的一个相对完整的阶段,不是片段,不是过时的内容,而是一个完整的理论框架,从定义到应用,从基础到极限定理,一应俱全。

概率论为何没有立即进入清末教育

《决疑数学》1880年完稿(1896年正式刊刻),但它在清末数学教育中几乎没有留下痕迹。这个事实需要解释。

第一个原因是教育制度的滞后。1880年,中国没有一所按照现代数学课程设置的高等学校。京师同文馆在1868年增设算学馆,但课程以算术、代数、几何为重点,目标是培养外交翻译官员,而不是培养数学研究者。概率论对于这个目标来说太专业,太理论化,而且当时没有任何既有的教材和教学传统可以依附。

第二个原因是应用场景的缺失。概率论在欧洲的第一批使用者,是保险精算师和人口统计学家。1880年的中国,这两个职业几乎不存在。有中国从业者的保险业,要到清末新政之后才逐渐形成。没有需要使用概率计算的职业群体,这门学问就找不到落脚点。

第三个原因更根本:概率论需要数学基础的积累。严格理解《决疑数学》第九卷的棣莫弗-拉普拉斯定理,你需要微积分——那要等到华蘅芳自己参与翻译的《微积溯源》(1874年)慢慢渗透之后,才有了基础读者群。知识的传播不是跳跃式的,它需要一层一层的地基先准备好。

概率论真正进入中国学术语境,要等到1903年以后,随着留日学生归国,日文数学教科书引入了"確率"(确率)这个日语词,中文版概率术语才开始稳定下来。今天通行的"概率"一词,是1940到1950年代标准化运动的结果。

《决疑数学》的历史位置,因此是这样的:它是那道门,在正确的时间被打开了,但走进去的人,一时还不多。这不是华蘅芳和傅兰雅的失败,而是知识传播的自然节奏——它的到来,总是早于社会准备好接受它的那一刻。一百四十年后,这本书作为中国概率论史的起点,被确定无疑地列入了这段历史。



华蘅芳的自学路径:从故书摊到江南制造局

我们在前文简略提到过华蘅芳的来路,但那个故事值得说得更细一点——因为他的成长轨迹,几乎是对"19世纪中国能不能自己培养数学家"这个问题的直接反驳。

华蘅芳,字若汀,1833年生于金匮(今江苏无锡)。这是一个离苏州很近、商业繁荣的江南县城,但不是什么学术重镇。他七岁开始读书,十四岁接触《算法统宗》——明末程大位编的珠算百科全书,民间用来计账的实用手册。大多数读过这本书的孩子,从此只记住了九九乘法表和三七二十一。华蘅芳不一样。

他自己说,十五六岁时,“偶于故书中检得坊本算法,心窃喜之,日夕展玩,不数月而尽通其义”。注意那两个字:故书。不是新书,不是名师,是旧书堆里一本没人在乎的坊间算书。这不是精英教育,这是一个少年在省城书肆的角落发现了一件让他着迷的事情,然后用几个月时间把它彻底弄通。

弄通了之后,他开始往更深处走。他系统通读中国古典数学的核心文献:《九章算术》、《周髀算经》等"算经十书",继而读宋元的数学家——秦九韶、李冶,然后是清代的梅文鼎、焦循、李锐、骆腾凤、罗士琳、董祐诚,以及康熙年间的集大成之作《数理精蕴》。这不是课程表,这是一个没有老师的人,用十年时间自己画出来的学习地图。

1850年代,他游学上海,遇到了改变他研究方向的人:李善兰(1811—1882)。李善兰已经在墨海书馆与伟烈亚力合译《代微积拾级》,华蘅芳读到了这部书——中国人第一次接触微积分的中文文本——从此开始学习西方近代数学。他不懂英文,他的西学完全依赖中文译本。李善兰是他的"数学师祖",但两人的关系更像是同道的朋友,而非传统的师徒。

1861年,太平天国战争把华蘅芳卷入了历史的大水流。曾国藩征召徐寿、华蘅芳两人到安庆军械所,尝试制造西式轮船。他们造出来了一艘——航行是成功的,虽然蒸汽机功率不足,速度不够理想。曾国藩在日记里记下这件事,称之为洋务运动的序幕。华蘅芳此时不是一个翻译,他是一个参与造船的工程人员,有一个实际操作经验垫底。

1863年,容闳受华蘅芳的推介向曾国藩建议购买一批机器设备。这个细节说明华蘅芳在幕府里不只是算数,他还是推动洋务方向的积极参与者。1865年,曾国藩、李鸿章合奏于上海设立江南制造局,华蘅芳参与筹备。1868年,局内添设翻译馆,由傅兰雅主持,华蘅芳主译数学。此后他在那里工作了将近二十年,共刊行十二种,计一百七十卷。

1876年,他与傅兰雅、伟烈亚力、徐寿、唐景星等人共同创办格致书院(今复旦大学前身之一),担任数学教习。1886年离开上海,赴天津武备学堂教习,1892年赴武昌两湖书院,1896年任常州龙城书院院长兼江阴南菁书院院长。他的后半生是一个数学教育家的巡回:从军工业到书院,从上海到天津到武昌,哪里需要数学教师,他就去哪里。

1902年,华蘅芳去世。那一年,清朝颁布壬寅学制,开始系统建立现代学校体制——就在他死去的那一年。他没有看到自己参与奠基的那栋建筑最终完工,但他已经把砖头运到了工地上。


《积较术》:有限差分的独立研究

华蘅芳最有理论分量的自撰数学著作,是他1882年写成的《积较术》三卷。这是一部有限差分研究,完全依靠他自己的推导,没有西方文本作底本——虽然他已经读过西方的差分和级数内容,思路上有交叉,但《积较术》不是翻译,是原创。

“积较"二字是他自己的术语:“积"指数列中各项之值,“较"指相邻两项之差——“列各积相较,复列各较相较,复列各较之较相较,必至无较,乃止”。这就是今天所说的有限差分:对一个数列反复取差,直到差为常数为止。用现代符号,就是 \(\Delta^n f\)。

《积较术》卷一"论积较之理”,证明了差分的几条基本性质。其中最重要的一条:对于 \(n\) 次多项式 \(f(x)\),恰好在取 \(n\) 阶差分之后成为常数。他把这写成:“凡较数之次数,恒如其方之指数”——差分的阶数和多项式的次数相等。这个定理今天是差分方法的入门内容,华蘅芳是独立推导出来的。

他的核心结果是差分插值公式:给定数列 \(\{a_n\}\),以第0项为基准,其各阶差分记为 \(b, c, d, \ldots\),则第 \(n\) 项可以表达为

\[a_n = a_0 + nb + \frac{n(n+1)}{2!}c + \frac{n(n+1)(n+2)}{3!}d + \cdots\]

这在形式上与牛顿的前向差分公式完全一致。华蘅芳给出了这个公式的完整证明,并构造了具体的差分表来演示应用。

卷二"论造表用表之法”,以各阶幂次 \(x^n\) 的差分系数为题,构造了他称之为"诸乘方正元积较表"的系数表——这相当于今天的Stirling数。在没有现成参考文献的情况下,这种从具体计算中归纳出一般表格的方式,体现了一种典型的中国数学风格:先算具体的,算到一定数量,规律自然浮现,再用文字和表格记录规律。

卷三"论积较之用”,将差分方法应用于高阶等差级数求和、插值,以及垛积问题——就是中国传统算学里堆叠物件求总数的题目。这把传统垛积术纳入了差分理论的框架:垛积问题是差分的特殊情形,差分是垛积的一般化。这个整合在当时是有智识价值的:它把华蘅芳从旧书摊上学来的中国传统,与他后来接触的西方方法,打通成一个连贯的知识体。

华蘅芳后来在《算草从存》中还写了"垛积演较"和"积较客难"两篇,继续深化这个主题。《积较客难》是问答体,模拟一个"客"提出质疑、“主"逐一解答——这是一种古典的论辩文体,他用它来处理差分方法中容易引起混淆的地方,对初学者非常友善。


《数根术解》:中国的素数研究

“数根"是中国数学传统对素数的称呼——数的根,不可再分的元素,合数是数根之积,数根本身不是别的数之积。这个词在《数理精蕴》里出现,后来李善兰写《考数根法》(1872年,发表于《中西闻见录》),系统讨论了素数判别的方法。华蘅芳受李善兰影响,写了《数根术解》一卷(1882年)。

华蘅芳的判素方法,核心是试除到平方根:要检验一个数 \(N\) 是否是素数,只需用所有不超过 \(\sqrt{N}\) 的素数逐一去除。如果无一整除,则 \(N\) 是素数。

为什么只需要检验到 \(\sqrt{N}\)?华蘅芳给出了论证:如果 \(N\) 不是素数,设 \(N = a \times b\),其中 \(a \leq b\),则必有 \(a \leq \sqrt{N}\)(因为若 \(a > \sqrt{N}\),则 \(b > \sqrt{N}\),两者之积就会超过 \(N\),矛盾)。所以任何合数必然有一个不超过其平方根的因子;如果在这个范围内找不到任何整除因子,该数就是素数。

来看一个具体例子,检验 293 是否为素数。

首先估算 \(\sqrt{293}\):由 \(17^2 = 289\),\(18^2 = 324\),知 \(\sqrt{293}\) 介于17和18之间。只需检验不超过17的全部素数:2, 3, 5, 7, 11, 13, 17。

逐一检验:

  • 293是奇数,不被2整除
  • 各位数字之和 \(2+9+3 = 14\),不是3的倍数,不被3整除
  • 末位是3,不被5整除
  • \(293 = 7 \times 41 + 6\),余6,不被7整除
  • \(293 = 11 \times 26 + 7\),余7,不被11整除
  • \(293 = 13 \times 22 + 7\),余7,不被13整除
  • \(293 = 17 \times 17 + 4\),余4,不被17整除

七个素数全部检验完毕,无一整除。结论:293是素数

华蘅芳没有费马小定理,也没有任何现代的快速判素算法,但他的推理是严密的,方法是正确的。用欧洲数论的标准来衡量,这属于基础内容(古希腊的埃拉托斯特尼筛法已经包含了类似思路);但对于没有这个知识传统、必须从头走过这段逻辑的中国数学家来说,这是真正的独立工作。

李善兰的《考数根法》在技术上更为复杂,引入了类似费马小定理的方法——他独立发现了某些素数判别的充要条件,接近于 \(a^{p-1} \equiv 1 \pmod{p}\) 的思路。华蘅芳的工作在深度上逊于李善兰,但更注重清晰和实用。《数根术解》是一部教人怎么做、而不只是告诉你为什么的著作。他在《行素轩草稿》1893年续刻本中还收入了"数根演古"一篇,把中国传统的因数分解思路与素数判别联系起来,显示出他对这个题目的持续关注。


德·摩根是谁,为什么是他的书

在解释《决疑数学》为什么选择德·摩根的书之前,我们应该先认识一下这个人。

奥古斯都·德·摩根(Augustus De Morgan,1806—1871)出生于印度,在剑桥接受数学训练,后长期任教于伦敦大学学院(UCL),是那里的第一任数学教授。他今天最广为人知的成就,是以他命名的逻辑定律:

\[\neg(A \wedge B) \;=\; \neg A \vee \neg B\]\[\neg(A \vee B) \;=\; \neg A \wedge \neg B\]

用中文说:“非(A且B)等于非A或非B”;“非(A或B)等于非A且非B”。这两条规则,今天是计算机科学、布尔代数、形式逻辑的基础。德·摩根是逻辑代数形式化的早期推动者之一,他1847年的《形式逻辑》是这个方向的重要著作。

一个有意思的问题:华蘅芳在翻译德·摩根关于概率的书时,知不知道德·摩根在逻辑方面的工作?几乎可以肯定:不知道。德·摩根的逻辑工作在当时本身尚处于学术小圈子,而且逻辑形式化的意义要再过几十年才真正被数学界广泛认识。傅兰雅在选择翻译文本时,也没有选择德·摩根的逻辑著作——那在1880年的中国,找不到实用意义。

德·摩根的概率著作《论概率及其在人寿偶发事故和保险业中的应用》(An Essay on Probabilities, and on Their Application to Life Contingencies and Insurance Offices,1839年),选择起来倒是很自然。这部书有几个特点,使它特别适合翻译成中文介绍给中国读者:

第一,它有充分的历史叙述。 德·摩根是数学史家,他在书中花了相当篇幅介绍从帕斯卡、费马到拉普拉斯的概率论发展史。这对于完全没有概率论背景的中国读者极为宝贵:你不只是在学一套计算方法,你在了解这套方法是从哪里来的、为什么被发展出来的。

第二,它平衡了理论和应用。 德·摩根的书包含大量实际应用:保险精算、生命表、赌博数学、法律证据。这恰好契合《决疑数学》被翻译的现实需求——上海有保险公司,有商业合同纠纷,有需要评估不确定性的实际场景。

第三,技术深度合适。 拉普拉斯的《概率的分析理论》(1812年)在技术上更深刻,但要求的数学基础也高得多,充满了高等分析。德·摩根的书难度适中:严格而不艰深,完整而不冗长。它是一本面向受过数学教育、但不是专业数学家的读者写的书——这正是华蘅芳翻译工作的目标受众。

德·摩根本人的概率哲学立场,也与《决疑数学》的翻译风格暗合。他倾向于贝叶斯-拉普拉斯的认识论传统:概率是理性主体对不确定事件信念程度的量化,而不只是长期频率的记录。华蘅芳用"决疑数"来翻译 probability——“解决疑惑的数”——无意中准确捕捉了这种哲学立场:概率是关于知识不完整性的量化,而不只是对频率的计数。译者和原著者在哲学气质上,意外地找到了共鸣。


生命表与人寿保险计算:《决疑数学》最实用的一章

《决疑数学》第六卷专门讨论人寿保险的概率应用,这是全书从洋务运动视角看存在意义最直接的一章。书中附有完整的英国生命表,并详细演示了如何用这张表计算保险费率。让我们走进这套计算,看看它实际上在做什么。

什么是生命表?

生命表(life table)是一张统计表格,记录了一个假想人口群体(通常以100,000人为起点)在各个年龄的存活人数。最基本的两列是:\(l_x\),表示活到年龄 \(x\) 的人数;\(d_x = l_x - l_{x+1}\),表示在年龄 \(x\) 到 \(x+1\) 之间死亡的人数。

从这两列出发,最重要的概率是单年存活概率:

\[p_x = \frac{l_{x+1}}{l_x}\]

这是年龄为 \(x\) 的人活到 \(x+1\) 岁的概率。它的补数 \(q_x = 1 - p_x\) 是这一年内死亡的概率。《决疑数学》使用的是英国北安普顿生命表,由18世纪英国精算师理查·普莱斯(Richard Price)基于北安普顿城死亡登记簿编制,是19世纪英国保险业定价的通行依据。

计算多年存活概率

一个40岁的人活到50岁的概率,记作 \({}_{10}p_{40}\),是10个逐年存活概率的连乘积:

\[{}_{10}p_{40} \;=\; \prod_{k=0}^{9} p_{40+k} \;=\; p_{40} \cdot p_{41} \cdots p_{49} \;=\; \frac{l_{50}}{l_{40}}\]

这个公式非常直观:活到50岁的人数除以活到40岁的人数,就是一个40岁人活过这十年的概率。最终结果可以直接从生命表中读取,不需要做十次乘法。

一道精算题:死亡保险费率

一个40岁的男人,向保险公司购买一份10年期死亡保险:如果他在10年内死亡,保险公司赔付 \(S\) 元;如果他活过10年,则保费白交。精算上公平的一次性保费是多少?

从精算公平的角度,保费应该等于保险公司预期的赔付额。如果年利率为 \(i\),折现因子 \(v = (1+i)^{-1}\),则 \(k\) 年后赔付的1元,今天的现值是 \(v^k\)。

如果被保险人在第 \(k\) 年内死亡(年龄 \(40+k-1\) 到 \(40+k\) 之间),保险公司在第 \(k\) 年末支付 \(S\) 元,折现到今天是 \(S \cdot v^k\)。这件事发生的概率是 \({}_{k-1}p_{40} \cdot q_{40+k-1}\)。对所有可能的死亡年份求期望,精算上合理的一次性净保费是:

\[\pi \;=\; S \sum_{k=1}^{10} v^k \cdot {}_{k-1}p_{40} \cdot q_{40+k-1} \;=\; \frac{S}{l_{40}} \sum_{k=1}^{10} v^k \cdot d_{40+k-1}\]

每一项 \(d_{40+k-1} \cdot v^k\) 的意义是:在第 \(k\) 年死亡的那批人(共 \(d_{40+k-1}\) 人)所产生的折现赔付总额,除以最初的40岁人口总数 \(l_{40}\),就是每人应分摊的保费。《决疑数学》第六卷把这套计算做得非常详细,用具体的生命表数字逐行代入,给出不同年龄、不同保期的费率对比。

想象1880年上海的场景:一个宁波来的棉布商人,在英资怡和洋行替他的货物投保。保险合同用英文写,费率由英国精算师按照上述公式和生命表计算。这个中国商人完全不知道那个数字是怎么来的——他有没有被宰?保费是否合理?他没有能力评估。《决疑数学》第六卷提供的,正是评估这个数字所需要的全套工具。华蘅芳和傅兰雅翻译这一卷,给了中国读者一把钥匙——一把可以打开那扇写着"精算数学"的门的钥匙。


傅兰雅:不只是翻译家

傅兰雅(John Fryer,1839—1928)在《决疑数学》这段历史里,通常扮演一个配角:口译者,华蘅芳的语言中间人。这个定位低估了他。

傅兰雅1839年生于英国肯特郡,1861年受英国圣公会派遣赴香港,任圣保罗书院院长。1868年他做了一个让人意外的决定:与圣公会切断关系,接受江南制造局的聘请,以纯粹的翻译职位进入这个军火工厂的知识部门。他在那里待到1896年,整整二十八年。

他为什么离开传教士身份?他自己没有给出详尽的解释,但行为本身已经说明了一些事情:他对技术传播的兴趣,超过了对宗教传播的兴趣。制造局提供了一个更有效的平台,让他能把大量西方科技文本变成中文,而不是花时间布道和管理教务。他是一个实用主义者,正如洋务运动本身也是一种实用主义。

他在华二十八年间,与不同的中国学者合作,共翻译了230余种西方科技著作,涵盖数学、物理学、化学、化工、地理、生物、医药、矿业、工程、军事等几乎所有技术门类。仅与华蘅芳合作的数学著作,就有九种已刊,另有四种未刊稿本。他是整个晚清科技翻译运动中产量最高的外方参与者,没有之一。

他的中文之好,超出大多数来华传教士。他在《江南制造总局翻译西书事略》(1880年)中对翻译过程有清楚的第一手记录:持英文原书逐句口述,在脑中先转成中文大意,说给华蘅芳;华蘅芳边听边修改措辞,落笔写出。翻译《代数术》时,“一日数千言,不厌其艰苦,凡两月而脱稿”——两个人花了两个月,每天几千字,把二十五卷代数教材从英文变成中文。这是体力活,也是智力活。

傅兰雅对数学本身有相当的理解能力,能在口译时判断哪些地方需要展开说明、哪些地方可以压缩。《决疑数学》中所有数学公式都给出完整的推导过程,这一点超越了德·摩根英文原著的风格——这是中文版的主动补强,来自华蘅芳和傅兰雅的共同选择:华蘅芳坚持所有公式都要给出推演,傅兰雅能在口译时识别出哪里需要补充。两个人的合作是真正的智识协作。

1874年,傅兰雅在上海创办《格致汇编》,这是中国近代第一份专门刊登西方科技知识的期刊,内容涵盖化学、物理、地理、机械,以及部分数学。这份刊物在通商口岸的知识阶层里流传,是制造局翻译成果向社会扩散的重要渠道。《决疑数学》1880年7月"已译未刻"的记录,正是来自这份期刊。

1896年,傅兰雅离开中国,短暂回英后移居美国。1901年,他成为加州大学伯克利分校的东方语言教授,在那里工作到1914年退休。1928年去世,享年88岁。他是清末科技翻译史上的关键人物,也是少数几个在历史上留下充分文字记录的外方参与者之一。这些文字记录,让我们今天能够看到那个翻译现场的一些具体细节,而不只是两个名字挂在封面上。


那十六年:1880年译成,1896年才刻印

《决疑数学》在1880年7月前已经译出——这有《格致汇编》的同时代记录为证,称"傅兰雅、华蘅芳同译,已译未刻各书有《决疑数学》,棣麽甘撰,四本”。然而从1880年到1896年,书稿在制造局的圈子里流传了整整十六年,才由尧城周氏正式刊刻出版。这段时间差值得单独解释。

这十六年间,中国发生的事情足够多:1884年中法战争,1894年中日甲午战争,1895年《马关条约》——大清帝国在这十六年里经历了两场败仗和一场决定性的屈辱。洋务运动在甲午战后的舆论评价急转直下:造了那么多炮船,花了那么多钱,还是打败了。整个"学习西方技术"的叙事框架,在1895年后遭遇了深刻的信任危机。

概率论在这个脉络里处于一个尴尬的位置。它既不是能提升军事力量的技术(像冶金学),也不是能改善行政管理的工具(像测绘),它是一种思维工具,服务于商业判断和统计推理。1880年,制造局刚刚进入全盛期,翻译工作如火如荼,这样的书或许还找得到出版的理由。但到了1880年代中期,局内资金日趋紧张,翻译出版的优先序不可避免地向军事技术倾斜。

第二个原因是读者群的问题。要刊印一本书,出版者需要相信会有人买。概率论在1880年的中国,没有现成的读者圈:不懂数学的商人读不懂,懂数学的学者对概率论又没有学术兴趣(他们关心的是代数、几何、微积分,以及传统的勾股术和天元术)。制造局刊本通常靠机构经费支持而非市场销售,但这也意味着刊印什么取决于主管人员的判断——而没有紧迫性的书,往往就这么等着。

手稿在这十六年间并非完全湮没。《格致汇编》的记录说明它在学界有知名度,傅兰雅自己在格致书院的教学中,也可能使用过手稿内容。但正式刻印,等到了1896年——周学熙首次刊刻,“印行无几,流布甚稀”。次年(1897年),傅兰雅于格致书室再行铅印,同年还出现上海飞鸿阁石印本。直到1909年,才有周达的扬州校刻本。此时离译出已经将近三十年。

周达为什么要做扬州校刻本?他是晚清到民国初的数学家,自己做过斯特林公式的证明。他不是出于商业动机刊刻这本书,而是出于数学史的自觉:这是一部对中国数学发展有意义的著作,应该有更好的流通版本。他给《决疑数学》写的序文,明确提出了书稿沉寂多年的问题,带着一种惋惜的语气。在他看来,这本书来得太早——或者说,中国的数学土壤,还没有为这粒种子准备好。这句判断,放在整个晚清数学近代化的故事里来读,有相当的重量。

Chapter 51: 数学符号与术语的近代化

最难翻译的不是算法,是名字

数学语言并非中立的媒介。当一个文明选择用哪些词来描述数学对象时,它实际上是在做出某种哲学承诺——这些承诺会传播数百年,塑造学生初次接触概念的方式,将关于数学对象本质的假设编码进语言,影响哪些类比显得自然、哪些显得牵强。

中国传统数学几乎完全是语言性的。古典算法著作全部以散文写就:“今有……,答曰……,术曰……“每一步骤都以文字写出。没有表示未知数的符号,没有字母,没有可以作为对象来操纵的运算符。计算工具——算筹,后来是算盘——把运算保持在物理世界之中,而不是符号世界。你移动的是实物;中间步骤存在于平面或手中,而不是纸上。

这不是中国传统的缺陷,而是一种不同的选择。这个选择产生了深远的后果。

完整的术语演变对照

下表追溯了二十个最重要的中文数学术语的来源:

现代中文术语英文原词创词者/来源年代是否经由日本
几何geometry利玛窦-徐光启1607否(后来影响日语)
代数algebra李善兰-伟烈亚力1859
函数function李善兰-伟烈亚力1859否(日语借此字写「関数」)
变数variable李善兰-伟烈亚力1859
常数constant李善兰-伟烈亚力1859
系数coefficient李善兰-伟烈亚力1859
微分differential李善兰-伟烈亚力1859否(日语同字)
积分integral李善兰-伟烈亚力1859否(日语同字)
无穷小infinitesimal李善兰-伟烈亚力1859
对数logarithm《数理精蕴》1723
极限limit多人先后使用1870s–1900s部分经由日本
概率probability从日语「確率」转化1900s
方程equation传统词(含义扩大)古代→扩展
向量vector20世纪中国数学家1930s部分参考日语
矩阵matrix中国数学界1930s是(参考日语「行列」)
行列式determinant直接借自日语「行列式」1900s
集合set日语「集合」1900s
实数real number日语「実数」1900s
虚数imaginary number日语「虚数」1900s
复数complex number日语「複素数」简化1900s

注意这张表里鲜明的历史分界。1870 年前创造的术语,几乎全部是中国学者从英语原词直译的产物;1900 年后进入汉语的术语,大多是从日语借来的。这反映了两种截然不同的相遇模式:1850 年代,中国学者与英国传教士相对而坐,逐字逐句地争论如何把数学概念转化为自己的语言;1895 年之后,数以千计的中国留学生赴日求学,浸润在日语数学教科书中,回国时随身带回了一整套现成词汇。第一种方式更慢、更痛苦,却造出了更好的词;第二种方式更快,也不可避免。

“几何"这个词背后的故事

每种语言传统都有它埋藏已久的偶然,但很少有哪个偶然比"几何"这个词更妙。

1607 年,利玛窦与徐光启翻译欧几里得,面对"geometry"这个词。最直白的做法是意译:地量,或度量术。他们没有这样做,而是选择了"几何”——这是对"geo"在当时南方方言中的谐音仿造。

这是一次伪装成意义词的语音借用。而就在这里,意外发生了:几何在汉语里本是一个完全正当的古典词组,意思是"多少?有多少?"——所有度量活动最根本的问题。这次语音借用,偏偏落在了一组在数学语境中恰如其分的汉字上。

不过一两代人的时间,语音起源便被遗忘。“几何"被作为意义词来读:研究空间与形状的"多少"的学问。它在无人刻意为之的情况下,成了恰到好处的名字。

日制汉字词的历史机制

1868 年的明治维新把日本抛入了与中国 1842 年相同的语言危机:整套西方科学与数学词汇,必须用一种没有对应概念的语言来呈现。日本学者做出了与李善兰同样的结构性选择——从汉字中造新的复合词——但审美略有不同:他们更偏重关系的透明性,而非容纳的透明性。

李善兰看到的是函数(函,装在里面),日本学者造的是関数(関,相互关联)。李善兰看到的是積分(积累),日本人保留了同样的汉字。欧洲传统说的是 determinant(那个决定性的量),日本学者造了行列式(行与列的公式),中国人随后整体借用。

这条历史通道是活生生的、具体的。1895 年甲午战败之后,中国留学生赴日的洪流滚滚而来:1903 年已逾千人,1906 年超过万人。这些学生用日语学习,读日语数学教材,回国时翻译那些教材,随身带回了一整套日语数学词汇。到 1910 年,日译西方数学的术语体系已全面进入各层次的中国课堂。

结果便是今天每位说汉语的数学家所使用的词汇:一部分是李善兰 1859 年的创词,一部分是明治日本术语工坊的产物,两者融合得如此彻底,以至于大多数人已无法分辨哪个词来自哪个层次。

辛亥革命后的术语标准化

1912 年的中华民国继承了一套数学词汇——就像这个国家本身一样,是个拼凑体:李善兰的术语与日语借词并存,地区性变体彼此竞争,不同教材用不同的词表达同一个概念。

1916 年,教育部设立了审定名词委员会,负责统一数学、物理、化学各科术语。这个过程缓慢、充满争议,尚未完成时,中国数学学会便于 1935 年成立,更系统地接手了这项工作。

历经大约三十年,最终浮现的是任何单一来源都无法提供的东西:一套经过几代中国数学家集体过滤、在教学与研究需求中反复检验、并在真正的语言意识之中精炼而成的词汇。这个妥协并不完美,但以其方式而言是优雅的——它融合了李善兰时代"直接命名"的风格与明治日本"关系命名"的方式,服务于一个同时吸收了两种影响、并将其内化为自身传统的文明。


失败的术语与幸存的术语

任何大规模的术语造字运动,都会产生一批最终未能存活的词。1859年的数学翻译浪潮也不例外。

“天元"问题。 李善兰最初用"天元"描述代数未知数,遵循宋元天元术的传统。但当代数符号系统完整引入后,“天元"这个词的含义变得歧义:它既是传统中国代数技法的名称,又被某些人用来泛指一般意义上的未知数。两种用法的竞争,加之后来从日语引入了"变数”(variable)和"未知数"这两个区分更精确的词,“天元"最终退出了通用数学术语的行列,只作为历史术语保留在数学史著作里。

“自变数"与"因变数”。 李善兰创造了"函数”(function),但"自变量”(independent variable)和"因变量”(dependent variable)在19世纪还没有统一的中文表达。各地教材使用的词不一:有"自变量/因变量”,有"独立变量/从属变量”,有"定变量/随变量”。最终存活下来的"自变量"和"因变量",其汉语语义透明性比大多数候选词好——“自行变化的量"和"因之而变的量”,任何初学者看到字面意思都能猜到指什么。语义透明度是术语存活的关键因素之一。

“无穷"的竞争。 李善兰用了多个不同的词来描述无穷大的概念,包括"无穷大"“无穷小"“极大极小"等。从日语传来的"无限"一词,与中文固有的"无穷"在某些情境下竞争,今天两词均保留,但语义分布有所分化:数学分析里的"极限"和"无穷大量"用"无穷”,日常语境用"无限”,数学专名"无穷级数"等则固定用"无穷”。

算符号的标准化。 与术语同样重要、却往往更少被讨论的,是数学符号的标准化。李善兰和伟烈亚力的译作引进了加减乘除的西方符号(\(+\)、\(-\)、\(\times\)、\(\div\)),但在很长一段时间内,中国教材并不统一使用这些符号——有些继续用文字,有些用部分符号,有些用与西方略有不同的写法。

下面的历史特别有意思:分数线的引进方式。中国数学传统中,分数自古就有,写法是分子在上、分母在下,用竖排,中间并无横线——两个数字直接叠放,读者理解上下关系。西方带来的分数线(\(\frac{a}{b}\))最初被一些编者认为"多此一举",但横排印刷的普及迫使中文数学采纳了分数线,因为横排文字中,无横线的分数叠排在视觉上极度不清晰。这是印刷技术对数学符号选择的直接影响——一个很少被提到、却完全真实的物质条件。

等号的情况类似。古典中文数学从无等号,等关系用"得……“或"答曰……“来表达。\(=\) 号的引进,意味着把等式从一种句法关系变成了一种可以在纸上两侧分别操作的对称结构。这个变化不只是符号层面的,它实际上改变了对等式的理解方式:等式不再是"计算结果”,而是"可以两侧同时操纵的关系”。代数操作成为可能,根本上依赖于这个语义转变,而这个转变又依赖于等号这个视觉符号。

符号引进时间引进渠道竞争情况
\(+\)、\(-\)1859年(《代数学》)伟烈亚力-李善兰几乎无竞争,迅速统一
\(\times\)、\(\div\)1859年代同上,以及同文馆教材早期有"以……乘……“文字写法竞争
\(=\)1859年代同上早期"得"“答曰"写法竞争
\(\frac{a}{b}\)1860年代同文馆数学课竖排叠写形式长期与之并存
分数线1870年代正式普及横排印刷普及强制统一
根号 \(\sqrt{\phantom{a}}\)1870年代翻译馆数学书“开平方"“开方"文字写法竞争
\(\pi\)1880年代翻译馆、同文馆“圆周率"文字表达继续使用
求和符号 \(\sum\)20世纪初留日学生带回无竞争,直接采用
积分号 \(\int\)1859年(《代微积拾级》)伟烈亚力-李善兰几乎无竞争

二十世纪的术语审定运动

1916年,北京政府教育部设立"审定名词馆”,其数学分组开始系统整理数学术语,目标是消灭各地教材的混乱局面。第一批审定结果于1918年公布,内容涵盖小学至中学数学的常用词汇约三百条。这个数字看起来不大,但它标志着一个原则:数学术语不再是翻译者的个人选择,而是国家标准化行政的对象。

1934年,中国数学学会成立,承担起学科内部的术语标准化职能。学会下设名词委员会,从实际研究者的角度对教育部的审定结果提出修订。有几个著名的分歧:

“matrix"一词的争议持续了最久。“矩阵”(矩,方形尺;阵,排列)是一个意义透明的新词,但"行列式”(源自日语"行列式”)已经在教材中广泛流通。最终的解决方案是区分:matrix(矩阵)指矩形数阵本身,determinant(行列式)指从方阵计算出的那个数。两词并存,语义分家。这个区分今天已完全固化,但它不是从一开始就清晰的,而是经过了数十年的概念澄清才稳定下来的。

1949年之后,中国大陆与台湾的术语体系在几个分支数学上出现了不同选择,这些分叉至今仍然存在,是一个还在持续演变的历史进程。

“函数"的哲学挑战:一个概念怎么翻译

李善兰创造"函数"这个词的过程,本身就是一个小型哲学事件,值得单独讲述。

英文"function"在17—19世纪的数学史上,语义本身就在演化。莱布尼茨(1694年)最初用它指曲线上各点的量,欧拉(1748年)在《无穷小分析引论》中给出了更接近现代的定义:一个"由变量以及常数以任何方式组成的解析表达式”。到了狄利克雷(1837年)手里,函数才被定义为:对于每个 \(x\) 值,都有唯一 \(y\) 值与之对应的规则——不要求有公式,只要求有对应。

李善兰与伟烈亚力翻译《代数学》时,面对的是欧拉意义上的函数概念(有公式、有解析表达式)。他给出的汉字"函”,在古汉语里意思是"包含”——函数,即"包含(变量的)数"或"将某物装于其中的数量关系”。这个解释不算完全准确,但它捕捉到了函数概念的一个核心直觉:函数把一个量"装进去",输出另一个量。

从算法思维看,函数概念的引入颠覆了一个更基本的数学观念。中国传统数学中的"数",始终是具体的计算结果。算法是过程,而不是对象。《九章算术》的每道题目,给出的是"术"(计算步骤),而不是"公式"(一个独立存在的符号对象)。而"函数"作为数学对象,要求你把一个计算过程当成一个独立存在的东西来讨论,就像讨论一个数字一样。这是从算法思维到对象思维的跃迁,是认知层面最深刻的变化。

李善兰能否理解了这个深度?我们无从确知。但他的翻译选择说明他至少捕捉到了函数概念的关键特征——两个量之间的相互包含关系——即使表达的只是概念的一个切面。这个切面已经足够:一百六十年后,“函数"这个词和它承载的概念已经完全内化为中文数学语言的一部分,没有任何使用者会觉得它是外来词。

微积分符号的本土化困境

《代微积拾级》(1859年)引入的微积分符号体系,在视觉上与欧洲数学完全一致:

  • 微分记为 \(dy\)、\(dx\),导数记为 \(\frac{dy}{dx}\)
  • 积分号 \(\int\) 用莱布尼茨的原创符号,并附有"积"字说明
  • 极限概念用"渐近于……“的散文表述,尚未有固定符号

这套符号体系与中文文字混排时,产生了一个在今天看来很有趣的版式问题:1859年的刊本是竖排印刷,但数学公式必须横排——因为分数线是横的,等号是横的,微分符号是横竖混合的。解决方案是让数学行横排嵌入竖排文字之间,成为版式上的"异物”。

这个版式矛盾,在某种意义上象征了整个术语近代化的本质困境:西方数学的符号系统预设了横排书写、字母代数、关系符号;中文书写系统预设了竖排、表意汉字、语言叙述。两者相遇,必然有一方做出结构性让步。让步的方向,在100年的历史中越来越清晰地倒向了西方模式——今天的中文数学教材全部横排,全部用字母代数,全部用西方符号。这不是被迫,而是在实践中反复验证后的选择:横排+符号代数,在纸面计算的效率上,优于竖排+文字叙述。

日本的中间角色:明治数学术语的创制机制

1868年至1900年间,日本经历了一次与中国1850年代相似但更快速、更彻底的数学语言重建。理解这个过程,有助于解释为什么那么多数学术语最终是通过日语进入现代汉语的。

明治初期,日本翻译西方数学教材的工作集中在文部省(教育部)和几所帝国大学的数学教授手中。与李善兰-伟烈亚力式的两人对坐不同,日本的术语工作更多是委员会性质的:多位学者集中讨论,对每个新概念的汉字译法进行辩论和投票。代表人物包括菊池大麓(1855—1917,剑桥大学数学学士,英国归来后主导了明治数学术语的系统化工作)和藤泽利喜太郎(1861—1933,哥廷根受训,微分几何专家)。

菊池大麓确立了一个造词原则,与李善兰的风格有所不同:优先选择语义关系透明的汉字组合,而不是语音仿造或单纯的字面意义。“行列式”(determinant,矩阵的行列构成的式子)正是这种风格的典型——它告诉你这个数学对象由什么构成,而不仅仅是命名它。

这套术语随着留学生潮水般地进入1900年后的中国教材。其中有些术语被中国数学界接受,有些被抵制,少数几个被改造。大体上,凡是中国本土已有良好译词的,日译词未能取代;凡是中国本土尚无词的,日译词几乎无阻力地直接进入。这是一个语言经济学的结果:翻译成本高的领域,现成的外来词最受欢迎。

极限这个词的曲折旅程

让我们把某一个具体的术语放到显微镜下仔细看——“极限”(limit)。这个词的历史,几乎就是整个术语近代化运动的缩影。

1859年,李善兰与伟烈亚力翻译《代数学》,遭遇了"limit"这个概念。《代数学》卷六的标题是"论限及变数”——李善兰用了单字"限",干净,简洁,有边界之意。《代微积拾级》里,极限概念则主要靠散文式表述:“其差渐趋于无穷小”——并没有一个固定的术语词,更没有专用符号。

这是个哲学难题,不只是翻译难题。“极限"这个概念在欧洲数学中到19世纪中叶本身还是半透明的:牛顿用"流数"回避了它,莱布尼茨用"无穷小"蒙混过去,柯西在1821年才给出接近现代的定义,魏尔斯特拉斯在1860年代才将其彻底严格化。李善兰翻译时对应的英文原本——罗密士(Loomis)1850年代的教科书——在正式定义极限方面本身就并不严格。

所以"极限"这个词在中文里的稳定,经历了三个阶段。第一阶段(1860年代—1880年代):各人用各人的词,“限"“渐近值"“无穷近"“限数"都在流通,没有共识。第二阶段(1890年代—1900年代):留日学生带回日语的「極限」,与中文本土的各种表达展开竞争。第三阶段(1910年代以后):“极限"作为双字词胜出——“极"字(极端的、终极的)与"限"字(边界)的组合,传达出"最终边界"的直觉,比单字"限"更有哲学分量,也比"渐近值"更简洁。

今天你打开任何一本中文微积分教材,看到的

\[\lim_{x \to a} f(x) = L\]

这个写法中,“lim"是拉丁文缩写,而汉字"极限"是两千年数学语言演化和六十年近代化挣扎共同留下的结晶。

向量与矩阵:两个20世纪才出现的新词

有些数学概念的中文名字,来得比大多数人想象的晚。

向量(vector)是一个例子。向量概念在欧洲数学中到19世纪才完全成形:由哈密顿(Hamilton)在四元数理论(1843年)中系统引入,由吉布斯(Gibbs)和赫维赛德(Heaviside)在19世纪末简化为今天通用的三维向量分析。晚清翻译的数学主要集中在代数和微积分,而非向量分析,所以"向量"这个概念几乎没有在晚清数学文献中单独出现。

“向量"这个词在民国初年才逐渐稳定。“向"字传达了方向性,“量"字传达了可量度性——这个组合比日语的「ベクトル」(直接音译vector)更为透明,也比各种候选的汉字词更简洁。1930年代的术语审定工作将"向量"定为标准,并将其与"数量”(scalar,无方向的量)对立,使得这对概念的中文形式自然地传达出两者之间的结构关系——一个有方向,一个没有。

矩阵(matrix)的故事更晚,也更曲折。Matrix这个词是英国数学家西尔维斯特(Sylvester)在1850年造的——他用"matrix”(拉丁文:子宫、母体)来命名一个可以派生出行列式的矩形数阵,强调它作为行列式"生产者"的地位。凯莱(Cayley)在1858年建立了矩阵乘法规则,给出了矩阵代数的完整框架。

日本学者造的词是行列(こうれつ),强调它的结构——行(rows)与列(columns)构成的阵列。中文在引进时面临一个选择:直接沿用"行列”(这已被用于"行列式”),还是另造新词?

最终,1930年代的中国数学界给出了清晰的区分:matrix是矩阵,determinant是行列式。“矩"字在古汉语里是木工画直角的曲尺,引申为"方形的、直角的”;“矩阵"即"方形的数阵”。这个词的视觉意象是准确的,也足够简洁。“行列式"则描述"从矩阵的行与列里算出的那个数”——两个词并存,语义分工,在今天的中文数学教材里已经完全固化。矩阵是对象,行列式是从对象算出来的一个数:

\[\det(A) = \begin{vmatrix} a & b \\ c & d \end{vmatrix} = ad - bc\]

左边的矩阵 \(A\) 是矩阵,右边的 \(ad - bc\) 是它的行列式。一词两义的问题,靠两个汉字词解决了。

函数与関数:至今未合拢的东亚裂缝

有一个术语争议,到今天仍然悬而未决:函数関数(かんすう)。

中文用"函数”(李善兰1859年造的词),日文用「関数」(明治时期造的词)。两个汉字字形不同——“函"是包含之意,“関"是关联之意——传达了略有不同的哲学直觉。“函数"强调:一个数学对象"装着"另一个数学对象;“関数"强调:两个量之间存在"关联关系”。从今天数学分析的角度看,狄利克雷意义上的函数(任意的映射规则,不必有公式)用"関"更准确,而欧拉意义上的函数(解析表达式)用"函"更接近直觉。两个词各有其道理。

数学家陈省身(以及他的一代人)曾建议统一这两个词,但由于中文和日文数学社群各自已有根深蒂固的用法,统一从来没有实现。今天的局面:中文用"函数”,日文用「関数」,台湾中文用"函数”,韩国用"함수”(汉字词,对应日文的韩语读音)。一个数学概念,在东亚书写出四种不同的形式——这是历史偶然性留下的永久印记,是术语近代化运动没有完成的那一部分。

一段对话的悬停:从"今有"到 \(f(x)\)

把这整个故事收拢,可以做一个简单的对比实验,让数学语言的变化变得可以感受,而不只是可以叙述。

1880年(同文馆算学课艺风格的中文表述):

“今有函数,其变数为甲,函数式为甲之三次方减六乘甲之平方加九乘甲加二。试求此函数之极大极小值。”

1920年(规范化后的现代中文表述):

设函数 \(y = x^3 - 6x^2 + 9x + 2\),求其极大值与极小值。

这两段文字之间,相隔不过四十年。但语言发生的变化几乎是全面的:变量从汉字(甲)变成了拉丁字母(\(x\));运算从文字描述(“三次方"“六乘”)变成了代数符号(\(x^3\)、\(6x^2\));等号(\(=\))从无到有;“函数式"缩短为"函数”;“极大极小值"固化为标准数学术语。

这四十年发生的,是一场安静的革命。不是一场革命运动的结果,而是几十个翻译者、几百个编写教材的教师、几万个学生和几场委员会讨论共同造成的。没有人拍板说"从今天起改用拉丁字母”,但到1920年,事情就是这样了。语言的近代化,从来不是被宣布的,它是被用出来的。

一个词的存活率:伟烈亚力与李善兰术语的实际命运

李善兰和伟烈亚力1859年创造的那批术语,命运各不相同。根据汪晓勤对《代微积拾级》术语沿用情况的调查:代数学术语中约44%沿用至今,解析几何术语约50%沿用至今,微积分术语约65%沿用至今。

微积分术语存活率最高,这有一个有趣的解释:李善兰在翻译微积分时创造的词,是完全从零开始的——中文里没有对应的旧词来竞争,所以他的选择占据了一个没有历史负担的空白。反观代数术语,中文传统里有"方程"“元"“次"等已经存在的词,而李善兰创造新词时有时会与旧词产生歧义,导致存活率相对较低。

那些没有存活的词呢?它们往往死于以下原因之一:语义太模糊(如"越式"用来表示"超越式”,读者不能从字面猜出含义);与日语同类词竞争失败(如"通径"被"参变量"取代);或者概念本身在后来的数学发展中被更精确的概念取代(如"限"被"极限"取代)。

语言的自然选择,在数学术语的世界里同样无情:最适合记忆、最容易从字面猜出含义、最能与相关术语形成系统的词存活了下来;其余的,被遗忘了。

π、e、i:三个符号的中文化

在所有数学符号中,有三个常数的符号命运格外典型。

π(圆周率):在中国传统数学里,这个量一直叫"圆周率"或"周率”,从来没有给它一个独立的符号——因为算法写法不需要符号,只需要一个数值(刘徽算出的3927/1250,祖冲之算出的355/113)。伟烈亚力和李善兰翻译《代微积拾级》时,引入了希腊字母π作为这个比值的符号,同时保留了"圆周率"作为汉字名称。今天,π和"圆周率"在中文数学里并存:在公式里用π,在文字里说"圆周率”。这是中文数学双轨并行的一个典型案例。

e(自然对数的底):这个常数在中文里没有特别的名字,就叫"自然常数e"或"自然对数的底数”。欧拉在1736年用e来代表这个约等于2.71828的无理数,中文直接保留了这个字母。没有人尝试给e造一个汉字名——也许是因为"自然对数的底数"这个解释性名称已经足够清晰,不需要一个独立的词。

i(虚数单位):虚数的中文名"虚数"来自李善兰的翻译——“虚"对应"imaginary”(想象的、不真实的),这个对应非常直接。虚数单位的字母i,同样直接保留。今天中文数学里,虚数的符号完全是西方的(i、复数的a+bi形式),而名称是中文的(虚数、实部、虚部、复数)。这种符号西方化、名称中文化的双轨模式,是整个数学近代化过程的缩影。


Chapter 52: 清末数学教育——同文馆、算学丛书、新式学堂

从外语学校到数学课堂:同文馆的扩张

同文馆,1862 年设于北京,最初是一所语言学校。朝廷的最初用意直截了当:培养能够与外国人谈判的翻译。教英语、法语、俄语。

几年之内,洋务运动的主导者——恭亲王奕訢、曾国藩、李鸿章——已经得出结论:没有数学的语言能力是不够的。“西洋制造之物,机器枪炮,无一不出于天文算学。“没有底层的科学知识,语言上的流利,如恭亲王所言,不过是"学了皮毛”。

1867 年,朝廷批准同文馆扩充,增设天文算学馆。1868 年,李善兰被任命为该馆数学教习,在此执教十三年,培养学生逾百人。

他主持的课程是一个雄心勃勃的七年序列,对任何十九世纪的欧洲数学学生来说都不陌生:

  • 第一、二年(算术): 笔算整数与分数;比率与比例;百分比与利率。核心任务是用西方笔算取代算盘——训练学生在纸上用书写数字来计算,而不是用手拨弄算盘珠。
  • 第三年(代数): 用字母表示已知量与未知量;二次方程;简单不等式;代数处理比率与比例。
  • 第四年(平面几何): 欧几里得《几何原本》主体内容,从公理出发,论证关于点、线、面、圆的定理;相似形;勾股定理的欧几里得式证明。
  • 第五年(三角学): 正弦、余弦、正切及其应用;正弦定理与余弦定理;球面三角简介。
  • 第六年(解析几何): 坐标系;直线与圆的方程;圆锥曲线(椭圆、抛物线、双曲线)的方程与几何性质。
  • 第七年(微积分): 导数的定义与基本法则;极值问题;不定积分与定积分;简单常微分方程。

这个七年序列,以欧洲标准衡量,是大学预科加大学一年级的数学课程。在 1870 年代的北京,它是一场悄无声息的革命。

《同文馆算学课艺》——中国最早的微积分作业

学生的习题与考试解答被汇编成《同文馆算学课艺》,今存中国科学院自然科学史研究所图书馆。它是中国最早的微积分习题集。

一道具有代表性的微积分题(1880 年代水平): 求 \(y = x^3 - 6x^2 + 9x + 2\) 的极大值与极小值。

解:

  1. 求导:\(y' = 3x^2 - 12x + 9 = 3(x^2 - 4x + 3) = 3(x-1)(x-3)\)
  2. 令 \(y' = 0\),解得 \(x = 1\) 与 \(x = 3\)
  3. 在 \(x=1\) 处:\(y'' = 6x - 12 = -6 < 0\),故 \(x=1\) 为极大值点,\(y_{\max} = 1 - 6 + 9 + 2 = 6\)
  4. 在 \(x=3\) 处:\(y'' = 18-12 = 6 > 0\),故 \(x=3\) 为极小值点,\(y_{\min} = 27 - 54 + 27 + 2 = 2\)

这道题放进任何二十一世纪的微积分教材都毫无违和感。它在 1880 年代的北京、用中文被解出这一事实本身,就值得记录。

一道概率题: 一袋中有 4 个红球和 6 个白球,随机取出 3 个,求恰好取到 2 红 1 白的概率。

\[P = \frac{\binom{4}{2}\binom{6}{1}}{\binom{10}{3}} = \frac{6 \times 6}{120} = \frac{36}{120} = \frac{3}{10}\]

一道几何证明: 证明圆内接四边形的对角之和等于 180°。

这些习题说明,到 1880 年代,同文馆已经完成了一件真正不凡的事:它创造了一个能够用中文思考整套西方十九世纪本科数学的小型群体。几十人,不是几千人。但这是一个开始。

江南制造局的翻译成就

江南制造局翻译馆,是同文馆绅士式教育的工厂化对应物。据《中国数学史大系》第八卷,从 1853 年到 1911 年,翻译馆共译出西方数学著作 164 种——约占同期中国所有西方自然科学译著的三分之一。

翻译内容的演变,折射出中国认为自己所需的东西:

  • 1860 年代: 从基础数学开始——算术、初等代数、平面几何,先打地基。
  • 1870 年代: 中等层次——微积分(华蘅芳与傅兰雅合译的《微积溯源》等)、解析几何、三角学。
  • 1880 年代: 高级专题——概率论(《决疑数学》,1880 年)、微分方程、球面三角。
  • 1890 年代以后: 触及当时数学前沿的专门译著:射影几何、数论专题。

1902年壬寅学制:数学成为全国必修课

1902 年,清廷颁布壬寅学制——中国第一个全国统一的现代学校教育体系。数学在各层次均列为必修课:

  • 初等小学(7 岁起): 算术——整数、简单分数、实用度量衡、商业计算(利率、折扣)
  • 高等小学: 较高级算术、比率、简单几何度量
  • 中学: 代数(一次、二次方程,不等式,指数);平面几何(欧氏主要定理,附证明);平面三角;初步解析几何
  • 高等学堂(大学预科): 解析几何(圆锥曲线);微积分基础——学生须能计算简单函数的导数与定积分

这个框架,就其基本结构而言,是今天中国中学与大学低年级数学课程的骨架。壬寅学制是制度上的分水岭:数学从此不再是同文馆与江南制造局那一小批精英的专属领地,而成为原则上每个接受现代教育的中国人应有的权利。

晚清数学的民间传播网络

同文馆是官方的,江南制造局翻译馆也是半官方的。但数学知识在晚清中国的传播,从来不只靠官方渠道。在北京和上海的官方机构之外,还有一张民间的传播网络,它的节点是私人出版商、地方书院和自发涌现的学术期刊。没有这张网络,很多重要的数学成果会在官方体系的空隙里悄然消失。

丁取忠(1810—1877)是这张民间网络中最重要的节点之一。他是湖南长沙人,一生做的核心工作不是创造新的数学,而是把别人创造的数学保存下来。他主持编纂的**《白芙堂算学丛书》**,收录了罗士琳、夏鸾翔、骆腾凤、顾观光、时日醇、黄宗宪等人的著作——其中许多,如果没有这套丛书,极可能已经在太平战乱的烽火中永远消失。《白芙堂算学丛书》不只是一套书,它是一整代晚清数学家工作的档案馆。

陈志坚(1844—?),字思九,号紫简,江苏昆山人,光绪五年(1879年)举人。他在1890年考进士不第之后绝意仕进,转而专攻数学,先后在青溪书院、融斋精舍和南菁高等学堂教授数学,是晚清典型的"私学传道"型数学家。他的代表作《求一得斋算学七种》(1904年刊本)涵盖多个方向:《整勾股释术》系统讨论整数勾股形的造法,给出用参数 \(m, n\) 表达 \((a, b, c) = (m^2 - n^2, 2mn, m^2 + n^2)\) 的五种等价公式;《连分数开方》研究用连分数逼近方根——这一方向在乾嘉学者那里已有开端,陈志坚将其系统化。他还有《微积阐详》五卷,是晚清独立研习微积分的产物,可与李善兰、夏鸾翔的路线并列,但影响力有限。

周达(1879—1949),字美权,安徽建德人,是晚清数学史上一个跨世纪的过渡人物。他自幼通晓古算,熟读《测圆海镜》《四元玉鉴》《数书九章》,又自修西算,贯通代数与微积分。更难得的是,他在1900年代初在扬州发起组建知新算社——这是中国历史上有明确记载的最早民间数学学会,由他出任社长,成员涵盖扬州、仪征、慈溪等地的同道中人,定期讨论数学问题,“嘤鸣和声,商榷得失”。1902年冬,他受知新算社委托赴日访问,写成《调查日本算学记》,记录了日本的数学教育制度和出版情况,是晚清中国人了解邻国数学现代化的珍贵文献。在具体数学成就上,周达研究了垛积术(高阶差分求和)、循环小数理论,并证明了斯特林公式——这是近代渐近分析的核心结果,在晚清的民间数学圈子里能独立接触到这一定理,已属不易。他还从日本数学家长泽龟之助处获知帕普斯连圆定理(Pappus’ arbelos),回国后撰成《巴氏累圆奇题解》,随即传回日本,被部分译为日文流传,成为晚清中日数学交流的一段佳话。

刘彝程(字省庵,江苏兴化人,生卒年不详)是晚清最重要的数学教育家之一,也是连接乾嘉传统与西方数学两个时代的关键人物。他的父亲刘熙载是道光朝进士,博通经学,早年曾授刘彝程《天元正负歌》,由此激发了他对数学的终生热情。青年时,他先后结识了丁取忠、李善兰——李善兰称他"后生可畏”——并研读了董祐诚、项名达、徐有壬、戴煦等弧矢级数名家的著作。此后在上海广方言馆和求志书院执教逾二十年,培养出华世芳、崔朝庆等一批活跃的数学家。他自己的研究集中于整数勾股形(探讨满足 \(a^2+b^2=c^2\) 的整数三元组的系统分类)和垛积术(有限差分求和)。《简易庵算稿》是他独立数学著作的汇编,于光绪二十六年(1900年)由江南制造局刊行。刘彝程是那种比发现者更稀少的人物:一位能把高深数学传授给下一代的教师,在最需要知识传递的时代担起了这个责任。

晚清数学的民间传播还有另一个有趣的侧面:组合游戏数学。清代学者在传统纵横图(幻方)之外,还记录了一种叫镶符问题(又称移棋问题)的组合谜题:将黑白棋子各 \(n\) 枚排成一行(黑子在一侧,白子在另一侧,中间空位),通过一套特定的"镶变"规则(每次将相邻两子跳过若干格填入空位),把初始的黑白分离状态变换成黑白交错状态。康熙年间褚人获的《坚瓠集》最早记录了三对到十对棋子的移法,清代经学家俞樾继续推广到二十对。这类问题在计算机科学的排列重组框架下可以得到完整的代数描述——每个"镶变” \(T_k\) 对应一个置换——是中国传统组合游戏传统与现代组合数学相衔接的有趣案例。

1895 年,在湖南浏阳出现了一所私立数学书院——浏阳算学馆,由当地改革派士人创办,是戊戌变法前夕遍布各省的民间学术运动的一部分。这所书院兼教中西数学,把《九章算术》的传统算法与西方代数几何并排陈列,让学生自己去比较和取舍。它的存在本身说明了一件事:到 1895 年,在省城以外的地方,已经有中国人相信数学教育是值得私人出资兴办的事业。

然后,在 1897 年,中国历史上第一本数学期刊诞生了。

黄庆澄在杭州创办了《算学报》,以月刊形式出版,内容包括原创数学文章、西方数学翻译、读者来信讨论,以及数学题目征解——这最后一项,是现代数学期刊的经典特征:读者投稿解题、编辑择优刊发。1899 年,上海出现了另一本同名的《算学报》,由朱宪章主编。两本期刊的短暂并存,反映了世纪之交中国知识界对数学普及的真实渴望。它们出现得太早,很快就停刊了。但它们的出现本身,标志着中国数学传播方式的现代转型:从书到期刊,从个人传授到公开讨论,从闭合的学者圈子到向不特定读者开放的知识市场。

由此,晚清数学知识的传播可以归纳为三条平行渠道:

一是官方机构渠道——同文馆、江南制造局翻译馆——服务于官员、技术人员和致用之学,翻译西方教材,培养实用人才。

二是私人丛书渠道——以《白芙堂算学丛书》为代表——服务于学者圈内的知识保存与流通,把本土数学成果系统整理,防止散佚。1896年前后,这一渠道出现了规模更大的丛书尝试。邵蕙沅辑《中西算学丛书初编》(上海鸿宝斋,1896年石印),汇聚利玛窦/李之藻的《同文算指》、王锡阐的《晓庵新法》、江永的《数学》以及夏鸾翔、焦循、戴煦等人的著作,是第一部将明末西学东渐成果与乾嘉本土数学系统并陈的石印丛书。同年,测海山房刊出《中西算学丛刻初编》(上海玑衡堂石印),收录朱世杰《算学启蒙》、华蘅芳《学算笔谈》、傅兰雅/华蘅芳合译的《代数术》《微积溯源》等,同时收入罗士琳的《四元玉鉴细草》和阮元/罗士琳的《畴人传》,将中算经典、晚清本土数学和西方译著三个维度合为一编。1898年,刘铎辑《古今算学丛书》(上海算学书局石印),以更宏大的规模收录了从《周髀算经》到《几何原本》前后两个九卷本的完整链条,再加上邹伯奇的校勘研究、程瑶田的考证等——这是晚清最全面的一次中算文献整理工程,编者刘铎同时编有《若水斋古今算学书录》书目,两者配合使用,是当时研究中算史的重要工具书。

三是新式期刊渠道——以两种《算学报》为代表——服务于更广泛的有识之士,试图把数学讨论从私人书斋引向公共空间。

1902 年壬寅学制颁布,全国性的现代数学教育体系建立,这三条民间渠道的历史使命才宣告完成——它们用自己的方式,撑过了官方体系建立之前那段最危险的空窗期。


同文馆的现实困境:生源、师资与制度阻力

同文馆的数学教育,在制度设计上颇为完善,但在现实操作中却面临着一系列根本性的困难。

生源问题最为棘手。 同文馆初设时,招收的学生多为满汉旗人子弟,年龄偏小,数学基础近乎于零。1867年增设天文算学馆后,招收范围扩大到三十岁以下的举人、进士、翰林等具有正式科举出身的人。但对这批人来说,他们已经在科举考试中投入了十余年甚至二十年的时间;要在三四十岁时转向西方算学,学习微积分,阻力是真实的。恭亲王在给皇帝的奏折中承认,报名天文算学馆的合格人选"甚属寥寥”。

师资的不稳定性。 李善兰于1868年就任同文馆数学教习,一直工作到1882年去世,是同文馆历史上任期最长的数学教师。但他的继任者,无论是中国籍的汪凤藻,还是外籍的丁韪良(William Martin,负责总体教习)和赛默尔(Summers),都没有达到李善兰的学术水准。问题不在于人的选择,在于当时中国根本就没有足够多的现代数学受过良好训练的人才来担任教职——同文馆正是为了培养这类人才而建立的,但在人才培养出来之前,它必须依赖现有的不足。这是所有从零开始的现代化教育机构都无从规避的逻辑困境。

考试成果的记录。 从《同文馆算学课艺》和相关记录来看,同文馆在1870至1890年代确实培养了一批能够处理大学预科水平西方数学的中国人。但这批人大多数——蔡锡勇、汪凤藻、左秉隆、杨兆鋆等——毕业后都转入了外交和洋务系统,担任翻译和外交官,而没有回到数学本身。同文馆的制度设计,从来就不是为了培养数学研究者,而是为了培养具有现代科学常识的实务人才。这个目标,它确实达到了。

广方言馆与上海的平行体系

北京同文馆之外,1863年李鸿章在上海创办了广方言馆,后并入江南制造局。广方言馆的数学教育走了一条略有不同的路:它同时雇用了中国数学家(以华蘅芳门下的学生为主)和外国教师,使用制造局自己翻译出版的教材,更强调实用数学对工程与军事的服务。

广方言馆的一个重要遗产是培养出了一批能够自行编写教材的中国数学教师。刘彝程(广方言馆数学教习,任职逾二十年)就是其中最具代表性的人物。他根据自己的教学经验整理出《简易庵算稿》,这部书虽然最终由制造局在1900年刊行,但实质上是二十年课堂经验的提炼。它不是翻译,是原创性的综合工作。这条线索值得注意:在师资问题上,清末的答案最终不是持续依赖外籍教师,而是培养出了第一批能独立编写教材的中国数学师资。

1898年维新运动与数学教育

1898年的百日维新,虽然只持续了一百零三天,却产生了深远的间接影响。维新派上书的核心议题之一便是教育改革,其中对数学教育有具体的要求:废除只考文章的乡试,代之以包含自然科学内容的新式考试。

这个方案在1898年没有实施,但它说明了一件事:到19世纪末,数学作为现代国家所需的基础知识,已经在政治精英中有了广泛的共识——不只是洋务派官员,而且是湖南的维新志士和翰林院的激进分子。

戊戌变法失败后,部分维新人士亡命海外;但他们推动的某些教育思想,在1900年代初以更温和的形式重新进入政治。张之洞的《劝学篇》(1898年,恰在政变前夕)明确提出"中体西用"的框架,在保存儒家经典核心地位的前提下,将西方数学、自然科学纳入必要的辅助知识。这个框架为1902年的壬寅学制提供了意识形态上的背书:数学可以进入课程,但这不是"西化”,而是为了更好地"中体”。

这套修辞在今天看来有些奇特,但它在当时至关重要:它使那些原本抵制西方课程的保守官员接受了一个他们不需要承认失败、只需要承认"补充"的改革框架。概念上的妥协,换来了制度上的变革。

算学丛书运动:民间出版的补位

在官方机构之外,晚清涌现出了一系列私人算学丛书,扮演了类似于学术出版社的角色,把分散的数学著作汇聚成可以流通的出版物。

其中最重要的三部:

《白芙堂算学丛书》(1875—1882年,丁取忠主编):收录罗士琳、夏鸾翔、骆腾凤、时日醇、黄宗宪等人的著作,是晚清本土数学研究成果最重要的汇编,不少著作如果没有这套丛书,极有可能永久消失。

《中西算学丛书》(1896年,邵蕙沅辑):第一部将明末西学东渐成果与乾嘉本土数学系统并陈的丛书,将利玛窦时代的翻译与清代学者的研究放在同一个框架内展示,传递了一个宏观叙述:中国数学经历了两次与外部的接触,每次接触都带来了深刻的变化。

《古今算学丛书》(1898年,刘铎辑):最宏大的一次整合尝试,从《周髀算经》一路排到李善兰、华蘅芳的翻译著作,是晚清最完整的一次数学文献整理工程,配套出版的《若水斋古今算学书录》书目至今仍是研究者查阅晚清数学出版情况的基本工具。

这三套丛书,加上傅兰雅主编的《格致须知》,构成了壬寅学制实施之前中国现代数学知识传播的主要媒介。它们不是官方的,但它们填补了官方机构之间的空白,让数学知识得以以相对低廉的价格在更广的地域流通。

那些在夹缝中度过一生的人

制度变革总是看起来比实际更整洁。从史书上读1862年至1905年的中国数学教育史,你看到的是一条清晰的时间线:同文馆设立,江南制造局翻译馆开办,壬寅学制颁布,科举废除。但历史中的人,活在的是那条时间线的某一个点上,而不是整条线。

让我们来想一想那一代过渡人物的实际处境——那些在传统与现代之间被撕扯的人。

陈志坚的路:1844年生,1879年考中举人,1890年赴京会试,不第。已经四十五岁了。科举的路走不下去,他转向了数学。但他学的是什么数学?是从《九章算术》和天元术开始的旧学,再自行摸索西方代数。他的《微积阐详》五卷写于1890年代,是在没有任何正式教师、没有任何现代课程的情况下独自研习微积分的产物。他能看懂李善兰的《代微积拾级》,但没有受过欧洲意义上的系统分析训练。这本书有价值,但影响力有限——因为读懂它需要既懂传统数学又对西学有一定基础,而同时具备这两种背景的人,在1890年代的中国少之又少。

倭仁的阴影:1867年,倭仁(1804—1871)上书朝廷,激烈反对在同文馆设立数学课程。他的原话是"立国之道,尚礼义而不尚权谋;根本之图,在人心而不在技艺”。这不只是保守主义的喃喃自语,而是一种有内在一致性的世界观:他认为,一个国家的根本在于道德秩序,而道德秩序不是靠数学技能建立的。倭仁的这套逻辑,在儒家传统的框架内是说得通的。

但倭仁也没有完全赢。恭亲王在朝廷辩论中占了上风,数学课最终进入了同文馆。只是倭仁代表的那种阻力——认为"技艺"次于"礼义"的思想习惯——在制度层面被否决之后,并没有在文化层面消失。它以更隐秘的形式存在着,表现为学生的入学动机(学数学是为了做翻译,而不是为了研究数学本身),表现为毕业生的出路选择(外交而非学术),表现为整整一代人对"数学有什么用"的回答方式——答案始终是"致用",而不是"因为真理本身值得追求"。

这种态度的转变,要等到民国以后的一代留学生——在哈佛、在哥廷根、在巴黎——亲眼看见数学作为纯粹知识形态如何被认真对待,才真正开始改变。

留日学生的归国冲击:1900年后的加速

1895年甲午战败,是一切的转折点。在此之前,中国现代化的参照系是欧美。在此之后,日本这个同文同种(当时中国知识界的说法)的邻居,用三十年走完了西化的道路,成了新的参照。

留日人数的数字令人震惊:1896年,清廷首次派遣十三名学生赴日;1903年已有1300人;1906年,留日学生达到万人以上,占当时全球中国留学生总数的绝大多数。这个数字的意义在于:一万个学生,在日本的学校里用日语学习,包括用日语学习数学——用「行列式」「集合」「実数」「虚数」。他们回国时,随身带回了这套词汇,带回了日本教材,带回了按日本课程体系组织的数学知识框架。

这批人的归国,在1900年代至1910年代制造了一次中国数学教育的快速重组。他们编写教材(通常翻译自日语),开办新式学堂,引进了大量之前在中国没有对应词的数学概念。1902年的壬寅学制和1904年的癸卯学制,在起草者中有不少留日背景,课程体系与日本明治教育制度高度相似绝非偶然。

但这里有一个代价,很少被提及:这批人带回的是日本消化西方数学的结果,而不是直接接触欧洲原著的能力。他们能读日语教材,但大多不能读英语、德语或法语原著。中国数学的现代化,在这个阶段经历了一次"二次翻译":西方数学首先被日本人翻译成日语,然后被中国人从日语再转化为中文。每次翻译都可能引入理解误差,每次翻译也都可能有所取舍。这个两层结构,使得中国现代数学教育在初期与国际数学研究前沿之间,隔着一层额外的距离。

真正打通这个距离的,要等到1920年代以后,中国数学家开始直接在欧美大学接受训练并归国任教——陈省身在巴黎受卡当(Cartan)的亲炙,华罗庚在剑桥与哈代共事,熊庆来在巴黎把函数论的最新成果带回昆明。那才是中国数学与国际数学前沿真正直接对话的开始。清末数学教育的历史意义,在于它打开了那扇窗,即便窗户本身还是二手的。

商务印书馆与第一批现代数学教科书

制度建立了,但制度需要书。

壬寅学制(1902年)和癸卯学制(1904年)规定了课程,但没有规定用什么教材。全国各地的新式学堂,突然需要统一的代数、几何、三角教科书,而原来的翻译著作(李善兰译的《代数学》、华蘅芳译的《代数术》)篇幅冗长,体例不适合课堂教学。

商务印书馆(1897年创立于上海)的介入,是这段历史的一个关键节点。商务印书馆组织了大量留日数学教育人才,参照日本教科书体系,编写了中国第一批系统化的现代数学课程书籍。1903年至1908年间,商务印书馆陆续出版了一套初中至高中数学教科书,涵盖算术、代数、几何、三角,采用了统一的符号系统(拉丁字母变量、西方运算符号)和规范的术语,成为清末新式学堂最广泛使用的数学教材。

这批教材的编写者大多是无名之辈——他们不是历史上留名的大数学家,而是在日本学了几年数学、回国后被商务印书馆聘用的教育工作者。他们做的工作看似朴素:把日语数学教材转化为适合中国中学生的中文课本。但正是这项"朴素"的工作,确定了20世纪中国中学数学教育的基本面貌:哪些概念在哪个年级引入,哪些符号是标准的,哪些术语是规范的。他们的名字被历史遗忘了,但他们的选择留在了每一本此后一百年的中国数学教科书里。

这是晚清数学教育史最耐人寻味的结尾:一整个时代的努力——同文馆的建立、江南制造局翻译馆的数十年工作、丁取忠等人的民间丛书整理、留日学生的往返流动——最终收束到一批没有留下名字的教科书编写者的案头。他们把这个时代所有混乱、争论、实验性的成果,压缩进一本本有封面、有目录、有习题的教科书。这就是历史沉淀的方式:不是靠纪念碑,而是靠课本。

1905年废科举的双重效果

1905年,慈禧太后颁布上谕,废除实行了一千三百年的科举制度。对数学教育而言,这个决定的效果是双重的,甚至是矛盾的。

一方面,废科举清除了数学进入正式教育体系的最大制度障碍。科举体制下,功名与数学完全无关——最有才华的年轻人把全部精力投入经书,而不是算学。废科举之后,这种激励结构从根本上改变:人们开始需要通过新式学校获得资格,而新式学校设有数学课程。

另一方面,废科举也瓦解了整个士大夫阶层的学习动力基础。数百万曾以科举为人生目标的人,突然发现他们的知识体系在新时代的价值大打折扣。这造成了一种深刻的社会心理创伤,影响了整整一代人的知识取向。那些在科举废除前后处于青年时期的人,往往两边都抓不住:科举路断了,新式教育又缺乏足够完善的体系来承接他们。

从数学教育的角度来看,1905年只是一个行政节点,而不是实质性的转型完成之日。壬寅学制(1902年)和癸卯学制(1904年)建立了框架,但框架和实质之间的落差,在1905年之后的十年间依然巨大。全国绝大多数地方没有能教代数和几何的教员,没有合格的教材,没有能检验学生数学能力的考核标准。真正的转型,要等到1920年代各大学数学系的相继成立和留学归国数学家群体的形成。

清末这段历史的意义,不在于它建立了什么,而在于它打开了一个窗口:让数学——作为一种独立于经学诠释之外的知识形态——重新进入中国教育制度的视野,并且再也没有被关上。


Part X: 文献、传承与世界对话

同文馆算学课程的实际内容

同文馆于1862年在北京设立,最初是为了培养外交翻译人才,数学和自然科学课程是后来逐步加入的。1867年,恭亲王奕䜣上奏设立算学馆,提出聘用外国教员教授天文、算学,由此引发了轰动一时的"奕䜣奏折论战"——以倭仁为代表的保守派认为"立国之道,尚礼义而不尚权谋;根本之图,在人心而不在技艺",反对将西方数学纳入官方教育体系。

论战最终以恭亲王胜利告终,但这一事件揭示了一个根本性的张力:清廷对西方数学的接受,从一开始就是在强烈的意识形态阻力下进行的,而不是一个平稳的"知识更新"过程。

同文馆算学馆的课程设置,以丁韪良(W. A. P. Martin)主持的1876年修订课程为例,大致包括:初等代数(前三年)、平面几何(第四年)、解析几何与三角(第五年)、微积分初步(第六年)、天文学与力学(第七至八年)。这是一套相当系统的西式数学课程,在理论上可以把学生带到19世纪中期的欧洲大学入门水平。

然而同文馆的实际教学效果,与这个课程表之间存在相当大的落差。主要原因有三:其一,学生的入学动机是外交翻译,而不是数学研究,数学学习对他们的职业出路意义有限;其二,教员(多为英美传教士)与学生之间的语言障碍,即便有翻译从旁,也削弱了教学效率;其三,没有配套的中文高等数学教材——直到李善兰等人的译著出现,才部分解决了这个问题,而这些译著的读者主要也不是同文馆学生。

算学丛书:民间数学出版的兴起

与同文馆代表的官方教育路线并行,19世纪下半叶出现了若干重要的民间算学出版项目,其中最有影响力的是华蘅芳和徐寿在上海的江南制造局翻译馆。

翻译馆自1868年起大规模翻译西方科学书籍,数学和自然科学是重点。华蘅芳与英国传教士傅兰雅(John Fryer)合作,翻译了算术、代数、几何、三角、概率等多种数学教材,采用的是傅兰雅口述、华蘅芳笔录整理的工作方式。这种"口译笔记"模式存在固有的局限,但在缺乏受过系统数学训练的中国翻译者的条件下,它是可行的解决方案。

翻译馆出版的数学书籍,除了概率论译著《决疑数学》外,影响较大的还有《代数术》(代数学教材)、《三角数理》(平面和球面三角)、《微积溯源》(微积分入门)等。这批书籍构成了晚清中国人自己能买到、自学能用上的第一代西式数学教材。它们的读者群不是官僚士大夫,而是开始对实业和技术产生兴趣的新一代知识分子。

新式学堂的数学教育格局

1898年戊戌变法虽然失败,但其推动的教育改革讨论在变法失败后的十年间逐步结出果实。1902至1904年间,清廷陆续颁布《钦定学堂章程》(壬寅学制)和《奏定学堂章程》(癸卯学制),系统规定了从小学到高等学堂的算学课程内容。

癸卯学制规定,高等小学堂(相当于今小学高年级)须习算术;中学堂须修代数、平面几何、三角;高等学堂须习解析几何、微积分。从制度层面看,这已经是一套接近现代中学数学课程的框架。

但课程框架与实际教学之间的落差,在清末依然巨大。全国绝大多数地方没有能教代数和几何的教员,没有合格的教材(许多地方用的还是算盘口诀),没有能检验学生数学能力的考核标准。1905年废除科举,消除了数学进入教育的最大制度障碍,但它同时也瓦解了整个士大夫阶层的学习激励体系。进入20世纪后,中国现代数学教育的真正建立,要等到1920年代各大学数学系的相继成立和留学归国的数学家群体的形成。

清末这段历史的意义,不在于它建立了什么,而在于它打开了一个窗口:让数学——作为一种独立于经学诠释之外的知识形态——重新进入中国教育制度的视野。从同文馆的艰难起步,到癸卯学制的制度框架,再到民国初年的数学教育实践,是一段从"不得不引进"到"如何系统化"的漫长过渡。

Chapter 53: 中国算学书目传统

数学史从书目开始

要写一门学科的历史,首先得知道什么东西存在。要知道什么东西存在,得先有人费心列一张单子。

中国数学的历史,比几乎任何其他数学传统都更依赖于书目家的劳动——那些用一生追踪手稿、记录书名、标注藏地、注释内容的学者。没有这个系统性书目的传统,我们所知道的中国数学史,将有相当大一部分就此消失:那些书会在战火中烧毁、在库房里腐烂,而无人知晓它们曾经存在。

书目传统的根源:正史艺文志

在程大位的 1592 年书目出现之前,在梅文鼎的个人著作目录出现之前,中国已经有一套更古老、更宏大的书目传统延续了将近两千年。它不是独立的书目著作,而是嵌入在每一部正史之中的:艺文志,或经籍志

翻开《汉书》,在"艺文志"一章里,可以找到西汉朝廷图书馆所收藏的全部书目——按"六略"分类,其中第六略"数术略"包含的,正是汉代人所理解的数学与天文学著作。这是现存最早的中国数学书目,成书于公元一世纪,所记录的书目既有当时仍然存世的,也有已经亡佚的。今天我们知道《周髀算经》、《九章算术》的名字,知道它们在汉代已被朝廷收藏,正是因为《汉书·艺文志》的这几行字。

然而"数术"这个分类本身已经说明问题:汉代人把数学与星占、式法、风水等混放在同一个大类里——数字推算和宇宙预测在认识论上并未分家。《汉书·艺文志》里的数学,还不是独立学科,而是"术数"大类下的一个分支。

随后各朝的正史都延续了这个传统。《隋书·经籍志》记录了隋代朝廷收藏的书目——这一份目录尤其关键:它是唐以前数学文献流传状况的主要证据。比较《汉书》和《隋书》的数学书目,可以看到几百年间哪些书幸存、哪些书消失:那些消失的名字,有时只在《隋书》目录里留下孤零零的一条记录,此后再无踪迹。《旧唐书》、《新唐书》、《宋史·艺文志》各自记录本朝所能见到的书目,每换一朝,都有一批书彻底从目录里消失——那些消失,就是战争、兵燹、洪水、政治清洗在知识史上留下的伤痕。

读艺文志,不只是读书目,也是读历史的伤亡记录。

到清末,专门针对数学的独立书目终于出现了。这是中国历史上第一批以数学为专题的独立书目——不是嵌入正史的附录,不是个人著作目录,而是以"数学书籍"本身作为对象的系统整理:

  • 冯澄的《算学考初编》二十卷
  • 刘铎的《若水斋古今算学书录》八卷
  • 梁兆铿的《天文算学考》十六册

它们的出现,标志着数学史意识的成熟:一门学科只有在知识分子开始专门为它编书目的时候,才真正在认识论上获得了独立的身份。

这个传统的最终综合,是丁福保和周云青的**《四部总录算法编》**(1957 年出版):合并了丁福保自己的《算学书目提要》、刘铎的《若水斋古今算学书录》、冯澄的《算学考初编》、李俨的《中算书录》数学部分——四部书目各有侧重,合并后成为二十世纪中国数学史研究的标准工具书。

而《四部总录》之后还有更大的工程。李迪等人历时四十余年,编成《中国算学书目汇编》,最终数字令人肃然:收录条目 2675 个,涉及作者和译者 973 人,现存著作 1911 种,分藏于中国大陆、台湾、日本、梵蒂冈、法国、英国、美国、新加坡等地共 28 处藏书地(含各地图书馆、博物馆、研究所及私人藏书)。这个数字里还藏着一个历史的隐痛:现存 1911 种,意味着还有相当数量的著作已经亡佚,只在某部艺文志或某位前辈的引用里留下了名字的痕迹。

从《汉书·艺文志》的数术略,到李迪的 2675 条目录,这是一条绵延两千年的线索。每一代书目学家所做的,都是同一件事:在知识的流失与毁灭面前,把还存在的东西认认真真地数清楚,写下来,传下去。


书目传统的历史演进

1592 年:程大位《算法统宗·算经源流》。 印刷文献中最早的专门数学书目,程大位列出了宋明两代 51 部数学著作——一半出于对前辈的学术尊重,一半是为了说明自己著作的学术渊源。今天它是追溯宋明数学遗存的不可或缺的参考。

十七世纪:梅文鼎《勿庵历算书目》。 梅文鼎(1633—1721)是清初最重要的数学家,他的个人著作目录——记录了他本人六十余种著作——其历史意义恰在于著录者是谁。这不是综合目录,而是一个人的学术自传。

1782 年:《四库全书总目》。 乾隆朝全面抄录中国学术的庞大工程,在"天文算法"一类下,为 25 部数学著作留下了详细条目,每条包含内容描述、版本流传与批评性评价。这些提要至今仍是清以前中国数学文献的权威参考。《四库全书》现存四套,分藏台北(国立故宫博物院)、兰州(甘肃省图书馆)、北京(国家图书馆)、杭州(浙江省图书馆)。原来七套中的三套——存于长三角的那些——毁于太平天国战乱。

1799 年:阮元《畴人传》。 阮元(1764—1849)为 275 位中国数学家和天文学家编写了传记与书目,上溯传说中的上古"隶首",下及乾隆朝。“畴人"是周代指世代专司特定技艺的家族的词,后来泛指天文算学专家。1843 年罗士琳的续编补充了阮元的遗漏。《畴人传》至今仍是研究任何前现代中国数学家的最重要起点。

二十世纪初:李俨的书目工作。 李俨(1892—1963)是现代中国数学史学科的奠基人之一,一生追寻散佚的数学手稿,编目整理,撰写研究论文。他的《近代中算著述记》和《中算书录》成为后一代史学家的标准参考。他去世后,私人藏书——中国最丰富的数学手稿收藏之一——捐赠给中国科学院自然科学史研究所,至今仍是该领域最重要的研究档案。

1963 年:钱宝琮《算经十书》。 钱宝琮(1892—1974)整理校点了汉唐十部经典算学著作——《周髀算经》《九章算术》《海岛算经》《孙子算经》等——附有完整的校勘注记,校正了历代传抄中积累的错误,建立了此后学界沿用至今的标准文本。

2000 年:李迪《中国算学书目汇编》。 整个书目传统的集大成之作:历时四十年,收录条目 2675 个(含重复记录 133 条),现存著作 1911 种,涉及作者与译者 973 人,调查了中国大陆及海外共 28 处图书馆的藏书。

李迪在序言中有一句话值得引用:“我最初以为编一本书目不过是简单的工作,但越编问题越多,困难越大,比写一本学术专著还难。”

海外藏书的历史

中国数学手稿如何辗转出现在从罗马到东京的图书馆中,是一段关于战争、传教士、学术探求,以及——在最触目惊心的案例里——在历史上充满争议的掠夺行为的故事。

耶稣会士。 利玛窦及其继任者不只把西方知识带进中国,也把中国知识送了出去。南怀仁和白晋把中国书籍作为外交礼物送给法国宫廷,手稿随之被运往梵蒂冈图书馆和法国王室收藏。今天,梵蒂冈图书馆和法国国家图书馆均藏有自十七世纪起便已在欧洲的中国数学与天文学手稿。

太平天国战乱(1851—1864)。 中国书籍保存史上最具毁灭性的单一事件。扬州、南京、杭州、苏州——中国古典藏书的传统中心——在长达十四年的战乱中数度易手。书库被焚,手稿被抢夺、散失或湮没于混乱之中。今天仍存世的部分最精良的宋元数学手稿,恰恰是因为在战乱开始前已被运往日本才得以幸存。

日本的系统性收藏。 自江户时代起,日本学者便对中国数学著作保持持续的兴趣,派人赴华购买手稿和刻本。早稻田大学的小仓文库、东北大学图书馆、东京大学东洋文化研究所——都藏有在中国已十分罕见乃至完全失传的中国数学文献。这是一个惊人的历史反转:我们对中国古典数学的部分知识,恰恰是因为日本学者保存了它才得以留存。

斯坦因与伯希和在敦煌。 奥里尔·斯坦因和保罗·伯希和于二十世纪初抵达敦煌石窟,带走了数以万计的手稿——在至今仍存历史与伦理争议的情形下,从道士王圆箓手中购得。这批手稿中包含数学与天文学文献,今存英国图书馆和法国国家图书馆。

数字化时代的新变化

二十一世纪已开始至少部分地扭转中国数学文献四散海外的局面。中国国家图书馆、中华书局和上海图书馆合作推进了大规模数字化项目,“中国古籍数据库"使数以千计的数学手稿可在线检索。

对数学史学家而言,这个转变影响深远。校对手稿异文——曾经需要多次跨国旅行——如今可以坐在电脑前完成。人工智能辅助的字符识别正在让受损或难以辨读的手稿页面也变得可以检索。从 1592 年程大位到 2000 年李迪,书目家们长达四个世纪的辛劳,正在成为一种他们当年无从想象的新型学术的基础。


《中国算学书目汇编》的28处藏书地

《中国算学书目汇编》所记录的28处藏书地,构成了一张关于中国数学知识地理流散的精确地图,值得仔细一读。

中国大陆方面,覆盖的藏书机构包括北京图书馆(本馆及北海分馆)、北京大学图书馆、清华大学图书馆、中国科学院图书馆及自然科学史研究所图书馆、北京故宫博物院图书馆,以及上海图书馆(含徐家汇分馆)、复旦大学图书馆、华东师范大学图书馆。此外在各省的重要藏书点包括南京图书馆、原南京国学图书馆、浙江省图书馆、湖南省图书馆,以及内蒙古师范大学图书馆(作为编者李迪的所在单位,资料尤为丰富)。台湾方面有台湾中央图书馆。

海外藏书地包括:日本的东京大学东洋文化研究所图书馆日本国会图书馆日本内阁文库京都大学人文科学研究所图书馆东北大学图书馆(仙台)、静嘉堂文库早稻田大学小仓文库。另外还有英国剑桥的李约瑟研究所东亚科学史图书馆梵蒂冈图书馆法国国家图书馆(巴黎)、美国国会图书馆哥伦比亚大学图书馆(含D.E.Smith藏书),以及国立新加坡大学图书馆

这份列表揭示了中国数学典籍地理流散的几个历史层次:

耶稣会层次(17—18世纪)。 梵蒂冈图书馆和法国国家图书馆的馆藏,主要来自耶稣会士在华活动期间将中国书籍作为外交礼物或学术资料送往欧洲。白晋(Joachim Bouvet)为康熙皇帝所做的工作,部分文献通过法国宫廷渠道流入欧洲图书馆。

江户-明治层次(17—19世纪)。 这是海外藏书中体量最大、内容最重要的一个层次。日本藏书机构所藏的中国数学文献,其数量和重要性超过了中国以外所有其他国家的总和。原因是多方面的:江户时代的日本学者长期有计划地购进中国数学典籍;1868年明治维新后,部分和算家的藏书被学术机构接收;更重要的是,太平天国战乱(1851—1864年)在战前将大量中国南方藏书通过商业渠道或个人渠道送往日本,使那些在战乱中被毁掉的中国本土副本,反而在仙台或京都的书库里留存下来。

学术探寻层次(19—20世纪)。 李约瑟研究所、哥伦比亚大学的D.E.Smith藏书,来自20世纪西方数学史学家的个人收集。D.E.Smith(David Eugene Smith,1860—1944)是美国最重要的数学史学家之一,他在1907—1909年间的东亚之旅中系统收购了大量中国数学典籍,今存哥伦比亚大学珍本书库,是西半球最重要的中国数学文献收藏之一。

已亡佚之书的证人

《中国算学书目汇编》记录了2675条目录,其中现存1911种。也就是说,有一定数量的著作被列入了书目,但注明"已亡佚"或"今无传本”——只在某部艺文志、某位前代学者的引文,或某个书目的记录中留有痕迹。

这些已亡佚的著作,构成了中国数学史上最难以追索的一个维度。已知的遗失包括:

《缀术》——祖冲之(429—500)的主要数学著作,曾是唐代"明算科"考试的必考书目,与《九章算术》并列为最高难度的算经。《新唐书》的科举记录清楚地说明考生须通《缀术》七条、《缉古》三条,可见它曾经存在,有内容,有人在研读它。然后在某个节点,它消失了。今天我们对《缀术》内容的推测,主要来自《隋书》的一句话:“注重差、勾股、弧矢之法”,以及祖冲之在球体积和圆周率方面的已知成就——但这仅是推测,不是文献。一部唐代学生年年备考、年年研读的书,后世竟无一行传世,这是中国文化史上的深重遗憾之一。

杨辉失传著作(《续古摘奇算法》完本等)。今存的杨辉著作均非完整本,而是在太平天国战乱中劫后余生的残卷,部分流入日本得以保存。完整的《详解九章算法》十二卷、《乘除通变本末》三卷,今只有残本传世。

李锐的部分遗稿。 李锐(1773—1817)去世时留有若干研究手稿,其中一部分在流传过程中散失,未能进入任何正式出版的丛书。《中国算学书目汇编》在某些条目后注明"今不知所在”——这是编者在经过四十年调查后仍无从确认下落的著作。

书目工作的认识论意义

李迪在《中国算学书目汇编》前言中说:“我最初以为编一本书目不过是简单的工作,可是越编越感到问题多,难度大,比写一部学术专著要难得多。”

这句话值得细想。为什么编书目比写专著更难?

写专著,你选择自己最有把握的内容,回避你不确定的问题。编书目,你必须对每一种著作——无论你自己有没有读过、读透——都给出尽可能准确的版本记录、藏书地点、作者信息。你的错误不会隐藏在论证的弱点里,而是明明白白地摆在具体的数据上。你的遗漏不是逻辑跳跃,而是一个个空白——某部书被遗漏了,就真的从书目里消失了。

这使得书目工作具有一种与一般学术写作不同的伦理结构:它要求诚实多于要求聪慧,要求彻底多于要求深刻。四十年对中国各地图书馆的系统调查,配套以对日本、欧洲、美国藏书机构的通信联络——《中国算学书目汇编》是这种学术诚实的产物。


28处藏书地:中算文献的地理分布

《中国算学书目汇编》在调查中确认了28处藏有中算文献的机构。这一数字本身就是一段历史:算学书籍并没有集中在某一两个大型图书馆,而是分散于各地,其中许多收藏者并非专门的算学研究机构,而是因历史机缘而保存了这些文献。

北京的主要藏书地包括北京图书馆(今中国国家图书馆)和故宫博物院图书馆。前者藏有最完整的清代官刻算学典籍,包括《数理精蕴》的内廷刻本和多种《算经十书》版本;后者收有若干明清宫廷旧藏,其中部分算学著作上有帝王御览朱批,是研究清代宫廷对数学态度的直接史料。

上海和南京的藏书机构则收藏了更多明代民间刻本和清代江南地区的私家抄本。程大位《算法统宗》的各种版本,以及杨辉算法残卷的若干本,都主要集中在这一带。上海图书馆的清代数学抄本尤为珍贵:由于刻本往往只刻流通最广的版本,许多仅在小圈子内流传的清代数学探索成果,只以抄本形式保存,而这些抄本今天大多在上海。

杭州的浙江省图书馆藏有阮元"文选楼"的旧藏。阮元本人不只是《畴人传》的作者,也是清代最重要的藏书家之一,他的私人收藏中包含了大量乾嘉算学家的手稿和稿本,部分已流散,部分由浙江省图书馆保存。

流散海外的中算文献

《中国算学书目汇编》不仅调查了国内藏书机构,也联络了海外的收藏地,包括日本、欧洲和北美的若干机构。

日本的收藏尤为重要。江户时代(1603–1868)是日本和算最繁盛的时期,而日本和算的底本很大程度上来自明清传入的中算文献。东京国立博物馆和内阁文库藏有大量中国算书的日本抄本,其中一些已在中国本土失传的文本,反而在日本以抄本形式保存下来。最著名的例子是杨辉《详解九章算法》——中国本土已无完整存本,而日本藏有较完整的抄本,正是凭借这些日本藏本,现代学者才得以重建杨辉原著的基本面貌。

法国国家图书馆的东方文献部(BnF, département des manuscrits orientaux)藏有若干17至18世纪耶稣会士带入欧洲的中国算学文本,以及法国传教士在华期间的数学交流记录。英国牛津大学博德利图书馆(Bodleian Library)的中文藏书也包含少量算学文本,主要是徐光启和梅文鼎时代的历算著作。

美国哈佛大学燕京图书馆的中算藏书则以清代刻本为主,是研究晚清数学传播的重要资源之一。

从书目到数字人文:未来的方向

《中国算学书目汇编》是20世纪纸质学术的最高成就之一。但在数字时代,这部书目本身正在成为新型研究的数据源。

中国国家图书馆的"中华古籍资源库"已将大量算学典籍扫描上线;日本东北大学和九州大学的数字图书馆也有部分和算相关汉籍的高清影印;美国哈佛大学-燕京学社将部分馆藏提供了IIIF格式的图像访问接口,使得国际学者可以在线阅读高分辨率原件。

这些数字化工作正在改变中算史研究的基础设施。一个研究者不再需要亲自前往上海、京都或牛津,才能看到同一文本的不同版本。版本对校、文字异同的判断、数字在不同抄本间的差异追踪,现在可以在一台电脑前完成。《中国算学书目汇编》建立的那张2675种著作的地图,在数字时代正被一张可以持续更新、可以多人协作标注的动态地图所取代。

书目学与计算人文学的结合,是中国数学史下一阶段发展的重要方向之一。

亡佚与幸存:一份历史的遗憾清单

如果说书目学记录了中算文献的幸存者,那同样值得思考的是那些没能幸存的。

《缀术》——祖冲之的主要著作,唐代算科必考,宋代已不见于任何图书馆记录。

《张邱建算经》完本——今存本残缺,且有明显的后人补入内容,原书全貌已不可考。

宋代宫廷所藏的算学写本——北宋秘书省曾收藏大量手写算学文本,靖康之变(1127年)北宋灭亡时,汴京图书馆所藏大量典籍被金人带走或毁于战火,其中算学文献的损失无法量化,只在若干南宋私人目录的残缺引文中留有痕迹。

李冶《测圆海镜》的若干草稿和算草——传世的是经李冶自己整理的定稿,但他在书信中提及的若干中间过程,今已不存。

中国数学文献亡佚的规律,往往与王朝更替、战乱、宫廷火灾和书籍传抄需求的衰落相关。一部书能否传世,不只取决于其数学价值,还取决于在历史的偶然性中,有没有足够多的人记得它、抄写它、刊刻它。《缀术》的亡佚和《九章算术》的传世,固然有难度的差异,但也有历史机缘的差异。书目学的工作,就是在这种偶然性留下的残局中,尽量拼出一张完整的图。

敦煌的偶然:书目之外的文献

1900年,一个在甘肃敦煌莫高窟做修缮工作的道士王圆箓,偶然打开了一道封堵已久的洞壁。洞室里,整整齐齐堆放着大量写卷,估计达五万件,年代跨越4世纪至11世纪。这是中世纪中国知识史上最重要的单次文献发现,也是对"只信书目"这种研究方法最有力的警告。

这批文献里,有数学文献。其中包括《九章算术》的某些段落和一批独立的数学问题集,年代远早于任何已知的印刷本。这些文献在书目传统中没有记录——它们是一批没有进入任何艺文志的文本,在洞窟里沉睡了将近一千年,在1900年被意外发现。

1907年,英国探险家马尔克·奥里尔·斯坦因(Marc Aurel Stein)说服王圆箓,以极低的代价购得大量写卷,带往英国。1908年,法国汉学家保罗·伯希和(Paul Pelliot)跟进,精心挑选了最重要的一批写卷运往巴黎。今天,敦煌数学文献分别保存在英国图书馆、法国国家图书馆和北京国家图书馆——同一批文献,分置三国,其中的历史争议至今未息。

敦煌数学文献的发现改变了我们对中国数学史的某些认识。敦煌写本的《九章算术》某些段落,措辞与传世刻本略有不同——这让学者得以追溯文本在传抄过程中的演变,区分原文与后世注释,判断某些算法是否是后人添入的。书目学记录了"什么书存在",但敦煌文献揭示了"书在印刷标准化之前是什么样子"——这是书目方法无论如何精密都看不见的东西。它告诉我们:现存的版本,未必是"原始"的版本,而书目所记载的书名,也只是那本书某个传本的名字。

《畴人传》:数学家的传记书目

阮元(1764—1849)是嘉庆、道光朝的名臣,也是清代汉学的重要人物。他的《畴人传》(1799年)不只是书目,更是传记——为275位中国数学家和天文学家立传,从传说中的上古"隶首"一直写到乾隆朝。“畴人"这个词来自周代记载中"世代专司特定技艺的家族"的说法,后来泛指天文算学专家。

《畴人传》做了一件前所未有的事:把数学家当作传记主体,认为他们的生平与工作值得被专门记录,正如文人、官员、忠臣的生平被记录在史书里一样。在此之前,数学家的生平只在通史的附录或个人文集里偶尔出现;阮元的工作第一次给了这个群体系统性的历史地位。

《畴人传》也有其局限。阮元对他所记录的著作的数学内容,分析往往比较浅表——他更关注的是"这位数学家是什么人”,而不是"他的数学发现是什么"。这恰恰反映了书目传统的一般特点:它记录的是文献的存在,而不是文献的内容。

1843年,罗士琳为《畴人传》写了续编,补充了道光年间的数学家,特别是乾嘉学派的重要人物。今天,阮元的《畴人传》加上罗士琳的续编,是研究任何前现代中国数学家的最重要出发点之一。这是一个书目工具演化成历史档案的典型案例。

藏书地的历史地理学:28处,一幅地图

《中国算学书目汇编》所记录的28处藏书地,凝结了几个具体历史过程的地理结果。把这28处机构按历史层次来理解,比简单列出名单更有意义。

内廷层次:北京故宫博物院图书馆保存了清代宫廷旧藏,其中不少算学著作上有帝王御览的朱批。这些朱批是研究清代皇帝对数学态度的直接史料——康熙皇帝对西方数学的个人热情(他亲自学习了欧几里得几何和算术,并推动了《数理精蕴》的编写)在文献上是有迹可查的,而故宫旧藏里的御批,给这段历史提供了具体的物质证据。

江南藏书层次:上海图书馆保存了大量清代江南地区的私家抄本。由于刻本往往只刻流通最广的版本,很多仅在小圈子内传播的清代数学研究成果,只以抄本形式存在,而这些抄本今天大多在上海。浙江省图书馆则保存了阮元"文选楼"的旧藏——阮元既是《畴人传》的作者,也是清代最重要的藏书家之一,他的私人藏书包含大量乾嘉算学家的稿本和手稿。

战火流散层次:太平天国战乱(1851—1864年)是中国古典藏书史上最惨烈的单次灾难。扬州、南京、苏州、杭州——中国藏书传统的历史中心——在战乱中数度易手,书库被焚,手稿散失。部分在战前已被运往日本的中国算学著作,因此反而得以保存。日本早稻田大学的小仓文库、东北大学图书馆的汉籍收藏,其中相当一部分中国算学文献,正是通过这条路逃过了战火。这是一个惊人的历史反转:中国数学文献的某些部分,恰恰因为被日本人带走,才得以在中国的战火中幸存下来。

学术收集层次:美国哥伦比亚大学的D.E.Smith藏书,来自美国数学史家戴维·尤金·史密斯(David Eugene Smith,1860—1944)1907—1909年东亚之旅的系统购书。史密斯在上海、北京、日本的书商处购买了大量中国和日本数学文献,今存哥伦比亚大学珍本书库,是西半球最重要的中国数学文献收藏之一。这些书被购买时,中国正在经历清末的政治动荡,书商们急于变现,史密斯的出现因此带走了一批本来应该留在中国的资料。

书目学告诉我们"什么存在";历史地理学告诉我们"为什么是这里而不是那里"。把两者结合,才能看见数学文献的完整命运——不只是它被写下来,还有它如何在时间和空间中漂移、幸存、流散,最终落在某个图书馆的某个书架上,等待研究者的目光。中国数学文献能够被我们看见,是无数历史偶然的叠加结果。如果1900年王圆箓没有打开那道封墙,如果19世纪的江南战乱打得更彻底,如果史密斯没有在1907年选择去上海,我们今天对中国数学史的认识,将在具体细节上有所不同,甚至在某些关键问题上面临更大的空白。

数字化时代的新变化

二十一世纪已开始至少部分地扭转中国数学文献四散海外的局面。中国国家图书馆推进了大规模数字化项目,“中华古籍资源库"使数以千计的数学手稿可在线检索。日本东北大学、京都大学人文科学研究所、东京大学东洋文化研究所也陆续建立了中国古籍数字化数据库,将部分馆藏提供了高清图像访问接口,使得国际学者可以在线阅读原件。

对数学史学家而言,这个转变影响深远。版本对校——曾经需要多次跨国旅行——如今可以坐在电脑前完成。算法辅助的字符识别正在让受损或难以辨读的手稿页面也变得可以检索和比较。更重要的是,数字化使得"普通研究者"和"专业数学史学家"之间的信息鸿沟大大缩小:一位有心的学生,只要有网络连接,就可以直接查阅《九章算术》的多种版本,而不必依赖印刷版校点本的二手呈现。

从1592年程大位到2000年李迪,书目家们长达四个世纪的辛劳,正在成为一种他们当年无从想象的新型学术的基础。《中国算学书目汇编》建立的那张2675种著作的地图,在数字时代正被一张可以持续更新、可以多人协作标注的动态地图所取代。书目学与计算人文学的结合,是中国数学史下一阶段发展的重要方向之一。

书目的伦理:谁有责任保存知识?

最后,一个伦理问题值得在这里停下来想一想。

2675部中国数学著作,分散在全球28处藏书地。其中7处在日本,5处在欧洲和北美。换言之,相当比例的中国数学文献遗产,保存在非中国的机构里。这是历史造成的,是战乱、贸易、殖民活动和学术探险共同作用的结果。但这个事实提出了一个问题:谁有责任保存这些文献?谁有权利决定它们是否可以被研究、如何被数字化、是否应该被归还?

英国图书馆的敦煌写卷、法国国家图书馆的耶稣会带来的手稿、哥伦比亚大学的D.E.Smith藏书——这些机构都有保存和研究的责任,但它们的藏品是如何进入那里的,在历史上并不都是自愿的交易。这是21世纪文化遗产伦理的一个真实问题,没有简单的答案,但理解问题本身,从了解每份文献的具体历史轨迹开始。

《中国算学书目汇编》记录的,不只是书目,也是这道问题的精确注脚:每一条目后面的藏书地,都是一段历史的地址。


Chapter 54: 中算东传——朝鲜、越南、日本和算

算学随着文化圈向外传播

中国数学没有被锁在中国。它跟着汉字走到了哪里,就传到了哪里——朝鲜、越南、日本,一概如此。每到一地,带去的都是同一套东西:同样的书(《九章算术》《孙子算经》《算法统宗》),同样以科举为核心的制度框架,同样的计算工具。但每到一地,又发生了完全不同的事情。

朝鲜接受了它,保存了它,认真学习了它——却鲜少超越它。越南曾让它扎根,后来又将它连根拔起,先是被本土传统排挤,再是被法国殖民主义彻底清除。日本则发生了更为奇特的事:中国数学的种子落入日本的土壤,长成了中国数学家完全认不出的样子,在两百年间开出了人类历史上最独特的数学文化之一。

朝鲜:两朝五百年的算学体制

朝鲜对中国数学的接受,是系统性的、彻底的。高丽王朝(918—1392)仿照唐制设立国子监,数学在其中占有一席之地;朝鲜王朝(1392—1897)在此基础上更进一步,专门设立了算学厅,并配套建立了一套专门针对数学专才的科举考试制度。

朝鲜的算学考试有明确规定的必读书目:

  • 《九章算术》(首要经典,最为重要)
  • 朱世杰《算学启蒙》(元代)
  • 《详明算法》(元,安止斋)
  • 《五曹算经》与《孙子算经》(汉代)

考生按照对这些书目的掌握程度分等,分别派往税收评估、土地丈量、工程计算、文书记录等不同的行政岗位。这套制度运行了近五百年,论持续时间,超过了中国本土任何类似的制度。

朝鲜引进《授时历》的过程颇具故事性。1281年元廷颁行《授时历》之后,朝鲜很快注意到其精度,于1303—1304年间派遣崔诚之专程来中国"求师而授业,具得其不传之妙”。回国后崔诚之寻找传承对象,“久之难得其人”,终于找到姜保——“一学而尽通其法,捷而神明”。姜保将所学整理为**《授时历捷法立成》**(1343年刊行),书末附有"乘除法歌诀",包含"留头乘法"“飞归除法歌"等内容,其中若干用语与朱世杰《算学启蒙》中的术语高度一致,是宋元数学在朝鲜落地的直接证据。

朝鲜数学史上最有意思的人物是南秉吉(남병길,1820—1869)。他取李冶的《益古演段》——一部十三世纪运用天元术的中国代数著作——写成《輯古演段圖解》,对李冶的问题作了全面的重推导和拓展,并附上了原创的几何图解。他还撰写了球面三角法和弧矢算法方面的著作。南秉吉展示了朝鲜制度能够培育出什么样的人才:只要一个人同时拥有制度保障和思想自由,便能在记诵之外走得更远。

然而,朝鲜数学的整体面貌仍受制于其制度本身的逻辑。当考试的奖励机制只认对经典文本的熟练掌握,而不认原创发现,有才华的人自然会把全部精力投入对经典的掌握。并非朝鲜数学家没有原创能力,而是制度根本没有为原创买单。

越南:双重殖民下的数学命运

越南与中国数学的关系,是一段被反复打断的历史。中国典籍曾流通于越南的官方教育体系,《九章算术》和程大位的《算法统宗》都在官学中使用。至于越南本土独立的数学发展,留下的证据相当稀少——这不是因为越南学者见识浅薄,而是因为留存的文字记录本就不多。

1858年,法国开始对越南南部的军事占领。到1883年,整个国家落入法国控制之下。法国带来了法式中学教育,包括法国式的数学:欧氏几何用法国教科书来教,代数用法国课程体系来教。1919年,越南彻底废除了传统科举制度。

由此造成的断裂,远比中国或朝鲜所经历的要彻底:越南完全跳过了"翻译-本土化"这个阶段。越南没有出现李善兰与伟烈亚力那样的合作,没有人费心去给"函数"和"积分"找越南语对应词。法语术语直接照用,法国教材直接使用,而曾经在越南扎根了一千年的中国数学传统,几乎没有在越南数学教育中留下任何制度性的痕迹。

日本和算:从中算汲水,开出独特花朵

在这些地区中,日本的数学史是真正的异数——不只是程度上的不同,而是性质上的不同。

中国数学传入日本,分两波。第一波在七、八世纪,《算经十书》经由朝鲜传入日本,成为日本官方教育体系的一部分。第二波在十七世纪初,程大位的《算法统宗》(1593年)直接从中国传入,带来了算盘(そろばん)和大量实用算法。

由第二次传入引发的,是1627年的一本书——这本书点燃了日本民间数学的热情。吉田光由(1598—1673)出版了《塵劫記》,全书以日语写成,配有大量插图,内容从基本四则运算一直延伸到趣味问题。它的直接来源是程大位的著作,而它的读者则是武士和商人。这本书不断再版。最关键的是,书末附有若干没有给出答案的开放问题——这是作者故意留下的挑战,是向读者发出的邀请。这在东亚数学文化中是新鲜事:数学作为挑战,作为竞技,作为公开的游戏。

关孝和:东亚最伟大的独立数学家

关孝和(関孝和,约1642—1708)是世界历史上最被低估的数学家之一。他在日本备受尊崇,在其他地方却几乎无人知晓。这是历史记录的一大不公。

1683年,关孝和发表了《解伏题元法》,将联立一次方程组的系数排列成矩形阵列,并定义了一套求解程序。这套程序在本质上就是行列式的计算。

\[a_1 x + b_1 y + c_1 z = 0\]\[a_2 x + b_2 y + c_2 z = 0\]\[a_3 x + b_3 y + c_3 z = 0\]\[D = a_1(b_2c_3 - b_3c_2) - b_1(a_2c_3 - a_3c_2) + c_1(a_2b_3 - a_3b_2)\]

他用这个方法判断方程组是否有非零解:当且仅当 \(D = 0\) 时,方程组存在非零解。这与现代行列式理论的判据完全一致。

关孝和完成《解伏题元法》大约是在1683年。莱布尼茨在德国独立地发现行列式概念,是在1693年的一封信中——大约晚了十年。这是数学史上记录最清晰的独立平行发现案例之一。两人对对方的存在毫不知情。

如果关孝和的贡献仅止于行列式,他也不过是一个有趣的注脚。但远不止于此。

关孝和还将中国的天元术——这套需要在二维算板上摆弄算筹、一次只能处理一个未知数的方法——改造成了一套书写符号系统,他称之为点竄術(てんざんじゅつ,“用书写符号运算的方法”)。在这套系统中,系数和幂次用汉字和辅助符号标注,由此创造出一种可以处理多个未知数、在纸上保留中间步骤、并可被他人审阅、修正和扩展的系统。这不完全等同于韦达和笛卡儿的代数符号,但在非欧洲数学家中,这是迄今最接近的一次。

他还发展出日本数学家称之为円理(えんり,“圆的理论”)的研究:深入探讨圆内接多边形、弧和弦之间的关系,为日本后来在无穷级数方面的工作奠定了基础。

关孝和的综合成就——独立发现行列式、发展出可用的书写代数系统、为级数分析奠基——将他置于同时代欧洲二流数学家的行列:不及牛顿或莱布尼茨,但大约相当于詹姆斯·格雷戈里或尼古拉斯·墨卡托这样的人物。区别在于,关孝和身边没有牛顿,没有皇家学会,没有遍及整个大陆的数学通信网络。他在江户工作,用日语写作,通过直接的师徒传授来传播他的方法。他的影响在日本是真实而深远的;却从未越过任何一片海洋。

建部贤弘与圆周率

建部贤弘(建部賢弘,1664—1739)是关孝和最杰出的弟子,他将圆的理论推向了比老师更远的地方。他将 \(\pi\) 计算到小数点后41位——这是近代以前任何东亚数学家所达到的最高精度——所用的方法是一系列具有加速收敛性质的圆内接多边形序列。

更重要的是,建部贤弘发现了一种加速收敛的方法,回头来看,这正是理查森外推法的先驱:如果你能估算出一个近似数列的收敛速度,就可以利用这个信息,用更少的计算步骤跳跃到更精确的值。他没有后世使数列与极限理论严格化的形式体系,但他的直觉是正确的,他的实践是有效的。

建部贤弘还发展出了将弧长与弦长相联系的级数展开——这些结果与同时期西方的某些三角级数相互平行,且完全独立地得出。在日本数学史上,他是几个让人不舒服的案例之一:每当你问"这个结果在欧洲是否已知”,得到的答案往往是:已知,但更晚,或者大约同时。

算额:把数学挂到神社墙上

算额(さんがく)传统,在数学史上是独一无二的存在。中国没有。伊斯兰世界、欧洲、印度都没有。它纯粹是日本的,纯粹属于江户时代,而且极为美丽。

算额是一块画有几何题的彩绘木匾。你亲手制作,亲手彩绘,然后挂到神道神社或佛教寺院的外墙上,转身离去。没有解答——只有题目,精心呈现,献给神灵,也留给路过的人。其他来访者看到它,尝试解答,或许也会挂上自己的木匾,写下解法或变题。久而久之,神社的墙上便积累起一场持续的对话。

一个典型的算额题目是这样的:正方形内有一个半圆,半圆的直径等于正方形的边长 \(r\)。正方形的一个角处有一个小圆,半径为 \(\rho\),与正方形右边相切,与顶边延长线相切,并与半圆相切。求 \(\rho\) 与 \(r\) 的关系。列出各切线条件联立求解,可以得到一个关于 \(r/\sqrt{5}\) 的简洁有理表达式——具有算额结果标志性的几何美感。

算额传统创造了一件非凡的事:一个由工匠、农民、商人和武士组成的数学共同体——这些人也许从未读过一篇拉丁文论著,也未曾踏入任何大学——却将高深几何作为一种精神献礼来修习。这是作为艺术、作为供品、作为社群的数学。如此形态,别处从未有过。

明治维新的冲击:和算的终结

1868年,明治维新改变了一切。新政府的决定毫不含糊:要尽快实现现代化,就意味着要尽快西化。1872年,文部省颁布《学制》,规定所有学校一律采用西方数学——西方算术、西方代数、西方几何——取代此前一切。

对于和算的从业者而言,这就是灭绝。那些精通天元术的教师、点竄術的修炼者、円理的大师,一夜之间发现自己的知识在任何学校课程中都不再被承认。到1880年代,日本学生已经在用德译本和英译本学习了。算额传统退守到业余爱好者的圈子里。关孝和的方法变成了历史研究的对象,而非活跃的研究领域。

日本数学的故事——从中国的根须中生长出来,开出独特而壮丽的花朵,最终被同一股现代化浪潮所斩断,而这股浪潮最终也将西方数学带到了中国本土——是世界历史上关于"一粒移植的种子能走多远"的最完整案例。它长得不一样,开的花不一样,解决的是中国或欧洲数学家都没有在研究的那类问题。然后,斧头落下了。

失去了什么?主要是:一种在欧洲没有对应物的几何之美与游戏数学传统。关孝和和建部贤弘的理论成果,在西方大体上都被重新发现了。但算额传统——那种将数学作为共同的礼物,用彩绘木匾挂在神社庭院中,献给神明的数学——是无可替代的。它已消逝,世界因此在数学上变得贫乏了一些。



中国数学向日本的第一波传播:奈良时代的官方渠道

《算法统宗》在17世纪的商业传入,常常被视为中日数学交流的起点。但这个叙述遗漏了更早的一波,时间上要早出八个世纪。

奈良时代(710—784年),日本政府模仿唐制建立了"大学寮",在其教学科目中设立了"算道",所用教材正是唐代官方算学教育的标准书目:《九章算术》《孙子算经》《五曹算经》《张丘建算经》《夏侯阳算经》等。这批书由遣唐使携回,被作为正式外交和文化移植的一部分纳入日本的国家教育体系。

然而,这次移植没有产生连续的数学传统。日本大学寮的"算道"主要是行政性的,目的是培养管理土地丈量、税收计算的官员,而不是培养数学研究者。8—12世纪期间,日本没有产生我们今天能够记录的原创数学成果。《九章算术》来了,被学习了,然后……停在了那里,作为行政技能而非知识进展。

真正激活日本数学的,是程大位的《算法统宗》在17世纪初的传入——这次传播不通过官方渠道,而通过长崎的商业贸易。算盘(そろばん,日语对"算盘"的音借)随之大量进入日本民间。算盘是操作性的工具;《算法统宗》是配套的实用教科书,用通俗的文字讲解了从四则运算到求积求体的实用算法。两者配合,在商人、工匠、武士的日常生活中创造了一种对数学的现实需求。

这才是和算得以兴起的物质基础。没有算盘的普及,就没有吉田光由的《塵劫記》;没有《塵劫記》书末留下的开放挑战题,就没有此后两百年里日本民间的数学竞技文化。

和算的社会结构:家元制与师徒网络

和算的传播依托的是日本社会固有的家元制——一种以核心家族或传承家族为中心的技艺传授制度,见于花道、茶道、能乐等传统艺术。在和算中,这表现为各算学流派的私塾网络:

关流(関流):以关孝和为始祖,其弟子建部贤弘、中根元圭等人将其方法系统化,传授给第三、第四代学生,形成日本最有影响力的算学流派。关流内部有严格的知识分级:入门者学算术,进阶者学天元术和开方,高阶者才接触関孝和创立的点竄術。各级均有"印可状"(相当于结业证书)作为传承的凭证。

这种制度有其好处:知识得以系统传授,不会因师傅去世而断绝;学生有足够的时间打牢基础再进阶。但它也有明显的局限:知识被关在流派内部,流派间的竞争多于合作,某些发现在传授时被刻意保留,作为流派的竞争资本而秘而不宣。关孝和本人的部分研究,据说连他的核心弟子都未完全知晓,是在他去世后整理遗稿时才被发现的。

算额传统与去等级化。 算额将这种等级化的流派知识拉向了另一个方向。挂在神社上的数学题,任何人都可以尝试解答,无论他是哪个流派、哪个社会阶层。历史上有确凿记录的算额解题者,包括武士、农民、商人,甚至有女性数学家的姓名出现在算额上——在同时代的欧洲,女性的数学活动几乎完全被排斥在学术机构之外。算额是一种非正式的、开放的知识竞技场,它补充了流派制度的不足,形成了一种独特的"数学公共领域"。

现存最早的算额日期可上溯到1683年,地点是宫城县志波彦神社。存世算额数量最多的时期是江户时代中后期(18世纪末至19世纪初),各地神社和寺院的算额多达数千块。明治维新后,算额传统急速衰退,但并未完全消亡:20世纪仍有算额悬挂,现存有明确记载的算额约九百块。

建部贤弘的圆理与级数加速

建部贤弘在圆周率计算和级数理论上的成就,比通常的介绍所呈现的更为丰富,值得更详细的叙述。

1722年,他完成了《綴術算経》(或称《綴術算経》),其中包含了计算 \(\pi\) 的详细过程。他的方法从内接正多边形出发,逐步加倍边数,利用勾股关系计算各多边形的面积,但关键在于他引入了一种加速技术:

设正 \(2^n\) 边形的面积为 \(S_n\),则内接多边形面积序列 \(S_1, S_2, S_3, \ldots\) 收敛到 \(\pi r^2\),但收敛缓慢。建部贤弘注意到,误差的递减呈现出有规律的模式,可以利用这个模式对序列进行外推修正:

\[S_n \approx \pi r^2 - \frac{A}{4^n} - \frac{B}{4^{2n}} - \frac{C}{4^{3n}} - \cdots\]

用两个相邻项的线性组合消掉首项误差,可以得到收敛更快的新序列。这种逐步消误差的外推方法,正是20世纪数值分析中的理查森外推法(Richardson extrapolation,1910年代)的前身。建部贤弘没有严格的极限理论,但他的直觉把握了这种方法的核心——误差有结构,可以被利用。

\[\pi \approx 3.14159265358979323846264338327950288419716\ldots\]

这个精度,在东亚数学史上无出其右,在欧洲也只有极少数同时期的计算能与之比拟。

朝鲜数学:《구수략》与东亚数学视野

朝鲜王朝的数学史,存在一部奇特而重要的著作——崔锡鼎(최석정,1646—1715)的《구수략》(九数略),这部书在任何关于中国数学的叙述中几乎都不出现,却是东亚数学史上的重要文献。

崔锡鼎是朝鲜王朝的高级政治家,曾两度担任领议政(相当于宰相),同时也是一位认真的数学家。他的《구수략》涵盖算术、代数和组合数学,其中最引人注目的部分是他对幻方(magic squares,纵横图)的系统研究。

崔锡鼎构造了一种他称之为"직교라틴방진"(直交拉丁方阵)的配置——今天我们用欧拉的术语称之为拉丁方(Latin square)和正交拉丁方(orthogonal Latin squares)。欧拉在1782年提出了"36军官问题",并猜测某些阶数的正交拉丁方不存在——这个猜想在1960年代被证伪。崔锡鼎在《구수략》中构造出了9阶正交拉丁方,时间比欧拉早了将近八十年。这是独立发现的一个重要案例,长期被数学史忽视,近年才受到较多关注。

《구수략》的另一个重要内容是对杨辉(南宋)幻方研究的系统扩展。杨辉在其《续古摘奇算法》中整理了从3阶到10阶的幻方构造方法;崔锡鼎在此基础上进一步研究了带约束条件的幻方,并尝试将代数方法引入幻方理论。

朝鲜数学的这个案例说明,“中国数学圈"内的学者,在接受中国数学传统的同时,也在产生超越这一传统的原创成果——只是因为语言障碍(汉字文化圈内部的朝鲜语写作)和历史书写的不对等,这些成果长期被边缘化在中国数学史与欧洲数学史的双重叙述之外。

越南:被双重截断的传承

越南数学史的记录之所以如此稀少,有其具体的历史原因。越南曾三次被中国直接统治(最后一次是明代永乐至宣德年间,1407—1427年),每次统治都带来中国行政体系和教育体系的直接植入;恢复独立后,越南统治者也继续沿用汉字和中国式科举,包括数学考试科目。

法国殖民统治(1858—1945年)截断了这一传承,以激进的方式将越南教育体系重写为法语教育体系。1919年废除科举后,曾经承载数学知识传播的制度框架整体消失,不像中国的情况——中国在废科举(1905年)之后保留了足够的本土知识人群体,使得传统数学的整理工作(乾嘉学派的遗产、晚清书目运动)得以延续。越南则没有这个缓冲。

结果是,越南数学史是东亚数学史中最难重建的部分。现存的越南数学文献,主要是汉字写成的天文历法著作,以及少量算法题集。独立的、可以归名于特定数学家的原创贡献,留存极少。这不是越南数学才能的缺失,而是文献保存的结构性失败——这种失败,与其说是越南历史的结果,不如说是殖民现代化那种特殊形式所造成的后果。

朝鲜的山学考试:制度如何塑造数学

朝鲜王朝的算学制度,在细节上比大多数叙述所呈现的更为精密,值得仔细一看。

朝鲜王朝设有专门的산학(算学)考试制度,由호조(户曹,相当于财政部)下设的산학청(算学厅)管理。这不是一个挂名的虚设机构,而是一套有实际运作的官僚体系:算学官员负责土地丈量、税收计算、粮仓管理、工程估算,是政府日常行政不可或缺的技术人员。

算学考试的准入资格本身就很有意思。朝鲜的主要科举(文科和武科)面向两班贵族,而算学考试则主要面向중인(中人)阶层——一个介于贵族和平民之间的专业技术阶层。这意味着:数学在朝鲜王朝是一种"技术人员职业”,而不是通向最高权力的路径。那些有志于最高政治地位的人,不会选择算学,而会选择经学和文学。能够把全部精力投入数学研究的人,往往是那些从一开始就没有走文科路线的中人阶层。

这个制度安排产生了一种奇特的效果:朝鲜的数学发展相当稳定,世代相传,没有太多中断;但它也被锁定在行政技术的实用范围内,缺少来自最高知识精英阶层的大规模推动。南秉吉是一个例外——他是两班贵族出身的高级官员,同时又是认真的数学家,这种组合在朝鲜数学史上非常罕见,也正因为如此,他能够推动数学超越纯粹的行政技术,进入更有理论深度的领域。

考试内容方面,朝鲜算学考试的标准书目不断更新,但核心始终包括《九章算术》和朱世杰的《算学启蒙》。有趣的是,到18世纪,朝鲜算学考试的某些题目,已经超出了这些经典文本的范围,包括了从清代数学著作里引进的新内容。这说明朝鲜算学并不是一个封闭的传统,而是持续与清代中国的数学发展保持着联系——通过外交使团购买书籍,通过两国学者偶尔的直接交流。

关孝和独立发现的哲学意涵

关孝和(关孝和,约1642—1708)独立发现行列式,比莱布尼茨早约十年——这件事的哲学意义,比它的数学技术内容更为深远。

让我们来直面这个问题:如果一个数学发现在两个地方被独立地完成,我们应该怎么理解这件事?

一种回答是"这证明了数学发现的客观性"——意思是,这些结构是真实存在的,足够聪明的人迟早都会发现它们,无论身在哪里。这种观点有一定道理:行列式理论从联立线性方程组的求解中自然涌现,这个问题无论在日本还是在欧洲都是真实的数学需求。当关孝和和莱布尼茨各自面对多元线性方程组的求解问题时,行列式的概念几乎是不可避免的。

但另一种回答同样值得认真对待:“这证明了数学发展的路径依赖性”——关孝和和莱布尼茨的行列式,虽然在数学内容上等价,但发展路径完全不同。关孝和从日本算盘文化中的整数多项式操作出发;莱布尼茨从欧洲代数和行列式的几何解释出发。他们到达了同一个地方,但走的是不同的路。这条路在他们之后的分叉,也是不同的:莱布尼茨的行列式进入了欧洲代数学的主流发展,变成今天每一位学线性代数的学生必学的工具;关孝和的行列式停留在和算的师徒传授圈内,直到明治维新被西方数学整体取代,才以历史文物的方式重新被发现和欣赏。

同样的数学发现,因为制度环境的不同,走向了完全不同的历史命运。这正是中算东传故事里最耐人寻味的地方:数学知识的价值,不只取决于其内在的真理性,还取决于它落在什么样的土壤里——那块土壤是否有能力接收它、传播它、让它与其他知识交融并生长。

算额问题精选:一道典型的江户几何题

算额传统留下了数以百计的几何问题,其中有些的优雅程度令人叹为观止。让我们来看一道具体的算额题,感受一下这个传统的气质。

题目(来自19世纪初的一块算额):一个圆内有三个相互外切的等圆,这三个等圆又各自与大圆内切。设大圆半径为 \(R\),三个等圆的半径为 \(r\),求 \(r\) 与 \(R\) 的关系。

这道题的几何直觉来自对称性:三个等圆关于大圆圆心三重对称,各等圆圆心到大圆圆心的距离相等,记为 \(d\)。

由于等圆与大圆内切:\(d + r = R\),即 \(d = R - r\)。

由于三个等圆相互外切,相邻两等圆圆心距离为 \(2r\)。三个圆心构成等边三角形,边长为 \(2r\),外接圆半径为 \(d\)。等边三角形外接圆半径与边长的关系:

\[d = \frac{2r}{\sqrt{3}}\]

代入 \(d = R - r\):

\[R - r = \frac{2r}{\sqrt{3}}\]\[R = r\left(1 + \frac{2}{\sqrt{3}}\right) = r \cdot \frac{\sqrt{3} + 2}{\sqrt{3}}\]

因此:

\[r = \frac{\sqrt{3}}{\sqrt{3} + 2} \cdot R = \frac{\sqrt{3}(\sqrt{3} - 2)}{(\sqrt{3})^2 - 4} \cdot R = \frac{3 - 2\sqrt{3}}{3 - 4} \cdot R = (2\sqrt{3} - 3) R\]

注意 \(2\sqrt{3} - 3 \approx 2 \times 1.732 - 3 = 0.464\),这意味着每个小圆的半径约为大圆半径的46.4%。这个结果的简洁性——最终答案是一个含根号的简单表达式——正是算额问题的典型气质:题目看起来复杂,但答案有内在的美感。

挂出这道题的算额制作者,把这个几何关系彩绘在木板上,带到神社,献给神明,也留给路过的路人。这是一种把数学之美当作礼物的行为,在任何其他文化中都没有对应物。

和算的终结与遗产:什么被保存,什么消逝

1872年,明治政府颁布《学制》,规定全国学校一律采用西方数学。对和算的从业者而言,这个决定意味着他们的知识在制度上变得无关紧要。

但"无关紧要"和"彻底消失"是两回事。

关孝和和建部贤弘的数学成果,在日本明治维新后的数学史学家那里得到了认真的整理和研究。19世纪末至20世纪初,三上义夫(1875—1950)系统整理了和算的文献,将其与西方数学史进行比较,并将关孝和发现行列式的问题介绍给了西方数学史学界。关孝和的独立发现因此在20世纪初进入了国际数学史学的视野,虽然来得太晚,已经无法改变"行列式"被冠以莱布尼茨之名的历史命名习惯。

算额传统,并没有在明治维新后立即消亡。它衰退了,但衰退是缓慢的。历史上记载的最晚一批算额,出现在20世纪初。更重要的是,它以一种令人意想不到的形式延续了下来:日本的数学竞赛文化。高中数学竞赛、奥林匹克数学预选赛,在日本有着特别深厚的土壤,参与度远高于大多数国家。这种把数学作为竞技、作为智识游戏的文化习惯,可以合理地追溯到算额传统的基因——把数学问题当作公开的挑战,面向不特定的求解者,不要求特定背景,只要求好奇心和解题能力。

点竄術,关孝和的书写代数系统,在明治以后完全被西方代数符号取代,没有留下任何活的传承。但从历史哲学的角度看,它的出现本身是有意义的:它证明了,在没有欧洲代数传统的情况下,一个有足够数学冲动的人,会自发地发展出书写符号来记录和操作代数关系。这种自发性,是数学作为人类认知活动的一种普遍性的证据。

为什么是日本,而不是朝鲜或越南?

这一章的三个主人公——朝鲜、越南、日本——都接受了同样的中国数学遗产。但只有日本从这个遗产出发,发展出了独立的数学传统。为什么?

这个问题没有简单的单一答案,但有几个因素值得认真考虑。

第一,制度外的空间。 朝鲜的算学被整合进官僚体系,形成了持续但保守的传统;越南的数学传统随着政治变革而起伏,缺少自主性。日本的和算,很大程度上发展在体制之外——由私塾和师徒网络传递,由算额这种非官方的公共平台传播。没有科举的捆绑,没有官方课程的约束,日本数学家面对的是更自由的知识空间。当吉田光由在书末留下没有答案的开放问题时,他在邀请任何人来挑战——这种邀请,在朝鲜的算学厅体制下是不存在的。

第二,算盘的间接效果。 算盘(そろばん)的普及,在商人和工匠阶层中创造了一种对数量关系的广泛兴趣和熟悉度。《塵劫記》的读者不是官员,是武士和商人。这个更广泛的基础,使得数学作为一种文化实践有了更宽的社会根基,不同于朝鲜和越南那种主要在官僚体系内部流通的数学文化。

第三,孤立的创造性压力。 江户时代的日本实行锁国政策(1633—1853年),严格限制与外部世界的接触。在这种孤立中,日本数学家无法轻易获得中国的最新数学发展,更无从接触欧洲的最新成果。这种孤立,在某种意义上迫使了原创性:当你无法引进外来知识时,你只能自己创造。关孝和发展点竄術,不是因为他知道欧洲已经有了字母代数,而是因为他需要一个工具来处理他面对的代数问题,而那个工具不存在,他必须自己发明。这种"没有退路"的创造性压力,在开放交流的环境中是不容易产生的。

这三个因素的叠加,造就了和算这个历史上独一无二的现象。它的消逝,是历史的必然;它曾经存在,是历史的奇迹。


Chapter 55: 中算与世界数学的双向交流

这不是单向的故事

1247年,秦九韶在湖州写下了当时世界上最精深的数论算法——一套完整、普适的同余方程组解法,也就是我们今天所说的中国剩余定理。彼时蒙古铁骑压境,战乱之中,他既无法接触波斯或印度的数学文献,也不知道地球另一端是否有人在研究类似的问题。

1303年,朱世杰出版了一部论著,将代数记法推广到四元联立未知数——这一层次的普遍性,欧洲代数学家要再等三个世纪才能达到。

然后……戛然而止。

产生了秦九韶与朱世杰的这一数学传统,就此停下了脚步。到1400年,它基本上已经凝固。到1500年,那些技法正在被遗忘。到1600年,中国学者开始重新"发明"它们——却几乎读不懂原始文本。

这是中国数学史上最核心的事实,它迫切需要一个解释。

独立成就对照时间轴

在试图给出解释之前,有必要精确地厘清:中国数学究竟取得了什么成就,又是在何时取得的?

年代中国成就同期世界水平中国领先/持平/落后
前3000年左右十进位值制记数苏美尔有60进位,但无位值十进制领先
前200年负数(《九章算术》“正负术”)印度Brahmagupta约公元628年领先约800年
前200年高斯消元法(“方程"章)高斯1801年领先约2000年
前200年联立线性方程的矩阵解法欧洲18世纪领先约2000年
约3世纪《孙子算经》:中国剩余定理初步欧拉1736年,高斯1801年完整理论领先约1500年
263年刘徽:π ≈ 3.14159阿基米德约前250年π约3.14持平(阿基米德略早,精度相当)
5世纪祖冲之:π 精确到7位小数欧洲同等精度要到16世纪领先约1100年
约500年祖暅:球体积公式,祖暅原理卡瓦列里1635年领先约1100年
约600年刘焯:二次内插法(天文历法)牛顿-格雷戈里内插公式1670年代领先约1000年
约1050年贾宪三角(帕斯卡三角)帕斯卡1654年领先约600年
约1050年贾宪:增乘开方法(霍纳方法)霍纳1819年领先约770年
11世纪沈括:会圆术(弦弧近似)欧洲类似方法17世纪领先约600年
1247年秦九韶:大衍求一术(完整中国剩余定理算法)欧拉-高斯1736—1801年领先约554年
1248年李冶:天元术(一元高次方程符号法)符号代数:韦达1591年领先约340年
1303年朱世杰:四元术(多元高次方程组)类似方法:欧洲19世纪领先约500年
1584年朱载堉:十二平均律数学计算梅森(法国)1636年同等成果领先约50年
1722年明安图:π 与三角函数的级数展开类似结果在欧洲已由牛顿等人获得独立,时间稍晚
1845年李善兰:尖锥术(幂函数积分公式)微积分已存在150年落后150年(但独立推导)
1859年引入微积分(《代微积拾级》)欧洲微积分已完备200年落后200年
1867年李善兰恒等式欧洲同时代独立发现持平(独立发现)
1880年引入概率论(《决疑数学》)欧洲概率论已发展200年落后200年
1900年代中国数学进入国际化轨道开始追赶

这张表格呈现的规律无从回避。整整两千年——从《九章算术》到朱世杰——中国数学始终站在世界前沿,甚至引领世界。然后,风向转变了。到1845年,李善兰独立重新发现了牛顿早在1665年就已知道的结论。到1859年,中国开始引进欧洲已经完整发展了两个世纪的微积分。

中间发生了什么?这才是问题所在。

真正独立的中国数学发现

在讨论这种分叉之前,“独立"二字值得细究——因为这个词在这里承担着相当严肃的哲学分量。

十进位值制(约公元前3000年起):中国甲骨文与商代青铜器铭文已经显示出系统性的十进位值记数法。印度-阿拉伯位值制大约在公元3世纪才独立发展起来——晚了约三千年。两个传统之间不存在任何合理的传播渠道。

负数(《九章算术》,约公元前200年):《九章算术》在方程中系统地使用正负数,并明确给出了加减乘除的运算法则。印度的婆罗摩笈多在628年才将负数运算系统化——大约晚了八百年。两个传统之间同样没有发现任何传播通道。

高斯消元法(《九章算术》,约公元前200年):今天每一位学线性代数的学生都学过"高斯消元法”,这个名字来自卡尔·弗里德里希·高斯——他在1801年的《算术研究》中描述了这一算法。而《九章算术》在约两千年前就已完整呈现了这一算法。之所以用高斯命名,是因为欧洲数学家不了解中国数学。这是历史的不公,被编码进了术语之中。

祖暅原理/卡瓦列里原理(约公元500年):祖暅的原理——“幂势既同,则积不容异”,即等高处截面积相等的立体体积相等——与博纳文图拉·卡瓦列里1635年在意大利发表的原理完全一致,晚了大约一千一百年。祖暅正是用这一原理推导出了球体积公式 \(V = \frac{4}{3}\pi r^3\)。

帕斯卡三角(贾宪,约1050年):二项式系数的三角排列在中国数学中出现,比布莱兹·帕斯卡早了大约六百年。波斯(卡拉吉,10世纪)和印度(11世纪)也有类似的三角,但中、波、印三个传统看起来都是独立到达这一结论的。

霍纳方法(贾宪、秦九韶,1050—1247年):以威廉·霍纳命名的高次多项式方程数值解法(1819年)在中国数学中早了大约八个世纪。

李约瑟问题的深度讨论

1954年,李约瑟在其《中国科学技术史》第一卷中提出了一个问题,引发的历史争论之多,在科学史领域几乎无出其右:

为何中国在前现代时期拥有如此众多的技术与科学成就,却未能自发地发展出现代科学?

从数学的视角来看,这个问题可以进一步锐化:为什么中国数学在宋元时期(约950—1368年)达到了世界级乃至领先世界的水平之后,却未能发展出微积分、抽象代数和数学分析——正是这些发展在1600至1900年间彻底改变了欧洲数学?

想象一场学术研讨会。桌上摆着五个假说。每一个都有证据,每一个都有反驳,没有哪个可以被轻易否定,但也没有哪个单独就够用。


假说一:算法取向 vs. 公理-演绎取向

论点:中国数学传统以算法为导向——给定一个具体问题,产生一套算出数值答案的方法。而希腊数学以证明为导向——从公理出发,通过演绎推理链建立普遍真理。微积分需要极限概念,极限需要严格的实数理论,实数理论需要那种希腊数学开创、而中国数学从未追求的公理化抽象构造。

支持证据:

  1. 中国数学文本几乎从不包含希腊意义上的证明。格式是"问题——答案——术曰……":给你的是一份操作流程,而非一套论证。刘徽(3世纪)和祖暅(5世纪)是少数提供真正数学推理的例外;常规是流程。
  2. 宋元代数学家——秦九韶、李冶、朱世杰——产生了求解高次方程的极其精深的算法,但这些算法始终以程序形式呈现,而非以待证命题的形式出现。

反驳:

  1. 刘徽在3世纪对《九章算术》的注释包含大量演绎推理,结构上与欧几里得论证颇为相似。“证明思维"缺席于中国数学这一说法,事实上是站不住脚的——它确实存在,只是不占主流。
  2. 17世纪创造微积分的欧洲数学家——牛顿、莱布尼茨——并不主要依赖公理-演绎方法。他们使用代数符号结合几何直觉,论证方式往往和中国数学一样不够严格。微积分的公理基础(魏尔斯特拉斯、戴德金)在牛顿之后整整两百年才出现。纯演绎路径并不能解释时间上的差异。

结论:部分解释。算法取向或许减缓了某些发展,但不能解释全部。


假说二:明代的断裂

论点:宋元时期的数学成就——天元术、中国剩余定理算法、朱世杰的四元术——在明代(1368—1644年)实际上被抛弃了。元明之际的战乱与动荡打断了学术传承。明代的科举制度几乎只考经典文学诠释,给中国最有才华的人们读数学、推进数学传统提供的激励几乎为零。

支持证据:

  1. 到明代,《数书九章》和《四元玉鉴》——秦九韶与朱世杰的代表作——已经几乎无人能读懂。李冶的天元术被认为过于艰深,实际上已遭废弃。
  2. 程大位的《算法统宗》(1592年)是明代流传最广的数学书,内容完全是实用性的:商业算术、珠算技法、计算田亩面积的题目。理论抽象的层次与秦九韶或朱世杰相比,不可同日而语。这不是巧合——这正是科举制度所激励的那种数学。

反驳:

  1. 清代(1644—1912年)出现了真正的数学复兴:乾嘉学派重新整理了宋元文献,李善兰独立重新发现了接近微积分的结论,中国最终也较为迅速地吸收了西方数学。这说明明代的断裂是可以愈合的——那为什么清代的复兴还不够呢?
  2. 欧洲数学也曾有过中世纪的中断,数百年间失去了大量希腊数学的接触。文艺复兴之后它迅速恢复并向前推进。一次暂时的断裂,不足以解释长达数世纪的分叉。

结论:重要的促成因素,尤其对于时间节点而言。但不能是全部答案。


假说三:天文驱动 vs. 物理驱动

论点:牛顿发明微积分,是因为他需要用它来定量描述行星运动。开普勒需要代数和数值方法来描述椭圆轨道。科学革命中的物理问题驱动了科学革命中的数学发展。中国有精深的天文学,但没有类似的、需要一套全新数学框架来回答的物理问题。当中国天文学家遇到棘手的插值问题时,他们开发了更精细的插值表格,而不是追问一套连续函数的理论。

支持证据:

  1. 中国天文数学专注于产生精确的数值表格——插值公式、差分方法——而不是寻找描述天体运动的解析函数。这是不同的认知范式:“表格思维"与"函数思维”。
  2. 17世纪欧洲数学与欧洲物理之间的联系十分紧密:弹道学需要微分方程,光学需要几何光学需要微积分,行星运动两者都需要。中国自然哲学没有寻求运动数学规律的同等传统。

反驳:

  1. 莱布尼茨通往微积分的路径主要是几何的,而非物理的:他思考的是面积与切线问题,而非行星。物理动机对牛顿的微积分很重要,但并非微积分概念本身所必需。
  2. 李善兰1845年的尖锥术表明,在完全属于中国传统的几何面积问题中,也可以产生接近积分的结论。几何动机是存在的。缺少的不是问题本身,而是问题之后发生的事情:用以将解表达为普遍理论的形式化语言。

结论:对于解释某些物理科学的不同发展路径有重要意义,但不能完全解释数学本身。


假说四:社会与经济激励

论点:16—18世纪的欧洲数学受到具体实际需求的牵引:航海(需要精确的三角学)、保险与精算计算(需要概率论)、土木工程与力学(需要微积分和微分方程)。这些需求为数学创新创造了资金、赞助与社会声望。而中国精英数学由士大夫阶层从事,他们的社会激励指向文学修养,而非数学前沿的开拓。

支持证据:

  1. 荷兰东印度公司、英国航海委员会、法国皇家学院——欧洲机构在商业和战略需求驱动下,为数学研究提供了持续的财政支持。
  2. 中国数学所受重视,在于它能为内部行政服务:田地丈量、赋税计算、历法推算。这些需求推动了恰恰是中国最擅长的领域的发展:算术、实用几何、插值方法。

反驳:

  1. 商业算术推动了珠算和《算法统宗》的普及——但这产生的是操作效率,而非理论深度。商业需求并不充分。
  2. 日本的算额数学基本上是娱乐性的——悬挂于神社的几何题,没有实际应用,纯粹为了乐趣。日本数学家在没有商业激励的情况下,依然达到了相当的高度。如果对数学的纯粹热爱能在日本推动严肃研究,理论上也可以在中国推动。

结论:重要的背景因素,但不充分。实际激励可以在某些方向上推动数学前进,但不能解释所有领域中数学抽象的普遍缺席。


假说五:计算工具与路径依赖

论点:算筹与算盘都是优化数值计算的工具——目标始终是一个具体的数,而不是一个符号表达式。这些工具养成了数值思维的认知习惯:你把问题转化为一系列数值运算,得到一个数值答案。16世纪的欧洲数学发展出了代数符号——韦达用字母表示已知量和未知量,笛卡尔引入了坐标记法——使得符号操作成为可能。当你用 \(x\) 和 \(y\) 作为符号运算时,可以在不知道它们代表什么数的情况下对其进行运算,并推导出普遍公式。微积分的核心运算——微分与积分——本质上是对符号的操作,而非对数字的操作。中国的计算传统从未发展出能够执行符号运算的工具。

支持证据:

  1. 13世纪中国的天元术已经在接近符号代数——它用算筹的位置来表示多项式各项的系数。但这套系统仍依赖于实物的空间排列,难以处理多个未知数,也没有留下可供审阅和扩展的书面符号痕迹。
  2. 15世纪之后算盘的普及,可能恰恰是中国数学的一次倒退。算盘在商业计算中比算筹更快、更实用。但它无法记录中间步骤,是纯粹操作性的,而非符号性的。算盘对算筹的胜利,或许关闭了发展书写符号代数的可能性。

反驳:

  1. 日本的关孝和用算筹加毛笔记法发展出了可用的书写符号代数,完全没有借助西方工具。工具的约束并非决定性的。
  2. 这一论点有循环论证的风险:中国数学没有发展出符号操作,我们用它缺乏符号操作的工具来解释这一点。

结论:有启发性,可能有一定道理,但不是定论。


李约瑟问题没有唯一答案

这五个假说没有一个是充分的。它们可能都有部分道理。这正是李约瑟问题如此经久不衰的原因:它不是一个等待单一正确答案的问题,而是一个迫使我们深思的问题——数学是什么,人类为何发展它,什么样的制度和文化环境使它得以繁荣,以及实际解题与抽象理论发展之间究竟是什么关系。

然而,有一个假说值得比通常在文献中获得的篇幅更多的关注,因为它切得最深。

关于数学目的的假说。 中国数学自《九章算术》以来,根本上是以回答"怎么做?“为导向的。这块面积怎么算?这个方程组怎么解?这个天文位置怎么推算?这些是计算性问题,而中国数学发展出了前现代世界最强大的计算算法。

希腊数学自欧几里得以来,则是以回答"为什么?“为导向的。三角形内角和为什么等于两个直角?正方形的对角线为什么是无理数?为什么质数必定有无穷多个?这些是结构性问题,而希腊数学发展出了能够超越任何具体计算而推广的形式化演绎结构。

当你为"怎么做?“优化时,你会发展出强大的数值算法。当你为"为什么?“优化时,你会发展出能够普遍化的形式结构。中国缺少的——而刘徽偶尔提供了的,日本数学家偶尔接近了的——不是计算能力,而是一个足够持续地追问"为什么?“而非"怎么做?“的数学家群体,使得追问"为什么?“的习惯得以嵌入数学文化之中。

这个假说无从证实,也同样无从证伪。它或许什么都解释不了,或许能解释一切。但它是最认真对待中国传统的那个假说——承认其真实成就,以其自身的方式理解其取向,并将这次分叉定位于所追问的问题之差异,而非所产生的答案之缺陷。


最后还有一件事需要说,而且是最重要的一件事。

李约瑟问题问的是,中国为什么没有在17世纪产生现代数学。它没有问之后发生了什么。

20世纪,中国数学家成为了多个领域的世界领军人物。华罗庚在数论方面作出了奠基性贡献,被列为那个世纪最重要的解析数论学家之一。陈省身创立了现代意义上的微分几何,他的陈类是当代数学和理论物理中最重要的概念之一。陈景润证明了一个如此接近哥德巴赫猜想的定理,以至于六十年后它仍是向一个数百年难题最近的逼近之一。还有数以百计的其他人。

这对于李约瑟问题意义重大,因为它表明,这个问题或许根本上是关于一个特定历史窗口的——大约1400到1900年之间的那个窗口——而非关于中国数学文化的某种深层属性。产生了13世纪的秦九韶与朱世杰的那种文化,同样产生了20世纪的华罗庚与陈省身。数学才华始终都在。它所需要的,是合适的制度、社会与智识环境,来让自己得以表达。

说到底,或许对李约瑟问题最诚实的回答是这样的:我们并不完全知道它为何发生,但我们知道它并不是永久性的。产生了《九章算术》、中国剩余定理和四元术的那个传统,也在20世纪产生了世界上一些最出色的数学。1700到1900年之间的两百年空白,回望过去,与其说是中国数学的天花板,不如说是一次中断——深重而代价高昂,但最终是可以承受的。

这五十五章走过了两千年的历史——从商代猎人的骨刻计数,到宋代无与伦比的算法,到1859年李善兰坐在上海,在卢美思的微积分教材中认出了自己的尖锥术,再到口岸时代的翻译工作将中国一点一点地重新接入世界数学的对话之中。这不是一个关于成功或失败的故事,而是一个关于人类智性以其独特方式探索真理的故事——那些真理是所有曾凝视数字、追问"这些东西究竟是什么、能做到什么"的人类所共同拥有的。

真理不属于任何一个文明。但通往真理的路是我们可以追溯的,而这一条——中国的那条——与任何其他路径一样奇异,一样丰富,一样令人由衷叹服。

算盘向东亚的传播:从中国到日本

中国算盘(珠算)是中算向东亚传播最具体、最可追溯的一条线索。

传播时间线。 中国算盘(上二下五的"官方"形制)大约在16世纪中叶传入日本,日本文献最早记载约在天正年间(1573—1592年)。传入的路径并非单一:一是通过中日贸易商人的直接往来,二是通过朝鲜的中间传播。到江户时代(1603—1868年),日语的"そろばん”(算盘)已经完全普及,成为商业计算的标准工具。

日本化的差异。 传入日本后,算盘经历了本土化改造。中国算盘上档两珠(每颗代表5)、下档五珠(每颗代表1),上下合计最大可表示到15,设计上有一定冗余,适合十六进制换算(旧式度量衡)。日本算盘(そろばん)逐渐去掉上档一珠,改为上一下五,与十进制更加匹配。这一形制简化在明治时代(19世纪末)完成,今天日本标准算盘正是"上一下四"形制——比中国的"上二下五"更为简洁,冗余更少。

《算法统宗》的配套传播。 程大位《算法统宗》(1592年)在17世纪初传入日本,成为日本珠算教育的基础文献。这意味着算盘的硬件和珠算的口诀体系是同步输出的。日本和算家在此基础上发展出了自己的珠算口诀改良版,并在18世纪的"算额”(悬挂于神社的几何题)传统中,把珠算与纯粹数学问题结合起来,走出了一条与中国明代数学截然不同的发展路径。

三角函数的传播链:中国在末端的位置

三角函数在全球数学史中经历了一条清晰的传播路径:

\[ \text{托勒密(约150年)} \rightarrow \text{印度(阿耶波多,499年)} \rightarrow \text{阿拉伯(9世纪)} \rightarrow \text{欧洲(15世纪)} \rightarrow \text{中国(17世纪)} \]

第一站:托勒密与正弦前身。 约公元150年,亚历山大的托勒密在《天文学大成》(Almagest)中建立了弦表——给出从0°到180°每半度的弦长值,以半径为60单位。这是正弦表的前身(正弦 \(= \frac{\text{弦}}{2}\))。

第二站:印度的半弦概念。 公元499年,印度数学家阿耶波多(Āryabhaṭa)在《阿耶波多历数书》中明确引入"半弦”(jyā,梵文)作为独立函数,这才是现代意义上的正弦。“正弦"这个词的语源:阿拉伯人将梵文音译为"jiba”,后被中世纪欧洲学者误读为阿拉伯文"jayb”(海湾、弯曲),再译成拉丁文"sinus”(弯),于是有了英文"sine”。

第三站:阿拉伯的系统化。 9世纪阿拔斯王朝,数学家们(如花拉子模、阿尔-巴塔尼)系统整理了六种三角函数并建立了完整的球面三角学,用于天文历算。

第四站:欧洲文艺复兴。 德国数学家雷格蒙塔努斯(Regiomontanus)1464年完成《论各种三角形》,是欧洲第一部独立的三角学著作,此后三角学与代数逐步结合。

末端:中国在17世纪的接收。 利玛窦等传教士在17世纪初将三角学带入中国,徐光启、李之藻参与翻译,梅文鼎随后系统化整理。中国在这条链中处于接收端,且由于语言隔阂,始终无法直接阅读欧洲最新数学文献。

反向贡献的问题。 一行(683—727年)的不等间距插值法是否影响了阿拉伯天文学?目前没有直接证据,但从知识传播路径看,阿拉伯天文学家(如比鲁尼)知道印度天文学,印度天文学和中国天文学之间有过接触,理论上影响路径存在。然而,这一贡献目前是推断而非确证的,学界尚存争议。

中国数学符号在东亚的扩散

中国数学的具体符号系统——汉字数字、算筹记法、《九章算术》的题型框架——在东亚各文明中留下了深刻印记:

朝鲜。 15世纪朝鲜王朝直接引入中国算学教材(算经十书中的部分),并建立了官方算学教育制度。朝鲜算学生学习的问题类型和计算方法与中国高度一致。程大位《算法统宗》在17世纪也传入朝鲜。

越南。 越南在宋元时期已接受中国数学,用汉文书写数学文献,《九章算术》的题型框架直接被沿用。越南传统数学的"方程"类题目,与中国算经中的线性方程组解法几乎完全一致。

日本。 和算(日本传统数学)初期完全以中国算经为基础,后来在17—18世纪发展出独特的风格——尤其是关孝和的"傍书法”(一种书写符号代数)——但《九章算术》的问题类型和基本算法始终是底层框架。

双向交流期:传教士带回的中国数学

明末清初通常被视为西方数学单向流入中国的时代,但这个图景是不完整的。在相反方向上,中国历算著作也通过耶稣会士被介绍回欧洲。

闵明我(Claudio Filippo Grimaldi,1638—1712),意大利耶稣会士,长期在清廷任职。1688年他离华返欧,携带了大量中国历算文献,包括介绍中国天文历法成就的手稿。这些材料后来影响了莱布尼茨对中国科学的认识——莱布尼茨与闵明我有书信往来,对中国的二进制和《易经》八卦颇感兴趣。

白晋(Joachim Bouvet,1656—1730),法国耶稣会士,1693年返回法国向路易十四汇报,携带了中国历算资料,并向巴黎皇家科学院介绍了中国数学和天文学成就。他还与莱布尼茨通信,讨论《易经》与二进制的关系。

《历象考成》和《数理精蕴》(1723年)完成后,耶稣会士也将其主要内容的拉丁文摘要送回欧洲,成为18世纪欧洲汉学家了解清代数学的渠道之一。

这些回传的内容在欧洲数学史上没有产生重大影响——因为它们介绍的是欧洲早已掌握的初等数学。但它们提供了一个关键证据:传播从来不是完全单向的,而是双向的,只是两个方向的信息量相差悬殊。

吴文俊与机械化数学:中国算法传统的现代回响

吴文俊(1919—2017),中国数学家,曾被称为20世纪中国数学的核心人物之一(与陈省身并列)。他最重要的学术贡献,是1977年提出的定理机械化证明方法(Wu’s method,吴方法)。

这一方法的核心思想:将几何定理的证明转化为多项式方程组的计算问题,通过特征列(characteristic set)算法依次消去变量,最终判断定理是否成立。整个过程是纯粹算法性的,不需要人工寻找辅助构造,可以由计算机自动完成。

与中国传统数学的渊源。 吴文俊本人明确指出,他的方法在思想渊源上与中国传统的天元术四元术直接相关:

  • 天元术(13世纪,李冶):用算筹表示一元高次多项式,通过操作系数求解方程
  • 四元术(1303年,朱世杰):扩展到四元联立多项式,通过"消元”(四元消法)逐步降维

吴方法的核心操作——多项式的逐步消元——与四元术的四元消法在逻辑结构上高度相似。区别在于:四元术依靠算筹的空间排列,吴方法依靠现代计算机代数系统。同样的算法思想,从13世纪到20世纪,跨越了七百年。

一个简单例子: 用吴方法验证"三角形中位线定理”

设 \(\triangle ABC\),\(M\) 为 \(AB\) 中点,\(N\) 为 \(AC\) 中点。证明 \(MN \parallel BC\) 且 \(MN = \frac{1}{2}BC\)。

将坐标参数化:\(A=(0,0)\),\(B=(2b_1, 2b_2)\),\(C=(2c_1, 2c_2)\),则 \(M=(b_1, b_2)\),\(N=(c_1, c_2)\)。

中位线斜率:\(\frac{c_2-b_2}{c_1-b_1}\),底边斜率:\(\frac{2c_2-2b_2}{2c_1-2b_1} = \frac{c_2-b_2}{c_1-b_1}\)。两者相等——平行性得证。中位线长:\(\sqrt{(c_1-b_1)^2+(c_2-b_2)^2}\),底边长:\(2\sqrt{(c_1-b_1)^2+(c_2-b_2)^2}\)。长度关系得证。

这个过程——将几何问题转化为代数计算、通过计算代替推理——正是中国传统算法思维的现代数学实现。

华罗庚与陈省身:20世纪中国数学的两种国际化路径

李约瑟问题问的是1400—1900年,而不是1900年以后。20世纪的中国数学证明了一件事:那五百年的空白是历史的偶然,不是文化的宿命。

华罗庚(1910—1985),从一个没有完成大学学业的自学者,成为解析数论和堆垒数论领域的世界级数学家。他1938年在英国剑桥与哈代共事,1946年在美国普林斯顿高等研究院工作,与冯·诺依曼等人共事。他关于Waring问题(将正整数表示为固定幂次之和)、三角和估计以及矩阵几何的工作,被国际数学界引用至今。在华罗庚的数学与中国数学史传统之间,是否有直接的线索?这个问题没有简单的答案。他的数论工作融入了国际数论传统的主流,而非从中国古代数学出发的独立发展。中国剩余定理在现代数论中的角色更多是历史上的先例,而非他直接承继的工具。

陈省身(1911—2004),创立了现代意义上的微分几何。他的核心贡献——陈示性类(Chern classes)和陈-韦尔理论——在20世纪数学物理中无处不在。规范场理论、拓扑量子场论中的基本几何语言,来自陈省身在1940年代的工作。陈省身在中国数学史传统和现代微分几何之间,同样没有明显的直接传承关系:他的数学完全来自20世纪的国际微分几何传统(嘉当、魏尔等人的影响)。

这两人的故事说明了一个重要事实:中国数学在20世纪进入国际一流,不是通过复兴古代传统,而是通过全面融入现代数学的国际体系。中国传统的真正遗产,或许更多体现在算法取向的认知习惯上——这正是吴文俊将计算机算法思维与几何定理证明结合的深层背景。

尾声:三千年的数学史,一个未完成的对话

从甲骨文的数字刻划到吴文俊的机器证明,中国数学走过了三千年。这段历史有过峰顶——宋元时代的算法代数,领先世界数百年;有过低谷——明代珠算主导下理论探索的停滞;有过猛烈的外部撞击——两次西学东渐,每次都带来认识论上的深刻震动;也有过顽强的内部积累——乾嘉学者在西算全面传入之前,靠中算自身的资源把高次方程理论推到极限。

这段历史不支持任何简单的叙事。它不是一个线性进步的故事,也不是一个文明停滞然后被外力激活的故事。它是一个具体的、偶然的、由无数个人在具体的制度和文化环境中做出具体选择的历史。祖冲之能算出密率,是因为他有算筹和充足的时间;秦九韶能写出《数书九章》,是因为他在南宋的战乱中反而得到了足够的读书机会;李善兰能翻译微积分,是因为他遇到了伟烈亚力,而伟烈亚力来中国是因为英国传教会需要在上海建立印刷机构。

历史中的数学,从来不只是数学家与问题之间的二元关系,而是人、工具、制度和时代之间的多重纠缠。理解这一纠缠,是历史学的任务;而在这种纠缠中发现数学本身的规律和美,是数学的任务。这门课试图把这两件事同时做好。

如果读完这五十五章之后,你发现自己对刘徽割圆的直觉有了新的敬意,对秦九韶的算法感到既熟悉又陌生,对李善兰翻译微积分时的孤独处境感到一丝共鸣——那这些文字就没有白写。数学史的意义,不在于告诉你应该崇拜哪个传统,而在于帮你看见:人类理解数量和空间的努力,在不同的语言、工具和文化中,走过了怎样各自迂回又彼此呼应的道路。

这个对话,还在继续。


Back to top