_纪元历_等8部宋代历法的定朔推步及精度分析_第1页
_纪元历_等8部宋代历法的定朔推步及精度分析_第2页
_纪元历_等8部宋代历法的定朔推步及精度分析_第3页
_纪元历_等8部宋代历法的定朔推步及精度分析_第4页
_纪元历_等8部宋代历法的定朔推步及精度分析_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中国科技史杂志 第 30 卷 第 1 期 ( 2009 年 ) : 55 64The C h inese J ou rna l for the H istory of S cience and Technology Vo l. 30 No. 1 ( 2009 ) 纪元历 等 8部宋代历法的定朔推步及精度分析滕艳辉王鹏云(西北大学 数学与科学史研究中心 ,西安 710127 )摘要中国古代历法中 ,定朔是一个极其重要的概念 ,定朔的推算精度直接影响推算日月食的精度 。从中国古代定朔算法模型入手 ,清晰梳理了纪元 历 定朔推步过程 ,并严格按照其推朔过程编写计算机程序 ,计算出纪元历 等8部历法颁

2、行期间的每次定朔时刻 。将这些结果与理论值相比较 ,得出各部历法推算定朔的精度 ,就此对各历的优劣给出客观的评价 ,并指出精度的降低是宋 代频繁改历的一个重要原因 。关键词 纪元历 定朔精度中心差中图分类号N092 P1 2092文献标识码A文章编号1673 21441 ( 2009 ) 01 20055 210日月黄经相同的时刻称为“朔 ”,它是中国古代历法基本元素之一 。人们通过对包括日月运动等在内的天文现象的长期观测 , 发现依照平均朔望月的长度来推算朔日的方 法 平朔方法 所编排的历谱用来计算日月位置以及日月食与实际结果有一定误 差 。为了减小误差 ,古人对平朔进行日月不均匀性的修正

3、,试图得到真正的朔 定朔 。 以定朔注历的历法推算日月食的精度大大提高 。由于定朔算法是影响日食推算精度的一个重要因素 ,因此对定朔算法及其精度的研究 ,引起了一些研究者的高度关注 1 7 ,但是对于宋代历法中的定朔算法及其精度相关研究较少 。大多数科学史工作者的工作重 点放在古代历法中的算法与现代算法的对应关系上 ,而对精度的分析 ,也基本停留在用理 论模型来估算历法精度方面 。本文的主旨 ,是在已有研究的基础上 ,利用计算机的机械性 和高精度性 ,将纪元历 等 8 部历法的定朔算法程序化 ,并推算出其颁行期间的每个定 朔时刻 。将得到的结果与理论值相比较 ,得出各历推算定朔的精度 。收稿日

4、期 : 2008 212 215作者简介 : 滕艳辉 , 1983 年生 ,内蒙古赤峰人 ,西北大学数学与科学史研究中心硕士研究生 ,研究方向为中国 古代数理天文学 ; 王鹏云 , 1979 年生 ,甘肃甘谷人 ,西北大学数学与科学史研究中心硕士研究生 ,研究方向为数学史 。基金项 目 : 国 家 自 然 科 学 基 金 (项 目 编 号 : 10771169 ) ; 中 国 博 士 后 科 学 基 金 特 别 资 助 项 目 (项 目 编 号 :200801435 ) ;中国 博 士 后 科 学 基 金 (项 目 编 号 : 20080431244 ) ; 陕 西 省 教 育 厅 科 研 资

5、 助 项 目 (项 目 编 号 :07JK423 )1 定朔算法模型及其计算机实现111 定朔算法理论模型从南北朝末期到元代授时历 ,定朔算法的模型基本上没有改变 。这与薮内清所建 立的理论模型非常接近 ,薮内清的理论模型深刻揭示了传统历法算法模型的天文学意义( 8 , 61 82页 ) 。假设 Tp 为平朔时刻 , Tr 为定朔时刻 , 并记太阳与月亮的视运动速度分别为 vs 和 vm ,从平朔到定朔期间太阳与月亮的速度可近似认为不变 , 则定朔模型可由下式描述 ( 9 ,234 235 页 ) : cs cm Tr = Tp + v+v( 1 )- v- vmsms cs cm 其中 s

