鬼指棺
作者:绝恨长歌 | 分类:游戏 | 字数:30.5万
本书由零点看书签约发行,版权所有侵权必究
第四十七章 李淳风(中)
而在唐高祖武德二年(619)的时候,颁行了傅仁均的《戊寅元历》。《戊寅元历》首次采用定朔,是中国历法史上的一次大改革。在《戊寅元历》之前,历法都用平朔,即用日月相合周期的平均数值来定朔望月。《戊寅元历》首先考虑月行迟疾,用日月相合的真实时刻来定朔日,从而定朔望月,要求做到“月行晦不东见,朔不西眺”。由于《戊寅元历》的一些计算方法有问题,颁行一年后,对日月食就屡报不准。武德六年,由吏部郎中 祖孝孙“略去尤疏阔者”,后又经大理卿崔善为与算历博士王孝通加以校正。贞观初年,李淳风上疏论《戊寅元历》十有八事。唐太宗诏崔善为考核二家得失,结果李淳风的七条意见被采纳。李淳风为改进《戊寅元历》作出贡献,被授予将仕郎。贞观十四年(640),李淳风上言:《戊寅元历》术“减余稍多”,合朔时刻较实际提前了,建议加以改正,这个意见又被采纳。贞观十八年,李淳风又指出:《戊寅元历》规定月有三大、三小,但按傅仁均的算法,贞观十九年九月以后,会出现连续四个大月,认为这是历法上不应有的现象。于是唐太宗不得不下诏恢复平朔。改用平朔后,《戊寅元历》的问题更多,改革势在必行。
李淳风根据他对天文历法的多年研究和长期观测,于麟德二年(665)编成新的历法。经司历南宫子明、太史令薛颐、国子祭酒孔颖达参议推荐,唐高宗下诏颁行,并命名为《麟德历》。《麟德历》的主要贡献有二:
第一,在中国历法史上首次废除章蔀纪元之法,立“总法”1340 作为计算各种周期(如回归年、朔望月、近点月等)的奇零部分的公共分母。中国古历的“日”从夜半算起,“月”以朔日为始,而“岁”以冬至为始。古历把冬至与合朔同在一日的周期叫做“章”,把合朔与冬至交节时刻同在一日之夜半的周期叫做“蔀”。古历以十“天干”与十二“地支”纪年、日,如果冬至与合朔同在一日的夜半,纪日干支也复原了,则这个周期叫做“纪”;如果连纪年的干支也复原了,则这个周期叫做“元”。古代制历都要计算这些周期,但这些周期对历法计算并非必要,反而成为历法的累赘,李淳风毅然把它废除了。《麟德历》以前的各种历法都用分母各不相同的分数来表示各种周期的整数以下的奇零部分。这些周期,如期周(回归年)、月法(朔望月)、月周法(近点月)、交周法(交点月)等,都是历法计算必须预先测定和推算的重要数据。因为这些周期参差不齐,计算十分繁琐,比较各种数据也很不方便,李淳风就立“总法”1340 作为各种周期奇零部分的公共分母,这样,数字计算就比以前的历法简便得多。《畴人传》对此给予了高度评价:“盖会通其理,固与古不殊,而运算省约,则此为最善,术家遵用,沿及宋元,而三统四分以来,章蔀纪元之法,于是尽废。斯其立法巧捷,胜于古人之一大端也。”
第二,重新采用定朔。《戊寅元历》虽首次采用定朔,但因为有关的计算方法未完全解决,又倒退到用平朔。为了使定朔法能站得住脚,《麟德历》改进了推算定朔的方法。李淳风早年仔细地研究过隋朝刘焯的《皇极历》,并撰写皇极历又一卷。刘焯在北齐张子信关于日行盈缩的观测结果的基础上,创造了推算日月五星行度的“招差术”,即二次函数的内插公式。李淳风总结了刘焯的内插公式,用它来推算月行迟疾、日行盈缩的校正数,从而推算定朔时刻的校正数。为了避免历法上出现连续四个大月的现象,他还创造了“进朔迁就”的方法。《新唐书》卷二六所载的《麟德历经》说:“定朔日名与次朔同者大,不同者小。”这里日名指纪日干支中的“干”。还规定:“其元日有交、加时应见者,消息前后一两个月,以定大小,令亏在晦、二,弦、望亦随消息。”消息是消减与增长的意思。按这一规定,就可以做到“月朔盈朒之极,不过频三。其或过者,观定小余近夜半者量之”。这就是说,用改变一月中未满一日的分数(即小余)的进位方法,来避免历法上出现连续四个大月或小月。但应指出,这种“进朔”法是为了避免历书上出现连续四个大月而人为迁就之法,并不是日月运动规律的正确反映。按近代的推算方法,采用定朔就有可能连续出现四个大月。
《麟德历》为完成中国历史上采用定朔这一改革作出了重要贡献。“近代精数者,皆以淳风、一行之法,历千古而无差,后人更之,要立异耳,无逾其精密也”。此说虽有溢美之辞,但由此可见《麟德历》对后世历法的重大影响。它作为唐代优秀历法之一,行用达六十四年(665 年至728 年)之久。《麟德历》还曾东传日本,并于天武天皇五年(667)被采用,改称为《仪凤历》。
《麟德历》的最大缺点是不考虑岁差。晋代虞喜发现岁差后,祖冲之首先把它用于制历,大大提高了历法的精密度。此后,隋朝张胄玄的《大业历》、刘焯的《皇极历》、唐初傅仁均《戊寅元历》都考虑了岁差。但李淳风却利用《尧典》四仲中星的内在矛盾,根本否认岁差存在。他与数学家王孝通一起责难《戊寅元历》考虑岁差,致使“岁差之术,由此不行”。后在728 年张遂(一行)在编制《大衍历》时,才重新考虑岁差......