星辰志
返回观测志

13.5 大衍历

2024.01.01阅读 4 min

核心概念

大衍历是唐代高僧一行(683-727 年)编制的历法,于开元十七年(729 年)颁行。它是中国古代历法第一次使用定气法(不等间距节气),并大规模实施全国实地观测来校准历法常数。大衍历代表了中国历法从纯推算向"推算+实测双层校准"的过渡。

核心概念

大衍历是唐代高僧一行(683-727 年)编制的历法,于开元十七年(729 年)颁行。它是中国古代历法第一次使用定气法(不等间距节气),并大规模实施全国实地观测来校准历法常数。大衍历代表了中国历法从纯推算向"推算+实测双层校准"的过渡。

一、背景:麟德历的问题

大衍历之前,唐朝使用的是李淳风的麟德历(665 年)。麟德历沿用传统的平气法(24 节气等间距),推算准确性已经出现偏差。唐玄宗开元年间,需要一部新历法来体现开元盛世。

二、一行的实测改革

一行做了一件前人没有做过的事:组织全国性的天文大地测量。

2.1 子午线测量

一行派人在北起铁勒(今蒙古)、南至林邑(今越南)的 12 个地点同时观测冬至日影长度。最终由南宫说在河南的四个地点(白马、浚仪、扶沟、上蔡)完成了核心测量,得出:

南北相距 351 唐里 80 步,北极高度相差 1 度

换算后相当于子午线 1° ≈ 131.3 km(现代值是 111.2 km,误差约 18%)——这是世界上第一次子午线弧长实测。

2.2 推翻寸影千里

盖天说的"影差 1 寸 = 南北距 1000 里"被一行直接推翻。实测数据显示,这种关系根本不成立——日影差和地理纬度之间的关系是非线性的。

2.3 恒星位置修正

一行还通过实测发现,许多恒星的位置和古代记载(如《石氏星经》)有系统性偏差——这实际上是对岁差效应的一次大规模验证。

三、大衍历的核心创新

3.1 定气法

大衍历首次在节气计算中使用定气法:24 节气不再按时间等分(平气),而是按太阳在黄道上的实际位置等分(每 15° 一个节气)。这意味着两个节气之间的天数不再相等——冬至前后间隔短(太阳视运动快),夏至前后间隔长(太阳视运动慢)。

3.2 不等间距的二十四节气

定气带来的直接后果是:相邻中气之间的天数不均匀。这使得无中气置闰的规则变得更加复杂——大衍历引入了一套专门的算法来处理不等间距下的置闰。

3.3 月行九道

一行建立了更精确的月球运动模型,把月球在白道上的运动分成九段(月行九道),每段有不同的速度。实际上是把月球运动的"盈缩"(速度不均匀)做了一次精细化的分区建模。

3.4 五星运动

大衍历对五大行星的运动周期做了全面修正。每个行星给出了入气差(行星在什么节气到达什么位置)的表格,使用插值法计算中间值。

四、大衍历的数学工具——插值法

大衍历大量使用二次插值法来计算天象。一行在麟德历的等间距二次插值法基础上,发展出了不等间距二次插值法。这是数学史上的重要贡献——牛顿提出的同类方法在 17 世纪,一行早了约 900 年。

五、大衍历的政治运用

一行是密宗高僧,也是唐玄宗最信任的天文顾问。大衍历颁行的背景不仅是天文需求,更是"开元盛世"需要一个冠名历法。一行将自己名为"大衍"——取自《周易》"大衍之数五十"——把历法嵌入盛唐的宇宙论叙事。

六、大衍历的局限

  1. 定气和置闰打架:定气法使中气不再等间距,影响了闰月安排的便利性
  2. 仍在用上元积年:一行的上元积年高达 9693 万年,天文上毫无意义
  3. 插值法精度有限:二次插值仍然无法精确描述天体运动的复杂变化
  4. 寿命不长:大衍历只用了约 28 年(729-757 年),安史之乱后被至德历取代

七、大衍历的历史地位

大衍历标志着中国古代天文学的方法论转折:从纯纸面推算走向实测校正。一行派 12 队人全国测影,这是国家级的"科研项目",在世界天文学史上具有里程碑意义。