6、=为太阳改正数 ,m =为月亮改正数 , cs 为太阳中心差 , 而 cm 为月亮vm - vsvm - vs中心差的相反数 。中国古代的定朔算法在宋代已经发展完善 。宋代历法均采用上元积年法推算定朔( 4 , 66 76页 ) ,各历法求定朔的过程类似 ,包括求经朔 、求太阳改正数 、求月亮改正数 和求定朔四步 。首先根据上元积年及相关数据推算出所求月份的经朔时刻 ,再通过此时太阳 、月亮偏离平均位置的数据求出日月不均匀性改正数 ,将其加在经朔时刻上即可求得此月份的定朔时刻 。中国古代历法一般分成 7部分 :步气朔 、步发敛 ,步日躔 、步晷漏 、步月离 、步交会和步 五星 。步气朔部分只讨

7、论平气平朔 ,而定朔算法又往往在步月离章中给出 ,这样历书中所载的定朔算法是不连续的和不成体系的 ,它涉及步气朔 、步日躔和步月离三章 。每部历法在求经朔 、求日月改正数的方法上不尽相同 ,为此我们仅对宋代最具代表性的历法纪元 历 的定朔推步过程进行讨论 。112 纪元历 的定朔推步过程纪元历 采用的天文数据和表格都很精确 ,计算方法也有所创新 ,对南宋及金代历 法影响很大 。现存南宋的 7 部历法中 ,在定朔的计算方法上 ,除统天历 在计算经朔时采用“岁实消长 ”术外 ( 10 , 2971 页 ) ,其余历法皆同纪元历 。宋史 ·律历志 中只 载有统元历 、乾道历 、淳熙历 、会

8、元历 、开禧历 和成天历 的常数与数表 ,而对其历中算法只述“法同前历 ,此不述 ”( 10 , 2916 页 ) 。较纪元历 稍早的崇天历 的定朔算法与纪元历 也是一致的 ,不同仅在于崇天历 在设计“月离表 ”时采用远地点而不是近地点为起算点 。在定朔方面 ,可认为纪元历 的定朔算法是宋代的主流算 法 ,我们称这 8部历法为纪元历 类的历法 。纪元历 求经朔术文为 :置天正冬至气积分 ,以朔实去之 ,不尽 ,为天正闰余 ; 用减气积分 ,余为天正经朔( 10 , 2796页 )加时积分 ,满旬周去之 ,不满 ,如日法而一为大余 ,不满为小余 U T设 A 为日法 , N n 为上元距所求年积

9、年 , 朔望月 u =, 回归年 t =, 那么经朔的计算AA571期滕艳辉等 :纪元历 等 8部宋代历法的定朔推步及精度分析公式 为 :N n T R1 (modU )(N n T - R1 ) R2 (mod60A )( 2 ) R2Tp =A在求太阳改正数时 ,纪元历 首先给出一张二十四气的日躔表 ,据此表可以用二次内插法得到每日的太阳改正数 ( 11 , 323 324 页 ) 。而求每一天某一特定时刻的太阳 改正数 ,历法中叫做“求入气胐定数 ”,其术文称 :各以所入气小余乘其日损益率 ,如日法而一 ,所得 ,以损益其日下胐积 ,各为定数 。 ( 10 , 2803页 )设入气日为

