∫π每天一道数学题
← 返回周髀算经
周髀算经 · 第 9 讲 · 2026-10-15 · 约 11 分钟

中国古代数学的天文传统

中国古代数学与天文密不可分。但「密不可分」不只是说它们有关联——天文是中国古代数学最主要的「客户」,数学的每一步进展几乎都对应一次历法精确化的需求。这一讲从一部历法的年代误差讲起,直到 26 秒。

七衡六间是观测提炼出的天球模型

七衡六间是观测提炼出的天球模型

从 26 秒讲起

元朝天文学家郭守敬主持编制的《授时历》,定一回归年为 365.2425365.2425 天。

现代测得的回归年长度是 365.2422365.2422 天。

两者相差:

365.2425−365.2422=0.0003 天/年365.2425 - 365.2422 = 0.0003\ \text{天/年}

折算成秒,每年差 0.0003×86400≈260.0003 \times 86400 \approx 26 秒。

一年差 26 秒听起来微不足道。 但历法是一项要用几百年的工程,误差会累积。按每年 26 秒算,一百二十八年累积约五十五分钟——足够让节气偏移一天,让农时整体错位。

《授时历》从 1281 年行用,直到明末(1644 年)才被《大统历》体系取代,实际行用了三百六十余年。以每年 26 秒计,三百多年累积约两个多小时,误差始终在可接受范围内。

这 26 秒背后是一整套数学工具的供给。 没有分数运算、没有插值、没有精密观测,这个精度出不来。

历史背景

中国古代数学的一个显著特点:数学为天文服务。

  • 《周髀算经》:天文数学
  • 《九章算术》:土地测量、税收计算
  • 《海岛算经》:天文测量
  • 《孙子算经》:算筹计算(天文计算的基础)

这个「服务关系」怎么理解? 它不是贬义——说数学为天文服务,不是说数学是工具、天文是目的,而是说:天文提出了古代最难的一批计算题,数学是被这些问题逼着往前走的。

换个说法:古代没有计算机、没有望远镜,天文学家要预报日食月食、要定节气、要编排历日,全靠纸笔和算筹。这些需求构成了当时对计算精度和算法的最高要求。

天文观测推动数学发展

  1. 精确测量太阳高度 → 相似三角形、勾股定理
  2. 计算日月运行周期 → 分数运算、等差数列
  3. 确定二十四节气 → 等差数列、插值法
  4. 制定历法 → 最小公倍数、同余问题

逐条展开。

太阳高度 → 相似三角形

第 2 讲讲过,立表测影、用相似三角形反推太阳高度。这是古代天文的基本功,刘徽《海岛算经》发展出的重差术正是它的推广——用两次、多次观测消去不可达的距离。

日月周期 → 分数运算

朔望月约 29.5329.53 日、回归年约 365.2422365.2422 日,都不是整数。要把「日」编排成「月」和「年」,分数是唯一工具。

四分历定一年为 36514365\dfrac{1}{4} 日,已经是一个很有用的近似。但 14\dfrac{1}{4} 这个分母太小,累积误差偏大,用久了就要改制。

二十四节气 → 等差数列

把回归年均分二十四份,每份就是

365.242524≈15.22 日\frac{365.2425}{24} \approx 15.22\ \text{日}

古法通常用整数近似(十五日或十六日交替),本质上是一个等差数列。更精细的做法要考虑太阳运动的不均匀(定气),需要插值。

制定历法 → 最小公倍数、同余问题

一部历法要同时协调朔望月、回归年、以及更长的周期(如五星会合周期)。让多个周期在某一天重新对齐,就是最小公倍数问题。当周期不带整数性(如 365.2425365.2425 与 29.530629.5306),就要用「通分」的办法找共同的近似值。

《孙子算经》的「物不知数」(三三数之剩二、五五数之剩三、七七数之剩二)解决的正是这类问题——一次同余方程组。它是历法上元积年计算的数学基础。

古人的天文历法

四分历(太初历):一年 36514365\dfrac{1}{4} 天

365+14=365.25 天365 + \frac{1}{4} = 365.25\ \text{天}

