为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > [曲安京] 太乙術數的第一部曆法.quanjing-8

[曲安京] 太乙術數的第一部曆法.quanjing-8

2013-02-26 10页 pdf 402KB 138阅读

用户头像

is_725386

暂无简介

举报
[曲安京] 太乙術數的第一部曆法.quanjing-8 www.paper.edu.cn 太乙术数的第一部历法* 曲安京 (西北大学数学系, 西安, 710069) 摘要 《甲寅太乙历》是作者根据唐代《太乙金镜式经》中记载的一条上元积年数据 发现并修复的一部历法. 它可能是太乙术数中的第一部历法. 在重构这部历法之上元的过程中,意外地发现,就气朔的推算来说, 《甲寅太乙历》与 《殷历》实际上是相同的. 由於两历都是四分历, 是故他们推算的历谱将是完全一样的.《甲 寅太乙历》的制定年代大约出於 400BC ...
[曲安京] 太乙術數的第一部曆法.quanjing-8
www.paper.edu.cn 太乙术数的第一部历法* 曲安京 (西北大学数学系, 西安, 710069) 摘要 《甲寅太乙历》是作者根据唐代《太乙金镜式经》中记载的一条上元积年数据 发现并修复的一部历法. 它可能是太乙术数中的第一部历法. 在重构这部历法之上元的过程中,意外地发现,就气朔的推算来说, 《甲寅太乙历》与 《殷历》实际上是相同的. 由於两历都是四分历, 是故他们推算的历谱将是完全一样的.《甲 寅太乙历》的制定年代大约出於 400BC 前后, 最迟当不晚於汉武帝元朔元年(128BC). 《甲寅太乙历》中有三个大的周期, 这三大周期是《甲寅太乙历》上元的选择所必须 考虑的先决条件, 它们分别是: 4560 年的气朔周期, 4320 年的大游太乙周期, 以及 225 年 的五福太乙周期. 而后两个大的周期是普通的官方历法所不予考虑的, 因此, 官方历法无 法取代太乙历法. 由於太乙历法的上元选择采用的是中国古代传统数理天文学中的演纪算法, 这个事实 从来未引起研究者的注意, 因此, 可以说太乙历法是中国历法史上长期以来被忽视了的一 个重要分支. 关键词 太乙, 历法, 殷历, 术数, 太乙金镜式经 1. 前言 太乙, 又称太一, 是先秦流行的 7 种术数流派之一. 唐代以后, 与六壬及遁甲并称三 式. 据《唐六典十四》记载:1 太卜令掌卜筮之法, 以占邦家动用之事, ...凡式, 占辨三式之同异. 注云: “一曰雷 公式; 二曰太一式, 并禁私家畜;三曰六壬式, 士庶通用之.” 秦九韶在其《数九章》序言中指出:2 今术数之书,尚三十余家: 天象历度谓之缀术, 太乙壬甲谓之三式. 皆曰内算.言其秘 也.九章所载, 即周官九数, 系於方圆者, 为 术, 皆曰外算. 对内而言也. 由此可见太乙术数是一门官方秘术. 宋代以后, 三式的称呼已经普遍, 并与历算、天文 并列为当时国子监教学的主要内容之一, 成为国家天文历算机构培养专业人才的必修科目 之一. 虽然太乙作为术数中的一个重要流派, 在各种史籍的书目中都存有许多篇目, 仅二十 四史中的《艺文志》, 在术数类的条目下, 就记载了大量的太乙方面的著作, 唐代有名的大 历算家如李淳风、僧一行等都写过这方面的书, 但因历代朝廷均严禁民间私习, 因此, 阻碍 了这些著述的流传. 太乙类的书籍在明代以后几乎失传殆尽, 《四库全书》中收录的太乙术 数的著作, 仅有唐代王希明的《太乙金镜式经》. 《太乙金镜式经》中主要记述的是一部唐代开元年间王希明编写的太乙历法. 但在这部 经过后人增补的书中, 还记录了好几个不同的上元积年数. 根据对其中一条以甲寅为上元 岁名的积年数的研究, 本文发掘出了迄今为止可以发现的最早的一部太乙历法. 为了与历 史上别的甲寅元历或太乙历有所区别, 以下为行文方便, 姑将这部新发现的太乙历法称之 为《甲寅太乙历》. 太乙在术数中的地位是十分突出的, 《古今图书集成》艺术典术数类的第一个内容就是 介绍太乙术数的算法与程式. 虽然“太乙”一词在先秦的典籍中已经出现, 但明确记载太乙 术数之内容与算法的历史却并不是很早. 何丙郁教授对《南齐书》的研究表明, 萧子显 * “太乙术数历法史”之一. 陕西省教委专项基金资助项目. 1 《唐六典》, 北京: 中华书局, 1992,412~413 2 郭书春主编. 中国科学技术典籍通汇(数学卷一). 郑州: 河南教育出版社, 1994, 439 1 www.paper.edu.cn (489-537AD)曾运用太乙术数的方法, 推算讨论了汉高祖五年(202BC)至宋顺帝元年 (477AD)历经679年的国家兴亡大事. 这个结果将有文字记载的太乙术数的历史追溯到南北 朝时期.3 本文通过对《甲寅太乙历》之上元积年的重构, 搞清了早期太乙术数进行推算时所有重 要的基本周期, 同时发现了该历与《殷历》的某种特殊关系. 并利用这部历法的基本常数与 理论值的误差, 归算出其制定的年代大约在战国时期, 至迟不会晚於汉武帝元朔元年 (128BC). 从而将可以考证的太乙术数的确切历史上寻至汉代以前. 为探索太乙术数的源流, 提供了一个重要的年代数据. 同时, 本文试图证明, 太乙历法的基本常数系统的构建方式与传统中国古代数理天文 学所采用的方法大体相同, 但又是官方历法不能替代的一个历法种类, 它是中国历法史上 一个几乎湮没无闻的重要分支. 2. 最早的太乙历是一种四分历 据王希明《太乙金镜式经》卷五记载:4 自上元甲寅之岁至大唐开元十二年甲子岁, 积得二十八万五千一十一算. 如果我们以 表示公元 N 年距某个历法的上元积年,由上述文字可知,唐代开元十二年 (724AD)距《开元太乙历》上元积年 = 285011 年. Nn N 724 王希明没有给出这个《甲寅太乙历》造於何时、为谁所造、其基本常数有哪些等基本数 据. 由於四分历是早期中国历法普遍采用的系统,5 因此, 很有可能为术数家所采用. 表 1. 太初元年(104BC)三历气朔闰推算数据 太初历(三统历)6 后汉四分历7 甲寅太乙历 制定年代 104BC 85AD ? 104BC 距上元积年 143127 9177 284183 上元岁名 丙子 庚辰 甲寅 闰周 19 年 7 闰 19 年 7 闰 19 年 7 闰 回归年 562120/1539 1461/4 1461/4 朔望月 2392/81 27759/940 27759/940 104BC 冬至时刻 甲子日夜半 癸亥日 75 刻 甲子日 75 刻 104BC 闰余 0.00 0.00 0.00 104BC11 月经朔 甲子日夜半 癸亥日 75 刻 甲子日 75 刻 当我们假定《甲寅太乙历》是一种四分历, 并按《太乙金镜式经》中给定的这个上元积 年进行推算时, 惊异地发现, 其历注气朔时刻与《太初历》及《后汉四分历》的推算居然大 体相近(表 1). 由於按大历元进行历法推算, 基本常数的些微改变, 都将造成气朔时刻的巨大差异, 因此, 若给定一组基本常数, 通常只对应着一个上元积年; 反之, 如果给定一个上元积年, 也并非随意一组回归年及朔望月常数便能与之配合. 所以, 表 1 推算的结果, 决不是一种 巧合. 可以据此推断, 《甲寅太乙历》就是一种四分历. 按照四分历的回归年与朔望月等 基本常数, 还可以导出它的如下一些周期: 一章 = 19 年 = 235 朔望月 (共置 7 个闰月, 闰余为 0 ) 一部 = 4 章 = 76 年 = 940 朔望月 = 27759 日 (日分为 0) 3 何丙郁. 太乙术数与《南齐书·高帝本纪上》史臣曰章. 中央研究院历史语言研究所集刊, 第六十七 本, 第二分, 1996 年, 383-413 4 [唐]王希明. 太乙金镜式经. 见: 四库术数类丛书(八), 上海: 上海古籍出版社, 1992 年, 891 5 汉太初元年(104BC)以前的中国古历, 都是四分历法. 6 中华书局编. 历代天文律历等志汇编(五), 北京: 中华书局, 1976, 1417-1436. . 7 历代天文律历等志汇编(五), 1512-1536 2 www.paper.edu.cn 一纪 = 20 部 = 1520 年 = 18800 朔望月 = 555180 日 (日名回归上元甲子) 一元 = 3 纪 = 4560 年 = 56400 朔望月 = 1665540 日 (岁名回归上元甲寅) 4560 年是《甲寅太乙历》参与其上元推算的第一个大周期, 经过这个气朔周期, 《甲 寅太乙历》的历注年、月、日、时将恢复上元初始的状态. 该周期与太乙历法的术数内容无 关. 由於《甲寅太乙历》的上元积年 = 285011 远大於 4560 年的气朔周期, 因此, 这个 上元积年便显然不仅仅是有关气朔推算的结果, 理应还有其它因素参与了该历上元的选择. 这就是下面所要讨论的《甲寅太乙历》的一些基本术数周期. N 724 3. 《甲寅太乙历》的基本术数周期 对於一部太乙历法, 除了考虑年、月、日、时四柱八字的干支轮回等与气朔有关的历谱 安排之外, 更有一些别的因素或周期也要照顾到. 根据《太乙金镜式经》卷五的算法, 在术 文“推积年法”给出了《甲寅太乙历》的上元积年之后, 接着列出了与此上元有关的三类基 本的太乙术数算法, 它们依次是: 1. 推三基太乙法; 2. 推五福太乙法; 3. 推大游太乙法. “推三基太乙法”, 是指太乙术数中的“君基太乙”、“臣基太乙”与“民基太乙”三个 算法. 它们的基本周期常数(大周法)均为 360 年. 8 第 2 条“推五福太乙法”, 用於推算所谓“五福太乙”, 其大周期为 225 年. 此术的大 意是说, 五福太乙按八卦中的乾、艮、巽、坤四维,加上地中共计五个行宫, 以 45 年移一 宫的速度依次绕行, 225 年绕行一周. 按经文的说法, 五福太乙所临之方, 无兵革、疾病、 饥饿、水旱等灾祸. 五福太乙在早期太乙术数中所占地位比较重要, 因此, 成为《甲寅太乙历》上元选择时 必须考虑的因素之一. 该周期在唐代王希明的《开元太乙历》中已经被剔除, 宋金元明的太 乙术数中也似乎不再考虑这个内容. 9 第 3 条, 推算所谓的“大游太乙”. 大游太乙的周期是元法 4320 年. 在这个大周期下, 有如下的一些关系: 8 360 是太乙术数中最基本的一个周期. 按太乙之法, 干支月, 不计闰月, 每年以 12 月计, 5 年一个 轮回, 60 年回头 12 次. 因此, 如果上元为甲寅年, 并设定其上元所在月为甲寅月, 则推上元时, 就不必 专门列式推算干支月的情况; 干支时的情形是类似的, 5 天一个轮回, 60 天回头 12 次. 如果设定甲子时在甲子日的夜半, 则推上 元时就不必特别考虑对甲子时的计算, 结果自然成立. 干支年、月、日、时的关系如下: 360 年 = 72 干支月(称为 72 局) = 6 干支年(称为 6纪) 360 日 = 72 干支时(亦为 72 局) = 6 干支日(亦为 6纪) 360 年是所有太乙历法必须考虑的一个周期. 9 与《甲寅太乙历》中的五福太乙对应, 唐代以后的太乙历法基本上都采用的是如下的“九宫法”: 太乙与九宫经常被联系在一起, 九宫也是术数中的一个分支, 它有两幅对应的基本图式: 其一, 将 八卦布列在四维四方, 每卦各居一宫, 加上中宫, 合计九宫. 按中国传统的习惯, 上南下北, 八卦构成的 九宫图如下图所示; 这个九宫图的运行轨迹, 与第二幅九宫图有关. 第二种九宫图就是易学中有名的“洛 书”. 洛书是一个三阶的数字方阵, 它的每行每列及两个对角线上的三个数字之和, 均为 15, 因此, 宋代 的数学家把它叫做纵横图, 现代数学称之为幻方(MAGIC SQUARE). 以八卦构成的九宫图的行走路线, 就是 按照洛书中的数字指定的次序进行的, 从坎出发, 次第入坤、震、巽、乾、兑、艮, 最后出离, 通常中宫 不游. 巽 离 坤 南 4 9 2 震 中 兑 东 中 西 3 5 7 艮 坎 乾 北 8 1 6 九宫图 四方图 洛书图 3 www.paper.edu.cn 4320 = 6×720(纪法) = 6 ×2×360 (大周法) = 6×6×120 (乘行率) = 15×288(太乙小周) = 15×8×36 (太乙行率) = 20×216(天目周率) = 20×12×18 (天目行率) 元法 4320 内蕴涵的各种小周期, 各有各的讲究与用途. 但因其包容的内容似乎太多, 对於上元的选择十分不利, 所以, 唐代以后的太乙历法, 将其中大部分小周期的算法都省 略了, 仅仅保留了其中的纪法 720 年为太乙历法之上元所应该考虑的周期. 实际上, 由於“三基太乙”的 360 年周期已经蕴涵在大游太乙的 4320 年周期之中, 因 此, 《甲寅太乙历》上元所要考虑的术数周期, 便只有 225 年的五福太乙周期, 与 4320 年 的大游太乙周期. 於是, 加上四分历推求年、月、日、时的 4560 年气朔周期, 可以知道《甲 寅太乙历》的上元积年最大不会超过这些周期的最小公倍数: [4560, 4320, 225] = 410400 事实上,《甲寅太乙历》上元距开元十二年(724AD)积年 N724 = 285011 < 410400 年. 4. 《甲寅太乙历》中的另外两个上元积年 4.1 王希明给出的一种近距历元 在《太乙金镜式经》卷五的第一段术文中, 王希明首先记述了开元十二年 (724AD) 距 《甲寅太乙历》上元积年数 N724 = 285011, 然后接着给出了如下文字: 臣今恐速要, 自汉安帝元初甲寅为近, 至开元十二年甲子岁积得六百一十一算. 这段话的意思是, 为了计算快捷, 《甲寅太乙历》可截取汉安帝元初甲寅年(114AD)为 其近距历元, 这一年距开元十二年积 611 年. 这样做的理由何在呢? 原来, 如果我们取纪法 720 与五福太乙的大周 225 的最小公倍数 [720,225] =3600 累减 开元十二年距《甲寅太乙历》上元积年 N724 = 285011, 则有: N724 = 285011= 79×3600 + 611 因此, 以余数N724 = 611 代替原来的上元积年, 就可以推算五福太乙及大游太乙中以 720 为周期的所有事项. 由此可见, 按王希明的观点, 《甲寅太乙历》所推算的大部分重要 的内容都仅仅与 720 或 225 的周期相关, 具体算时, 便无需用N724 = 285011 这样大的积年 运算. 这是当然是一种简化. 10 王希明这样做的理由是, 唐代太乙术数中的内容, 与《甲寅太乙历》所在时代已经有所 不同. 早期的一些太乙历法中的某些术数内容, 此时已经被淘汰了. 这个现象意味着, 唐 代太乙历法对上元的要求似乎有所放宽. 那么, 究竟是什么内容被这以后的太乙历法保留下来了呢? 从以下的推算可以看出, 至少对於纪法 720 年的周期, 各种太乙历法仍然要求遵守: 《宋琨太乙历》上元甲子距开元十二年积年 N724 = 40801≡ 481 (MOD 720) 《开元太乙历》上元甲子距开元十二年积年 N724 = 1937281≡ 481 (MOD 720) 《景示右太乙历》上元甲子距开元十二年积年 N724 = 10154641≡ 481 (MOD 720) 此三历上元岁名皆为甲子, 与《甲寅太乙历》不同, 这是他们在 724AD关於 720 周期的 余数与《甲寅太乙历》不同的原因. 但此三历的余数彼此全同, 说明他们在推算各自的上元 积年时, 都考虑了纪法 720 这个周期.11 4.2 《甲寅太乙历》的制定年代不会晚於汉武帝元朔元年(128BC) 《甲寅太乙历》中还经常用到的另一个上元, 是开元十二年(724AD)距上元积年 N724 = 13331. 此数与N724 = 285011 有何关系? 它是如何得来的? 原文也没有交代.12 10 但是, 由於 79×3600 不能被章法 19 整除, 因此, 用N724 = 611 代替原来的上元积年, 就不能够推算 气朔时刻, 并且大游太乙中不以 720 为周期的项目也均不能依此推算了. 11 这三部太乙历法的上元积年均见《太乙金镜式经》. 12 由於 N724 = 13331 = 120×106 + 611, 其中 120 在前述大游太乙的基本数据中, 被称为“乘行率”. 而在太乙算中, 有专门的一个类别, 称为“百六”. 不过, 按照《太乙金镜式经》卷七“推太乙有百六 之厄法”, 术文使用的周期却是 288 年, 因此, 这个上元积年与 106 究竟有何关系, 还不太明确. 笔者的 推测是, 这可能是王希明故意附会的一种说法, 与它的真正来源毫无关系. 4 www.paper.edu.cn 经过推算发现, N724 = 13331 给出的是一种近距历元. 根据《易纬乾凿度》的记载:13 故阳以七, 阴以八为彖易, 一阴一阳合而为十五之谓道. 阳变七之九, 阴变八之六亦 合於十五. ... 故太一数以行九宫, 四正, 四维皆合於十五. ......六十四卦, 三百八十四 爻, 万一千五百二十析, 复从於贞. 这里出现了太一与易卦的几个重要的周期: 15, 64, 11520. 它们之间的关系是 11520 = 64×15×12 960 = 64×15 = 240 ×4 = 80×12 = 60 ×16 其中 960 不仅蕴涵了 64 卦与阴阳合数 15, 还包含了太乙术数中小游太乙的周期 240, 另外, 对於四分历而言, 日名干支经过 80 年将回复如初, 岁名干支每 60 年一个轮回. 若将上元积年 N724 = 285011 取到汉武帝元朔元年(128BC), 则有 N-128 = 284159 = 959 + 295×960. 由於 960 年的周期内, 许多太乙术数的推算都会复原, 因此, 为方便计, 截取近 距上元积年 N-128 = 959 就可以取代原来的大的积年数. 但因中国的历史远比这个近距历元 的积年要长, 所以, 对此再加上一个大周期 11520 年, 即得 N-128 = 959 + 11520 = 12479 由此, 马上可以换算出N724 = 13331, 是为这个上元积年的来历.14 如果直接由 N724 = 285011= 851 + 296×960 来截取近距历元, 则得到的结果将是 N724 = 851 + 11520 = 12371≠ 13331. 这个事实表明, 《甲寅太乙历》中的这个近距上元积年的 推求年代, 应该在 128BC 之前. 这也同时意味着, 《甲寅太乙历》的制定年代至少应在 128BC 之前. 5. 太乙历法的功能与《甲寅太乙历》之上元的选择 如所周知, 太乙是术数诸多流派中很重要的一个分支. 因此, 它的中心议就是研究 命理学的, 即预测与生命现象有关的一门学问. 要预测, 就离不开推算. 而由于预测的内 容通常是国家兴亡与人生祸福等重大事件的发生与流变, 具有一定的时间跨度, 因此, 就 需要应用历法的推算来确定所预测事件的具体时空. 事实上, 我们已经看到, 太乙历法是历史上确实出现的一类历法. 为什么太乙学者要 在官方大历之外重构一套新的历法系统呢? 要回答这个问题, 首先就必须弄清楚这两种历 法的差别. 至于太乙历法在中国古代传统社会的应用,无疑是有趣且值得研究的一个问题, 何丙郁先生对《南齐书》中有关太乙术数的研究, 已经部分地说明了太乙术数在传统社会的 应用. 限于本文的篇幅与主题, 我们在此不拟做进一步深入的讨论. 为了探讨太乙历法与官方历法的区别,从而说明为什么会在太乙术数中搀入一类特别的 历法,让我们看一看《甲寅太乙历》上元积年是如何推算出来的. 根据前面的叙述, 我们看到, 要推求《甲寅太乙历》的上元积年, 必须考虑三个大的周 期, 即作为普通的四分历法所应满足的 4560 年周期; 五福太乙的 225 年周期; 大游太乙的 4320 年周期. 由于“三基太乙”的 360 年周期已经蕴涵在大游太乙的周期之中, 故不必再特 别考虑. 设N-104 表示太乙上元距太初元年(104BC)的积年, 令其上元起於甲子日冬至合朔夜 半, 则必有如下同余式组:15 N-104 ≡ 0 (MOD 19) (1) T N-104 ≡ R1 (MOD 60) (2) N-104 ≡ R2 (MOD 60) (3) 其中 T = 365.25 日, 是《甲寅太乙历》的回归年长度, 19 是闰周中的章法. 令 R1 表示 按该历所推汉太初元年(104BC)的冬至时刻, 由於《太初历》当年的冬至在甲子日, 因此, 要 求 0 ≤R1 < 1. 又令 R2 表示太初元年的年名序号, 应是个整数, 由於上元岁名待定, 故假 13 易纬乾凿度. 见: 丛书集成初编(0688 册), 北京: 中华书局, 1985, 29-34 14 按照这个近距上元积年推算的节气时刻, 与《甲寅太乙历》完全一样, 但因 960 年不是四分历章岁 19 的整数倍, 所以, 以此历元推算的经朔时刻将与《甲寅太乙历》不同. 15 同余式 N-104 ≡ r (mod m) 的意思是: N-104 -r 可以被m整除, 其中r称为余数, m为模数. 例如: 40 ≡ 2 (mod 19). 5 www.paper.edu.cn 定 0 ≤R2 < 60. 由(1)式可令 N-104 = 19N1 , 代入(2)式, 化简得 53 N1 ≡ (4/3) R1 (MOD 80) (4) 欲令上式有解, 必使(4/3) R1 为整数, 所以, R1 = 0, 或者 3/4. 如果假定 R1 = 3/4 (关於R1 = 0 时的讨论, 详见下一节的表 3), 则求得 N1 = 77 + 80 N2 , 将它代入(3)式, 即有 N2 ≡ (R2 - 1463) / 20 (MOD 3) 此时 R2 只有三个选择: R2 = 3, 23, 43. 由这三个选择所确定的上元年名分别为甲戌、 甲寅、甲午. 当 R2 = 23 时, 得上式的解 N2 = 3 N3 , 即 N-104 = 1463 + 4560 N3 (5) 这就是《甲寅太乙历》所取的上元积年, 取 R2 = 23 的原因是, 此时获得的上元积年最 小(参见下一节的表 3). 但这并不是最终结果. 因为, 按五福太乙, 225 年太乙绕行五宫一周, 故其上元积年 N-104 必须满足 N-104 ≡ R3 (MOD 225) (5) 将 N-104 = 1463 + 4560 N3 代入(5)式, 得 4 N3 ≡ (R3 - 8) / 15 + 8 (MOD 15) 取 R3 = 8, 解得 N3 = 2 + 15 N4 , 即 N-104 = 10583 + 68400 N4 这还不算结束, 因为, 按大游太乙, 还有一个周期是 4320 年, 故 N-104 必须满足 N-104 ≡ R4 (MOD 4320) 将 N-104 = 10583 + 68400 N4 代入上式, 得 5 N4 ≡ (R4 - 3383) / 720 + 2 (MOD 6) 令 R4 = 3383, 取 N4 的最小正整数解: N4 = 4, 即得《甲寅太乙历》上元距太初元年 (104BC)积年为 N-104 = 284183 这个结果与《太乙金镜式经》中记载的数据完全吻合. 由此可以证明, 《甲寅太乙历》的上元积年的选择, 不仅考虑了普通历法的气朔周期, 而且加入了“三基太乙”、“五福太乙”与“大游太乙”等术数方面的周期. 由於这些术数周期与日常民用的天文年历的推算毫无关系, 所以, 普通的官方大历对 此根本就不予考虑. 因此, 官方大历不能直接用於太乙术数的推算. 也许就是在这样的情 形下, 太乙学者才按照中国古代数理天文学的基本方法, 在官方历法的主流系统之外, 发 展了一种可称之为“太乙历法”的分支. 6. 《甲寅太乙历》的制定年代及其与《殷历》的关系 通常人们将历史上明确记载的最古老的六部历法: 《黄帝历》、《颛顼历》、《夏历》、《殷 历》、《周历》与《鲁历》合称为古六历. 不过, 这六部历法均已失传. 我们现在可以看到 的史料主要是唐代《开元占经》中关於此六历的一些基本数据与上元积年的记录, 据此, 可 以知道它们均为四分历, 所有基本常数皆与《后汉四分历》相同. 但因古六历的历元各不相 同, 故编排的历谱就应该有所差别.16 古六历中, 《殷历》与《周历》的上元均在天正十一月甲子日朔旦冬至, 如《续汉书》 记载: “夫《甲寅元》天正正月甲子朔旦冬至.”17 这里的《甲寅元》即指《殷历》. 《殷历》造於何时? 为谁所造? 何时使用? 这些问题 均无定论. 按照通常的习惯, 历元应在夜半, 但据此编排的历谱, 似乎与秦汉的考古发现 不能完全吻合, 所以人们根据《汉书律历志》的记载:18 先藉半日, 名曰阳历. 不藉, 名曰阴历. 所谓阳历者, 先朔月生, 阴历者, 朔而后月 乃生. (邓)平曰: “阳历朔皆先旦月生, 以朝诸侯王群臣便.” 16 [唐]瞿昙悉达. 开元占经. 见: 四库术数类丛书(五), 上海: 上海古籍出版社, 1992, 943-944 17 历代天文律历等志汇编(五), 1497 18 历代天文律历等志汇编(五), 1401 6 www.paper.edu.cn 认为, 《殷历》的上元不一定起於夜半, 可能采用了藉半日法. 另外, 《乾凿度》与《元命 苞》分别给出一个甲寅元与庚申元, 前者实际上与《殷历》相同, 而后者则与《后汉四分历》 无异. 我们按天正甲子朔旦夜半冬至为历元所在, 可推算出《殷历》、《周历》与《元命苞》等 历法在太初元年的气朔时刻(见表 2). 表 2 太初元年(104BC)《殷历》、《周历》与《元命苞》的气朔时刻 上元积年 N-104 上元岁名·日名 冬至 天正 11 月朔 备注 殷历 2760263 甲寅·甲子 甲子 75 刻 甲子 75 刻 周历 2760320 丁巳·甲子 甲子夜半 甲子夜半 元命苞 2760377 庚申·甲子 癸亥 75 刻 癸亥 75 刻 与《后汉四分历》同 比较表 1 与表 2, 我们看到, 《周历》与《元命苞》的气朔时刻在太初元年分别和《太 初历》与《后汉四分历》的推算吻合. 而更有意思的是, 《殷历》上元岁名与其气朔推算, 全 部与《甲寅太乙历》相同. 那么, 这些历法的制定, 彼此间有什么关系呢? 这是我们感兴趣的问题. 要探讨这个 问题, 最关键的就是要搞清楚这些历法之上元的选择. 《殷历》与《周历》等古六历的上元积年是如何得出的? 目前还不太清楚. 不过, 有一 点应该是明确的, 对於四分历而言, 如果仅仅是为了安排年月日的历谱, 则其上元积年数 不会超过 4560 年. 古六历的上元积年有一个共同的特点, 就是它们的近距历元都可以从 《开元占经》中给定的上元积年数减去 605×4560 = 2758800 年而获得. 当我们对《殷历》的上元积年这样分析的时候, 发现该历上元距太初元年积年为 N-104 = 1463 + 605×4560 (6) 4560 年是四分历年月日的最大周期. 经此周期, 其上元的年月日时干支都要重新轮回. 因此《殷历》的近距历元应在 1567BC. 比较(6)式与第 5 节中的(5)式, 可以看出, 《殷历》 的近距历元与《甲寅太乙历》完全相同. 这个结果表明, 《殷历》与《甲寅太乙历》的气朔历谱肯定是完全一样的! 它们的上元 积年的不同, 乃是由於这两部历法在推出近距历元 N-104 = 1463 之后, 出於不同的目的又 给其各自的上元加入了与年月日的安排无关的内容. 19 求解第 5 节中的(1)至(3)式所构成的同余式组, 全部的解应如表 3 所示. 其中 R1 = 0, 或 0.75 时, R2 分别有三个不同的选择. 那么, 历法家是根据什么来确定《殷历》的上元积年 呢? 原来, 当 R1 = 0.75 时, R2 虽然有三个选择, 但结果仅仅是积年数与上元岁名的不同, 此时三种上元推算的气朔历谱没有差别! 那么为什么《殷历》要取R2 = 23 呢? 这可能是因 为, 这个上元的近距历元比另外两个要小(见表 3). 20 通过以上分析, 可以看出, 按照第 5 节中对《甲寅太乙历》上元积年的推算, 如果不考 虑上元岁名的限制, 那么, 实际上, 以 4560 年为周期的近距历元, 便只有两类不同的选择: 一类的历谱将与《殷历》相同, 另一类的历谱则同《周历》无异.21 19 《周历》的上元距太初元年的积年为 N-104 = 1520 + 605×4560 (7) 当我们取第 5节中(4)式的 R1 = 0 , 且当(3)式的 R2 = 20 时, 则立即可以推出上元积年 N-104 = 1520 + 4560 N3 这个结果与(7)式表示的近距历元是完全相同的. 20 当r1 = 0 时, 对应的r2 也有三个选择. 与《殷历》的情形类似, 三种结果仅仅表示其积年数与上元 岁名的不同, 它们的气朔历谱是没有差别的. 那么, 为什么《周历》要取r2 = 20, 而不是 0呢? 这是因 为, 如果取r2 = 0, 则导致太初元年(104BC)为它的近距历元. 由於《周历》的制定显然应该在太初元年 (104BC)之前, 因此, 这样取近距历元就是没有道理的, 所以, 不予考虑. 比较另外两种情形, 当然是取 r2 = 20 时所得近距上元更合适些. 21 应该指出的是, 古六历庞大的上元积年, 可能都是在后人算出了近距历元的基础上, 根据某种尚待 进一步查明的原因, 加入 605×4560 = 2758800 年而获得的. 关於这个数据, 《续汉书》(见《历代天文 7 www.paper.edu.cn 表 3 《殷历》与《周历》上元积年的选择 R1 R2 N1 N2 N-104 合朔冬至时刻 上元年名 备注 0 0 80N2 0 + 3N3 0 + 4560N1 甲子日夜半 丁丑 0 20 80N2 1 + 3N3 1520 + 4560N1 甲子日夜半 丁巳 《周历》 0 40 80N2 2 + 3N3 3040 + 4560N1 甲子日夜半 丁酉 0.75 23 77 + 80N2 0 + 3N3 1463 + 4560N1 甲子日 75 刻 甲寅 《殷历》 0.75 43 77 + 80N2 1 + 3N3 2983 + 4560N1 甲子日 75 刻 甲午 0.75 3 77 + 80N2 2 + 3N3 4503 + 4560N1 甲子日 75 刻 甲戌 尽管《甲寅太乙历》与《殷历》的上元积年数不同, 但作为四分历, 它们的近距历元是 一样的, 这一点意味着, 这两部历法编排的气朔历谱是没有差别的. 由於王希明在《太乙金镜式经》中仅仅记录了《甲寅太乙历》的上元积年, 我们无从查 证它的作者与制定年代. 那么, 这条上元积年是否是王希明根据《殷历》随意编造的一个数 据呢? 通过计算可以看出, 《甲寅太乙历》的上元积年决不会是出自王希明之手. 原因是, 按《甲寅太乙历》、《开元太乙历》与《大衍历》分别推算开元十二年(724AD)的气朔时刻, 则 后两历几乎相同, 但与《甲寅太乙历》相差很多(见表 4). 造成这种推算差距的原因,乃是 由於四分历的回归年与朔望月常数都比理论值要大, 因此, 历久必然出现历法后天的现象. 表 4 《甲寅太乙历》同《大衍历》的气朔差距 上元积年 N724 冬至时刻 724AD 冬至时刻与 大衍历之差 冬至前后 经朔时刻 经朔时刻与 大衍历之差 甲寅太乙历 285011 27.75 7.7622 26.1957(前) 3.7082 东汉四分历 10005 26.25 6.2622 24.6957(前) 2.2082 开元太乙历 1937281 19.9237 0.0641 22.5306(后) 0.0431 大衍历 96961741 19.9878 22.4875(后) 注: 表中后四栏的数据单位均为“日”. 其中第三栏数据的整数表示冬至日的干支序号, 甲子为 0, 乙 丑为 1, 余依次类推.例如, 27.75, 表示按《甲寅太乙历》724 年冬至时刻在辛卯日 27 刻. 如果假定历法制定时对气朔时刻的推算与天象基本吻合, 我们便可以根据后天的时间 差, 大致推算出《甲寅太乙历》与《殷历》的制定年代. 实际上, 虽然我们还不能确切地 知道《殷历》的编制年代, 但根据对有关历史文献的记载的研究, 人们已经可以应用现代 天文学赋予的一些方法, 将其年代大致的匡定. 例如, 据《续汉书》记载: 22 《甲寅元历》於孔子时效, 己巳《颛顼历》秦所施用, 汉兴草创, 因而不易......夫甲 寅元天正正月甲子朔旦冬至, 七曜之起, 始於牛初. 这里的《甲寅元历》就是《殷历》, 上述文字说明, 《殷历》大约成立於孔子生活的年 代, 按孔子获麟在鲁哀公十四年(481BC). 按照《殷历》所取冬至点的宿度, 根据岁差理论 的推算, 牛初应该是 422BC-489BC之间的实际天象.23 律历等志汇编》(五). 1492 页)写到: 《元命苞》、《乾凿度》皆以为开辟至获麟二百七十六万岁. “获麟”在哪一年呢? 《续汉书》称: 《四分历》仲纪之元, 起於孝文皇帝后元三年(161BC), 岁在庚辰. 上四十五年, 岁在乙未, 则汉兴 元年也(206BC). 又上二百七十五年岁在庚申, 则孔子获麟(481BC). 二百七十六万岁, 寻之上行, 复得庚 申. 岁岁相承, 从下寻上, 其执不误. 此《四分历》明文图谶所著也. 由此可知, 孔子获麟在鲁哀公十四年(481BC), 此距太初元年(104BC)377 年, 所以《元命苞》的上元 (开辟之年)距太初元年的积年 N-104 = 2760377 年. 如《续汉书》所言, 如果给《后汉四分历》的上元积 年也加入“从开辟至孔子获麟的 2760000 年”, 则她与《元命苞》的上元积年将完全一样, 因此说, 《后 汉四分历》上元的选择与汉代的谶纬之学有着深刻的内在联系. 也许是为了使古六历的上元积年与《元命苞》为代表的谶纬学说中的“开辟之年”相配合, 也都在各 自近距历元的基础上再加入 2760000 年, 但因加入的积年数必须是 4560 年的倍数, 因为 2760000 / 4560 ≈ 605, 故取古六历上元距太初元年的积年为 N-104 = 近距历元距 104BC 积年 + 605×4560 22 历代天文律历等志汇编(五), 1497 23 李鉴澄. 岁差在我国的发现测定和历代冬至日所在的考证. 见: 中国天文学史文集(三), 北京:科学 出版社, 1984, 124-137 8 www.paper.edu.cn 据此, 我们可得出这样的结论, 《殷历》(《甲寅太乙历》)是根据大约 400BC 之前战国 时期的天象而制定的. 至於《殷历》与《甲寅太乙历》的关系, 不外乎这两种可能: 其一, 《甲寅太乙历》是 根据已有的《殷历》改编出来的; 否则, 《殷历》是根据《甲寅太乙历》改编而来的, 正如 《后汉四分历》根据《元命苞》改编而来一样. 不过, 从道理上讲, 由于术数家对历法编制原理的研究应该不如历法家, 所以《甲寅太 乙历》出自术数家对《殷历》的一种改编之可能性更大些.(这个观点, 采自匿名审稿人的意 见) 虽然, 我们还不能明确断定《殷历》与《甲寅太乙历》的承传关系, 但有一点应该是没 有疑问了, 那就是, 它们之中较早制定的历法的成立年代应在公元前 400 年之前, 后来改 编的历法的制定年代, 至少也应在汉武帝元朔元年(128BC)之前(理由参见第 4 节的论述). 7. 结论 通过上述讨论, 本文得出如下结论: 1. 《甲寅太乙历》是目前已知的最早的太乙历法, 它是一种四分历, 其气朔历谱与《殷 历》相同. 根据历法中反映的气朔内容所对应的天象推算, 它的制定年代应该在战国时期 (约 400BC), 至少不晚于汉武帝元朔元年(128BC); 2. 《甲寅太乙历》上元的选择, 除了考虑气朔周期外, 还包含了“三基太乙”、“五福 太乙”与“大游太乙”等三类术数周期. 这是太乙历法有别於普通历法的一个重要特征. 由 於官方大历根本不考虑这些术数周期, 因此, 历代王朝颁行的历法, 基本上都不能直接用 於太乙术数的推算; 3. 从《甲寅太乙历》来看, 太乙历法仅仅安排气朔历谱而不考虑日月食与五大行星的 推算, 因此, 在天文年历的意义上, 它没有普通历法包涵的内容丰富; 4. 太乙术数中推算的许多内容, 通常都与气朔无关, 因此, 至少在汉武帝元朔元年 (128BC)之前, 太乙学者已经选择了与推气朔无关的近距历元以代替《甲寅太乙历》庞大的 上元积年, 以求简化计算. 唐代以后的太乙历法, 对《甲寅太乙历》中出现的三个大的术数 周期也有所删减, 仅仅保留了 720 年的纪法周期; 5. 由於太乙历法的历算常数系统采用的是演纪算法, 与中国古代传统数理天文学中之 官方大历基本相同, 加之, 太乙术数本身在中国传统文化史上的重要地位, 可以说, 太乙 历法是中国历法史上长期以来被忽视了的一个重要分支. 主要参考文献 1. 李林甫等. 《唐六典》, 北京: 中华书局, 1992 2. 郭书春主编. 《中国科学技术典籍通汇(数学卷一)》,郑州:河南教育出版社, 1994 3. 何丙郁.<太乙术数与南齐书·高帝本纪上史臣曰章>,《中央研究院史语所集刊》, 67 本 2 分(1996), 383~413 4. 王希明.<太乙金镜式经>, 《四库术数类丛书》(8), 上海:上海古籍出版社, 1992 5. 中华书局编. 《历代天文律历等志汇编》(5), 北京: 中华书局, 1976 6. 瞿坛悉达. <开元占经>, 《四库术数类丛书》(5) ,上海:上海古籍出版社, 1992 7. 李鉴澄.<岁差在我国的发现测定和历代冬至日所在的考证>,《中国天文学史文集》(3), 北京:科学出 版社, 1984 THE FIRST CALENDAR OF TAIYI METHOD Qu Anjing (Department of Mathematics, Northwest University, Xian, 710069, China) ABSTRACT According to a few historical materials in a book of the Tang dynasty, a calendar, named the Jiayin taiyi li(甲寅太乙历), is found. It may be the first calendar of taiyi 9 www.paper.edu.cn method(太乙术数). Because its fundamental constants and epoch of month and year is the same with Yin li(殷历), the arrangement of qi (气) and new moon of Jiayin taiyi li must be the same with Yin li. The Jiayin taiyi li was compiled around 400BC, at least it appeared before 128BC. The superior epoch of this calendar contents three big cycles which are 4560 years for the cycle of year and month, 4320 years for the cycle of dayou taiyi (大游太乙)and 225 years for the cycle of wufu taiyi(五福太乙). The last two cycles were never contented in a calendar of government. It shows us that the calendar used in the taiyi method is different from the calendar issued by government. Because the selection method of its superior epoch in the taiyi li is the traditional method of ancient Chinese mathematical astronomy, the calendar of taiyi is an important branch of history of Chinese calendrics, which has been neglected by historian for many years. Key words taiyi method, calendar, yin li, The taiyi jinjing shijing. 10
/
本文档为【[曲安京] 太乙術數的第一部曆法.quanjing-8】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索