10、r, 它可以表示为 r = r +/A , 为入气日小余 , fs ( m ) 表示冬至后某气内第 m 日的盈缩分 , 则纪元历 太阳改正数为 7, 12 cs fss =+·( 3 )vm vm A可以直接用月离表的数据求月亮不均匀性改正数 13 。其术文称 :置入转余 ,以其日算外损益率乘之 ,如日法而一 ,所得 ,以损益其下胐积为定数( 10 , 2816页 )若设每日的月亮中心差相反数为 cm , 每日加减差为 fm ,入转日为 r, 其小余为 ,可以得到月亮不均匀性改正数 7 , 12 cm fmm =+·( 4 )vmvmA在“步月离 ”章中 ,纪元历 给出求定

11、朔的算法 , 其术文如下 :求朔弦望定日 :各置经朔 、弦 、望小余 , 以入气入转胐定数胐减加之 , 满与不足 , 进退大余( 10 , 2817页 )根据以上所得太阳改正数与月亮改正数 , 可以得到纪元历 所求定朔时刻公式为Tr = Tp +s +m113 定朔算法的计算机实现( 5 )中国古代历法中的定朔算法 ,模型十分简洁 ,其推朔过程只涉及了加减乘除运算 。但是 ,这个过程却需要四个大步骤来完成 ,每一步下面又有若干小步骤来实现 。同时 ,由于 采用上元积年 (这个数字在宋代已经大到惊人的 8 位数 ) ,计算过程中经常要和十几位的数字打交道 ,这使得单用筹算或笔算是一件很繁重的事情

12、 。然而 ,现代电子计算机却很适合做这样的工作 ,宋代历法的公式化特征是很明显的 , 我们将各历法的定朔算法模型用计算机语言实现 ,编写应用程序 ,就可以方便地计算出每 一个定朔时刻 。考虑到算法的复杂性与调试的方便程度 ,我们选择了 V isua l B a sic语言作为实现宋代历法定朔算法的语言 。为了提高结果的计算精度 ,使之尽量与用筹算得到的结果相吻合 ,程序化的过程严格 式中 R 1 与 R 2 为运算中的中间结果 ,代表余数 。按照历法中给出的算法进行 。计算的中间过程中若涉及小数进位 、四舍五入及取整时 ,尽量依照历法上的习惯进行取舍 ,以避免更大的系统误差 。历法中的常数大多

13、是以分数形 式给出的 ,其计算也是基于带分数的 ,历法推步实际上是以同分母分数为基本运算单位 的 。这样 ,可以定义带分数及其运算的对象 (分数加 、减 、乘 、除及分数取余 、比较等 ) ,使其成为程序化过程中的基本运算单位 。利用 V isua l B a sic的可视化功能 ,可得到操作简单 、功能强大的应用程序 。用此程序 可以方便的求出任意月份的定朔时刻和定朔日名 ,并能将其换算成现代时间表示 。对于 重要的中间过程结果 (入气 、入转日及定朔 _ 经朔时刻等 ) ,本程序也能进行清晰的可视 化表达 。只需选择相应的历法并输入公历年份 ,定朔数据即可获得 。为了得到不同月份 的定朔数

14、据 ,以便于比较 ,只需给出起止月份 ,程序即可批量计算定朔 。2 8 部历法定朔精度分析利用已编好的程序 ,可以恢复每一部历法计算定朔的结果 ,这不仅有助于我们了解每一部历法任意定朔的情况 ,更重要的是 ,如果将已得到的定朔值与理论值相比较 ,就可以 得到每一部历法计算定朔的精度 ,而且对宋代历书中所载朔闰表的核实工作也提供了方便 。 14 判定历法的优劣 ,标准是其推算和预报的精度 。对每一部历法进行精度的分析和 比较 ,不但能再现当时历法行用期间历日与天象的推算精度 ,而且对评价各历法在整个历法史上的地位也有重要作用 。纪元历 等 8部历法 ,其行用时间及颁布年代如表 1所示 。表 1