与现代值差约 365.25−365.2422=0.0078365.25 - 365.2422 = 0.0078 天/年,即约 1111 分钟/年。这个误差不算小,用一百多年就能积累一天。

授时历(郭守敬):一年 365.2425365.2425 天

365+0.2425=365.2425 天365 + 0.2425 = 365.2425\ \text{天}

与现代值 365.2422365.2422 天仅差 2626 秒/年。

从四分历到授时历,精度提高了两个数量级。 这不是观测工具单方面的进步,而是数学方法的整体升级——分数逼近、插值、以及大规模精密计算的组织能力。

现代数学视角

现代天文学中的数学工具:

  • 球面三角学:计算天体位置
  • 微积分:计算天体轨道
  • 数值分析:修正观测误差

古今对照:古人用分数逼近和插值,现代用微积分和数值方法。但核心问题没变——从有限的观测出发,推断连续的运动规律,并预报未来位置。

一个具体的连接点:开普勒从第谷的观测数据中提炼出行星运动三大定律,用的正是「数据 → 模型 → 修正」的路径。这个方法论的起点,可以追溯到古代历法家的工作。

插值:古今共用的那一招

插值法值得单独说。它的思路是:已知若干点上的值,估计中间的值。

古代历法用它处理太阳运动的不均匀——太阳每天走的角度不是恒定的,但可以按节气列表,节气之间用比例插值。刘焯的《皇极历》用二次差内插,一行僧的《大衍历》进一步发展到九次差内插。这条线一直延伸到郭守敬《授时历》的招差术。

今天插值法在哪里? 图像缩放、天气预报的温度曲线、动画的关键帧补间,甚至深度学习里的插值生成——都是同一思路的延伸。一条从汉代走到今天的技术脉络。

误差:一个被反复追问的问题

古代历法家面对的核心难题是误差累积。

四分历一年 365.25365.25 天,每年多大约 1111 分钟。一百多年累积一天,节气就整体错位。这不是数学不够好,是模型的固有精度所限。

怎么办? 只有两条路:换更精确的模型(分子分母更大),或者周期性改制。中国古代改历数十次,多数都是这个原因。

今天写的程序也有同样的问题。 浮点误差、舍入误差、累积误差,是数值计算的基本话题。古代历法家没有计算机,但他们面对的数学结构是一样的。

在高中数学体系里的位置

思想延伸:天文观测推动了数学的发展。古代数学的每一个进步,几乎都与天文历法的需求有关。

运算练兵场:等差数列、分数运算、最小公倍数。

一个贯通的设计:本章前九讲讲的每一个工具,都能在天文传统里找到它的「原生场景」:

讲次数学工具天文场景
第 1 讲勾股定理测量、立表测影
第 3 讲七衡六间太阳视运动轨道
第 4 讲宇宙模型天地形状假设
第 5 讲分数运算朔望月、回归年
第 6 讲相似三角形日高、日远
第 7 讲圆与扇形圆周率、周天度数

这不是巧合,是数学史的真实结构。 课本按知识体系编排,抽离了原生场景;而古代数学是从问题出发的。两个视角对照,能看清哪些工具是「为了解题发明的」(比如同余),哪些是「为了描述世界发明的」(比如球面三角)。

思考与拓展

  1. 为什么中国古代数学与天文关系密切?
  2. 查资料:现代天文学中有哪些数学工具?
  3. 如果让你设计一个古代天文台,你会考虑哪些数学问题?
  4. 思考题:四分历一年 365.25365.25 天,与真实值差约 1111 分钟/年。多少年后会累积到一天?这与「闰」的设定有什么关系?
  5. 思考题:《授时历》一年 365.2425365.2425 天仅差 2626 秒。查查看这个数值跟现今公历(格里高利历)的 365.2425365.2425 天是同一个数值吗?两者是什么关系?
  6. 思考题:古人没有小数,只有分数。查查看祖冲之把圆周率表示为 355113\dfrac{355}{113},这属于什么类型的逼近?

一句话总结

中国古代数学与天文密不可分——天文观测推动数学发展,数学服务于天文历法;从四分历到授时历,精度提高了两个数量级,最终停在一年 26 秒。

— Y. · 2026-10-15