15、纪元历 等 8部历法基本情况从表 1可知 ,这 8 部历法在宋代 320 年的时间中行用了186 年之久 ,足可见其代表性 。现代天文学计算定朔的方法是迭代法 ,通过三次至五次迭代即能得到很精确的定朔时刻 ,因此可以将现代计算值看做是真实的定朔值 ,即理论值 。由于用现在的天文引数去 计算 1000 多年前的天文数值 ,要考虑到地球自转的影响 ,而这种影响至今没有确切的参 数 ,大都以估算值来修正 ,不同人的计算结果会有些差异 ,这里采用张培瑜三千五百年历法名称颁布年代作 者观测地及经度行用时间崇天历 宋仁宗天圣宋行古 、楚衍阳城 11311 E1024 1064 , 1068 1074纪元历

16、 宋徽宗崇宁姚舜辅俊仪 11413 E1106 1127 , 1133 1135统元历 宋高宗绍兴陈德一俊仪 11413 E1136 1167乾道历 宋孝宗乾道刘孝荣俊仪 11413 E1168 1176淳熙历 宋孝宗淳熙刘孝荣俊仪 11413 E1177 1190会元历 宋光宗绍熙刘孝荣俊仪 11413 E1191 1198开禧历 宋宁宗嘉定鲍 之临安 12012 E1208 1251成天历 宋度宗咸淳陈 鼎临安 12012 E1271 1276591期滕艳辉等 :纪元历 等 8部宋代历法的定朔推步及精度分析历日天象 15 中“合朔满月表 ”所给出的定朔数据 。考虑到利用古代历法计算出的定朔

17、值是以当时帝都或观测台所在的位置为标准的 ,而张培瑜推算的定朔值采用的是北京时间 ,即 120 °E 的地方时 。为了方便比较 ,需将所得 的定朔时刻转化成依北京时间所表示的时刻 。设时差为 ,公式 ( 5 ) 又可以转化为公式( 6 )Trb j = Tr + = Tp +s +m +( 6 )这样 ,我们将纪元历 类的每一部历法行用期间的每一个定朔计算出来 ,并修正为120 °E 的地方时 ,然后再与理论值比较 ,即可得到其定朔计算精度 。周琮明天历 中指 出 :校日月交食 ,若一分二刻以下为亲 ,二分四刻以下为近 ,三分五刻以上为远( 10 , 2688 页 )可以得

18、出 ,在宋代 ,对日月食精度的要求已达到“二刻 (约 28 分钟 )以下为亲 ”,最差 也不能大于五刻 (约 70 分钟 ) ,那么对定朔的要求至少也要达到这种程度 ,而张培瑜的计 算结果已精确到分钟 ,满足我们进行精度分析的需要 。为了方便比较 ,将其转化成以小时为单位 。崇天历 造历地点在阳城 ,地理经度是 11311 °E ,与北京相差 619 度 ,换算成时间是 = 2716分钟 ;纪元历 等 5历造历地点在俊仪 ,地理经度是 114135 °E ,与北京相差 5165 度 ,换算成时间是 = 2216 分钟 ;开 禧 历 和成 天 历 造 历 地 点 在 临 安

19、, 地 理 经 度 是12012 °E ,与北京相差 012度 ,换算成时间是 = - 018 分钟 。这样利用公式 ( 6 ) ,就可以计算出改正后的定朔值 。每部历法行用期间的每一个定朔计算结果由于篇幅所限 ,这里不再给出 。共 2300 个 定朔的推算中 ,最大误差为 414666小时 。误差大于 1 小时的有 422 次 ,占 18135 % ; 误差 在 1 小时以下的占 81165 % 。若按周琮日食“四刻以下为近 ”作为定朔计算误差是否合理 的依据 ,则这 2300 次定朔计算中 ,满足要求的应该在八成以上 。定朔计算较为精确的 ,即误差在半小时以内的有 1149 次

20、,占 49196 % ,将近一半 。误差在两个小时以上的可以视 为推算失误 ,一共有 50次 ,占到了 2117 % 。在所有的推算中 ,平均误差为 - 013346 小时 , 即推算后天约 20 分钟 ; 而取误差绝对值的平均值为 016180 小时 ,在 40 分钟以上 。这些 数据可以从整体上反映宋代历法推算定朔的精度 。而对每一部历法的精度情况 ,为了方 便比较 ,我们将有关统计数据列于表 2 ,然后对纪元历 等 3部较为重要的历法进行具体分析 。211 纪元历 纪元历 的 309 次定朔推算中 ,误差在 1 小时以下的 235 次 ,占 76105 % ; 在半小时 以下的 123次

21、 ,占 3918 % ;而大于 2 小时的失误推算有 2 次 ,占 0164 % ,低于 8 部历法的 平均值 。其误差绝对值平均值为 016809 小时 ,约合 41 分钟 ; 误差的平均值也达到了 -016030 小时 ,约合 36 分钟 。误差的最大值为 213140 小时 ,出现在 1134年 1月 27日这次 定朔的推算中 。该日的入气日是 12日 ,其下胐 定数是 91712644; 入转日是 14 日 ,入转 胐 定数为 - 1411686。纪元历 定朔误差绝大多数都以负值出现 ,说明其定朔推算后 于实际合朔时刻 。纪元历 行用前期 ( 1106 1127 年 ) ,推朔误差小于

22、半小时的就有 119表 2纪元历 等 8部历法的推朔精度次 ,没有出现误差大于 2 小时的推算 。而在其行用后期 ( 1133 1135 年 ) ,有近四分之三的误差在 1小时以上 ,同时出现了 2 小时以上的误差 2次 ,这使得纪元历 的推算严重后 天 ,因而宋高宗不得不 下令 改 历 。纪 元历 行用 前 期 , 其 推 朔误 差绝 对 值的 平均 值 为016056 ,精度已经接 近半 小时 , 单 从 推朔 精度 上 看 ,纪 元 历 是 宋 代 一 部 不 错 的 历 法 。纪元历 推朔误差的分布情况如图 1所示 。图 1 纪元历 定朔推算误差图212 统元历 统元历 的 396 次

23、定朔推算中 ,误差在半小时以下的有 130 次 ,仅占 32193 % ; 而大 于 2 小时的失误推算却高达 21次 ,占 5130 % ,高于 8 部历法的平均值 。其误差绝对值平均值为 018717小时 ,超过 50分钟 ;误差的平均值却只有 - 014105小时 ,约合 25分钟 。误 差的最大值为 411785 小时 ,出现在 1138年 5 月 11 日这次定朔的推算中 。而当考查统元历 误差大于 2小时的定朔推算时 ,我们发现 ,其入转日绝大多数都是 9日 ,尤其是是误 差大于 3小时的入转日完全是 9日 ;而在所有的推算中 ,当入转日为 9 日时 ,其误差又都在 2 小时以上

24、(以 3 小时以上居多 ) 。统元历 在计算月亮运动时 ,选择近地点为起算 点 ,入转日为 9日时 ,表明月亮速度正在减小且已经低于平均速度 。统元历 大于 3 小历法崇天历纪元历统元历乾道历淳熙历会元历开禧历成天历定朔个数5933093961111739954574平均植- 016257- 016030- 014105012146- 010786014998- 012156011085绝对平均值017639016809018717014018013751016020013970013708标准差018145015609110430014456014657015014014713014307绝

25、对标准差016863014628017036012865012856013710013329012409最大值414666213140411785111934111540210901118159019462最小值010017010083010006010082010016010013010002010044> 1 h个数149741385714350> 2 h个数2622100100< 015 h个数212123130791204438457< 0125 h个数111646537711621924> 1 h比重 ( % )251132319534185415041

26、051411461420100< 015 h比重 ( % )3517539181321837111769136441447014677103611期滕艳辉等 :纪元历 等 8部宋代历法的定朔推步及精度分析时的定朔误差都以正值出现 ,说明其定朔算法在此时所做的调整过大 ,此时的月亮实际速度大于统元历 调整后的速度 。统元历 在行用之初推朔误差就很大 ,经常推算后天 ,而若当入转日为 9日和 25日时又会严重后天 ,因而在其行用期间 ,要求改历的呼声不断 。即使排除推算失误的定朔 ,统元历 推朔误差绝对值的平均值也达到了 017497 小时 ,从精度上看 ,统元历 倒是劣于其前的纪元历 ,不

27、是一部好的历法 。统元历 推朔误差 的分布情况如图 2所示 。图 2 统元历 定朔推算误差图213 开禧历 开禧历 是南宋行用时间最长的历法 ,其 545 次定朔推算中 ,误差在 1 小时以上的35 次 ,占 6142 % ;而在 0125小时以下的却有 219次 ,占到了 40 %以上 ;没有大于 2小时的 失误推算 。其误差平均值为 - 012156小时 ,约合 13 分钟 ;误差绝对值的平均值也达到了013970 小时 ,约合 24 分钟 。误差的最大值为 118159 小时 ,出现在 1242 年 10 月 25 日这 次定朔的推算中 。该日的入气日是 10 日 ,其下胐 定数是 -

28、240113; 入转日是 28 日 ,入 转胐 定数为 88815944。开禧历 行用了 44年 ,其推朔仍能保持这样的高精度 ,可以说它是宋代最好的历法之一 。开禧历 推朔误差的分布情况如图 3所示 。图 3 开禧历 定朔推算误差图3 历法精度比较与评价宋代之所以频繁改历 ,新君的登基对原来历法的废止 ,颁行新历是其中一个重要原因 ,但原有历法在行用一段时间后精度降低 ,导致推算失误也是一个不可忽略的因素 。描述历法精度的好坏 ,就是要看其推算值与真实值之间的误差 。误差的平均值可以反映历法推算值偏离真实值的平均水平 ,但由于误差有正负之分 ,会出现正负误差相互抵消 ,因 而选用误差绝对值的

29、平均值更能反映一部历法的平均精确程度 。若取误差绝对值的标准差 ,则能反映误差的离散程度 。因为即使平均值很小 ,但若误差的分布过于分散 ,出现过 大或是过小的误差 ,都不利于推算 ,不能说是一部好的历法 。如果在精度相同的条件下 , 行用的时间越长 ,表明此历法受时间推移的影响较小 ,更能适宜长时期的使用 。因此 ,从 推朔精度方面评价古代历法的优劣 ,主要考查以下 3 个方面 : ( 1 )历法推算值偏离真实值 的大小 ; ( 2 )推算值偏离真值的程度 ; ( 3 )历法推算值偏离真值的趋势 。前两方面分别用 平均值和标准差来描述 ,第三方面用误差的拟合曲线来描述 ,以上 3部历法推朔误

30、差的趋势线也列于图 1 至 3中 。这 8部历法中 ,误差绝对值的平均值最小的是淳熙历 ,为 010786小时 ,在 015 小时 以下的还有乾道历 、成天历 和开禧历 。只有统元历 的平均值超过 018 小时 ,它 的精度是最差的 。而误差绝对值的标准差小于 015 的也只有纪元历 、乾道历 、会元 历 、开禧历 和成天历 五历 ,以成天历 为最小 ,统元历 为最大 。误差的标准差中只有统元历 大于 1 ,成天历 仍为最小 。因此 ,从这两个指标上看 ,在推算定朔方面 ,统元历 为最劣 ,而成天历 为最佳 。而若考查它们的精度变化趋势 ,则要看其误差拟 合直线的斜率 ,斜率为负值表明其推朔会

31、随时间推移更加晚于真实值 ,除乾道历 外 ,均 属此类 。 8部历法中 ,斜率的绝对值最大的是成天历 ,其次是淳熙历 和纪元历 ,而 较小的有开禧历 和会元历 。经计算 ,可得成天历 的推朔精度随时间的变化为每年降低 61624分钟 ,而开禧历 为每年降低不足 1 分钟 。从这角度看 ,开禧历 为最优 的历法 ;而成天历 虽然推朔误差最小 ,精度最高 ,但它在行用一段时间后 ,精度会明显 下降 ,其实用性不及开禧历 。 8部历法各项指标的比较如图 4所示 。图 4 各部历法定朔精度比较需要指出的是 ,中国古代历法基本天文常数的测量地点 天文台 的位置并不一定在其帝都 ,这样即使在现代看来是很精

32、确的推算 ,但由于观测点与帝都之间的时差 , 也可能使得在古人看来 , 这种推算并不精确 , 反之亦然 。纪元历 、开禧历 与成天 历 三历的观测点都在帝都 ,而其余五历观测点与帝都均不在同一位置 。从表 1 中可以 看出 ,南宋初四历的观测点俊仪与其帝都临安经度上相差了 6度之多 ,合 24分钟 。因而 ,631期滕艳辉等 :纪元历 等 8部宋代历法的定朔推步及精度分析对古代历法定朔精度的比较和判断 ,要采用现代人与古代人两种视角来分析 。在使用公式 ( 6 )计算改正后的定朔值时 ,所加的时差如果取成北京时间与历法制造时观测点地方 时的时间差 ,最终的精度就是依现代人的眼光来衡量的结果 ,

33、这种比较是我们的主要任 务 ,它能从客观上反映和评价中国宋代历法的精确程度与优劣 ;若表示成北京时间与行用 期间帝都地方时的时间差 , 则最终的比较结果就是在当时人看来历法推朔的精度 。对纪元历 、开禧历 和成天历 来说 ,这两种结果是一致的 ,但对其它五历 ,结果会有 很大差异 。崇天历 及纪元历 行用于北宋 ,其都城所在地是汴梁 (今开封市 ) ,地理经度是 114135 °E ,与北京相差 5165度 ;其余历法均行用于南宋 ,其都城是临安 (今杭州市 ) ,地理经度是 12012 °E ,与北京相差 012度 。崇天历 的天文常数观测点与帝都经度仅差 112 度 ,

34、两种方式对精度的考查结果差 别不是很大 。纪元历 在南宋之初已经失传 ,在绍兴二年 ( 1132 年 ) ,才为宋高宗重金买到 ,然而 ,在其行用不足三年的时间中 ,其推朔精度却十分差 。以当时的帝都临安为准 ,纪元历 的误差达到了 116276小时 ,近 100 分钟 ,而且所有推算 ( 37 次 )均严重后天 ,误 差大于 1小时的就有 33次 ,在当时的精度下 ,这是不能容忍的 。定朔精度直接影响到日食的推算 ,宋高宗绍兴五年 ( 1135年 )日官依纪元历 推算 ,是年“正月朔旦日食九分半 ,亏在辰正 ,常州布衣陈得一言 ,当食八分半 ,亏在巳初 ,其言卒验 ”( 10 , 2869

35、页 ) 。当我 们考查 1136 年 1月 16日这次日食时 ,纪元历 推算的定朔值为 919667 时 ,其误差达到了 115366 小时 ;而实际的朔时是 1114813 时 ,食甚时刻是 1112980 时 ,最大食分为 0191 ,这样看来 ,陈得一的推算更能接近实际 。于是 ,高宗命陈得一改历 ,但其统元历 由于仍 然采用北宋时在俊仪测得的天文数据 ,使其推朔精度在当时人看来仍很粗糙 ,推朔误差达到了 111463 小时 。其后刘孝荣改历 ,对基本天文常数再做进一步调整 ,使得乾道历 、淳熙历 和会元历 三历的精度有所提高 ,均保持在 015小时以下 。4 结语纪元历 的推朔过程包括

36、计算经朔 、求太阳改正数 、求月亮改正数和计算定朔四步 。其基本思想是先给定一个平均值 ,然后对其进行不均匀修正 ,从而得到一个确定值 。纪元历 的定朔模型与按其推朔思路而建立的理论模型十分接近 ,均是用经朔值加上日月 改正数而得到定朔值 ,不足之处直到大统历 才得到弥补 ( 9 , 324 326 页 ) 。根据纪元历 的算法模型编写的计算机程序具有较强的通用性 ,它能将包括纪元 历 在内的宋代 8 部历法任意一个定朔时刻求出 ,这不仅有助于我们了解各历任意定朔时刻的计算精度 ,而且对宋代历书中所载朔闰表的核实工作提供了方便 。宋代历法的定朔计算已经达到很高的精度 。平均误差为后天约 20分

37、钟 ,而取误差绝 对值的平均值在 40分钟左右 ,最大误差为 414666小时 ,满足当时推朔精度要求的应该在八成以上 。有近一半的推算误差在半小时以内 。就每部历法而言 ,在推算定朔方面 ,统 元历 为最劣 ,而成天历 为最佳 ,这也使得我国古代推算定朔的精度达到 22 分钟 ;而在 纪元历 行用前期 ,观测点俊仪就位于其都汴梁 ,而行用后期 ,其都城在临安 ,仍要分别讨论其精度 。稳定性和能否长期使用方面 ,开禧历 为最优的历法 ,行用 40 多年中 ,其推朔精度随时间的变化为每年降低不足 1 分钟 。然而 ,每部历法在行用一段时间后精度降低 ,会导致推 算失误的增加 ,这确是宋代频繁改历

38、的一个重要原因 。致谢本文是西北大学数学与科学史研究中心“历法讨论班 ”的成果之一 ,在成文过程中 ,曲安京 、唐泉 、袁敏等老师参加了讨论 ,特此感谢 。参考文献1刘金沂 ,赵澄秋.麟德历 定朔计算法 A . 薄树人 , 刘金沂. 中国天文学史文集 C . 第 3 辑. 北京 : 科学出版社 ,1984. 36 88.张培瑜 ,等.宣明历 定朔计算和历书研究 J . 紫金山天文台台刊 , 1992 , 11 ( 2 ) : 121 155.张培瑜.授时历 定朔日躔及历书推步 A . 薄树人. 刘金沂. 中国天文学史文集 C . 第 6 辑. 北京 : 科学出版社 ,1994. 30 58.李

39、勇 ,张培瑜. 中国古历定朔推步综述 J . 天文学进展 , 1996 , 14 ( 1 ) : 66 76.尚晓清 ,曲安京.大衍历 定朔算法及程序说明 J . 西北大学学报 (自然科学版 ) , 1999 , 29 ( 3 ) : 193 196. 贾小勇 ,王鹏云. 古代巴比伦塞琉古王朝时期的定朔算法 J . 自然辨证法通讯 , 2007 , 29 ( 6 ) : 91 95. 滕艳辉 ,王鹏云.纪元历 定朔算法模型及分析 J . 西北大学学报 (自然科学版 ) , 2008 , 40 ( 5 ) : 855 858. 薮内清. 隋唐历法史 研究 M . 京 :三省堂 , 1944.曲安京. 中国历法与数学 M . 北京 :科学出版社 , 2005.(元 )脱脱 ,等. 宋史 ·律历志 A . 历代天文律历等志汇编 Z . 第 8 册. 北京 : 中华书局 , 1976.曲安京. 中国数理天文学 M . 北京 :科学出版社 , 2008.薄树人.纪元历 解 A . 薄树人文集 C . 合肥 :中国科学技术大学出版社 , 2003. 369 447.陈美东 ,张培瑜. 月离表初探 J . 自然科学史研究 1987 , 6 ( 2 ) :

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论