首页 理论教育 历法的典型内容和基本课题

历法的典型内容和基本课题

时间:2022-01-31 理论教育 版权反馈
【摘要】:典型历法的内容构成中国古代历法的中心课题是研究并力求掌握日月五星的精确运动规律,其内容的构成和编排形式,前期可以《三统历》为典型。《三统历》被认为是对《太初历》进行改编的结果,可称是早期历法的代表,其结构和内容成为后世历法模仿的对象。可见在《三统历》中,各项研究内容已初步具备。太阳视运动上述历法推算的典型项目中,有多个项目与太阳有关。对太阳视运动规律的精确把握是古代历法的第一个基本课题。
历法的典型内容和基本课题_天文学史一部人

典型历法的内容构成

中国古代历法的中心课题是研究并力求掌握日月五星的精确运动规律,其内容的构成和编排形式,前期可以《三统历》为典型。《太初历》是第一部留下了部分数据的历法,但没有完整的术文。《三统历》被认为是对《太初历》进行改编的结果,可称是早期历法的代表,其结构和内容成为后世历法模仿的对象。根据《汉书·律历志》的记载,《三统历》共分为六章:

1.统母。该章共列出87个历法常数,为以后各章推步所需。

2.五步。依次描述五大行星的视运动规律,将行星动态分为“晨始见”、“顺”、“留”、“逆”、“伏”、“夕始见”等六个阶段,给出每段的持续时间和平均运动速度等项目。

3.统术。推求朔日、节气、月食等与日月运动有关的项目。

4.纪术。推算给定时日内行星的位置。

5.岁术。推算太岁纪年;给出十二次与二十四节气的对应关系;给出二十八宿距度。

6.世经。依据《三统历》对上古至西汉末诸帝王的在位年代进行梳理,将历法运用于历史年代学。

可见在《三统历》中,各项研究内容已初步具备。到唐代一行的《大衍历》堪称一时巨制,成为后世历法的楷模。《大衍历》在内容和结构上较前代历法有所改进和调整。《旧唐书·历志三》和《新唐书·历志四》都载有此历,共分为七个部分:

步中朔第一,共6节。推求月相之朔、弦、望和没、灭日等项目。

步发敛第二,共5节。推求七十二候、六十四卦和五行用事等项目。

步日躔第三,共9节。专门讨论太阳视运动,使用日躔表对太阳视运动不均匀性进行修正。

步月离第四,共21节。专门研究月亮视运动,使用月离表对月离视运动不均匀性进行修正。

步轨漏第五,共14节。专门研究与授时有关的各类问题。

步交会第六,共24节。专门讨论日食、月食的推算及有关问题。

步五星第七,共24节。专门研究五大行星的视运动规律。其深入程度及所用之方法已远远超过《三统历》中之“五步”。

《大衍历》之基本研究内容仍不出日月五星之范围,其目的就在于提供一种预推此七大天体任意时刻所在位置的方法。到元朝郭守敬等人的《授时历》虽然做出了重大改革,譬如彻底废除了上元积年的推求,全部采用实测数据等,但仍然不能离开历法的中心课题,在内容的表述形式上也少有变动。郭守敬定稿的《授时历》分为推步七卷、立成二卷、历议三卷。《元史·历志》将《授时历》改编成《授时历议》二卷、《授时历经》二卷。其中《授时历经》分“步气朔”、“步发敛”、“步日躔”、“步月离”、“步中星”、“步交会”、“步五星”等七个部分。

直到明末西洋历法来华,徐光启等编成《崇祯历书》,共分为法原、法数、法算、法器和会通等基本五目。法原介绍天文学基础理论;法数给出各种天文数表;法算介绍天文计算中的基本数学方法,主要是三角学和几何学知识;法器介绍有关天文仪器方面的知识;会通是中西各种度量的换算表。这种对天文学知识的重新整理,体现了非常明显的外来影响。特别是把介绍天文学基础理论的法原从具体的推算项目中脱离出来,是典型的西方科学传统中的做法。

太阳视运动

上述历法推算的典型项目中,有多个项目与太阳有关。对太阳视运动规律的精确把握是古代历法的第一个基本课题。隋代以前对太阳视运动的认识比较简单,认为太阳从黄道上某一点出发,经过一个回归年后又回到原处。回归年长度各个历法不尽相同(表3.2给出了历史上一些重要历法的回归年长度数值),中国古代定义太阳一天行走一度,所以周天的度数在数值上等于回归年的长度。

表3.2 古代一些重要历法的回归年长度和朔望月长度

(续表)

在中国古代历法中,冬至被当作是一个回归年的起算点。所以冬至时刻的确定成了测定回归年长度的关键。古人利用立表测影的办法——冬至日正午表影为一年中最长——能准确确定冬至的日期,但是冬至正午不一定是冬至时刻。早期历法的回归年长度难以达到很高的精度。后来祖冲之提出了一种巧妙的测定冬至时刻的方法:

十月十日影一丈七寸七分半,十一月二十五日一丈八寸一分太[10],二十六日一丈七寸五分强[11]。折取其中,则中天冬至应在十一月三日。求其蚤晚:令后二日影相减,则一日差率也。倍之为法,前二日减,以百刻乘之为实,以法除,得冬至加时在夜半后三十一刻。(《宋书·历志》)

该方法的原理如下图3.10所示。以A为第一次测影的日期,a为所测得的影长;B为第二次测影的日期,b为影长;C为第三次测影的日期,c为影长。D为A、B的中点,即为冬至日期,E为冬至时刻。祖冲之的方法实际上就是利用了冬至日前一次、后两次(须在相邻的两日测定)的测影数据,来求出DE的长度,即E点离开冬至日开始时刻的刻数。

图3.10 祖冲之计算冬至时刻方法

在祖冲之的计算思路中,实际上默认了冬至前后每日正午的影长变化是对称的,并且每日影长的变化是线性的。这样,我们可以假定在B、C两日之间存在一个假想的时刻A1,对应的虚拟影长为a1,令a1=a。E为A与A1的中点,对应的虚拟影长为最长,即为冬至时刻。不难证明:

而根据线性变化的假定,可知:

因此有:

以上是对祖冲之推求冬至时刻计算思路的现代解读。祖冲之提出此法之后,后代制历者大多采用类似的方法来确定回归年的长度,使得回归年数值精度上升了一个台阶。但是由于该方法中的对称性假定和线性假定都不是严格成立的,用这种方法确定的回归年长度还有一定的误差。

与冬至时刻的确定对回归年长度的确定至关重要相类似,冬至时刻太阳在天空中的位置的确定对于许多其他历法推算项目而言也是至关重要的。在早期,天文学家们通过昏中星观测法来确定太阳的位置,具体的做法是通过观测黄昏时分位于正南方子午线上的恒星,来推测太阳在恒星中的位置。《太初历》定冬至日所在为牵牛初度,这是取自先秦文献中的数据。牵牛初在很长时间内成了冬至点的代名词。《后汉四分历》颁行后,当时的历算家对冬至日所在的位置发生了争议,人们发现冬至点实际上已经退行到了斗宿之内。到晋虞喜“使天为天,岁为岁,乃立差以追其变。使五十年退一度”(《新唐书·历志三上》),明确提出了冬至点的退行,即岁差概念。虞喜的50年退1度的岁差值稍嫌粗糙——正确值为71.7年退一度,但他提出的这个岁差概念是非常重要的。

然而虞喜的发现对后世历法没有产生立竿见影的影响。后秦姜岌造《三纪历》,用月蚀冲法定日所在,得到冬至日太阳在斗十七度,并将之作为常度。他认为前代历法中的冬至日所在是测量不准确的结果。这等于否定了岁差的存在。何承天造《元嘉历》,也认为斗十七度是冬至常度。直到祖冲之在《大明历》中明确提出“冬至所在,岁岁微差”的概念,在历法推算中引入了岁差常数。到唐李淳风造《麟德历》,又以“南斗十二为冬至,常星终古无差”,再次否定了岁差现象。《畴人传》称李淳风此举乃“智者千虑之失”。直到一行造《大衍历》,岁差才被正式确认,此后不再有反复。

冬至时刻、冬至太阳所在和回归年长度等项目的精确测定对正确描述太阳视运动来说固然至关重要,但还有一项太阳周年视运动不均匀性的发现,不论是对描述太阳本身的运动还是对于历法推算的其他项目来说,都是非常关键的进步。早期的历法把太阳的周年视运动看作是匀速圆周运动,是北齐张子信首先指出太阳周年视运动是不均匀的,即所谓的“日行盈缩”。按照《隋书·天文志中》的记载:

至后魏末,清河张子信,学艺博通,尤精历数。因避葛荣乱,隐于海岛中,积三十许年,专以浑仪测候日月五星差变之数,以算步之,始悟日月交道,有表里迟速,五星见伏,有感召向背。

首次计算太阳周年视运动不均匀性修正的历法是刘焯的《皇极历》,刘焯按照节气把修正值列成一个数表,这个数表叫做“日躔表”。在此后的历法中,日躔表成了推算太阳视运动的一个必不可少的组成部分。日躔表的引入使得历法其他诸多推算项目的精度大大提高。首先使得对太阳本身位置的计算精度大大提高,进而也提高了定朔望的推算精度,从而大大提高了交食的推算精度。另外,太阳周年视运动不均匀性的改正也有利于提高五星视运动的推算精度。

月亮视运动

月亮的视运动非常复杂,它的视运动不均匀性也更为明显,所以“月行迟疾”的发现也比“日行盈缩”的发现要早了近500年。中国古代历法对月亮视运动的掌握和描述,主要表现在对与月亮视运动有关的几种周期的认识方面,它们是朔望月、恒星月、近点月和交点月。

月亮作为夜空中一个十分显著的天体,最引人注目的是它周期性的月相变化。月相变化的一个周期称为一个朔望月。朔和望是这样两个时刻:前者指月亮正好运动到太阳附近,严格地讲是日月的地心黄经相等;后者是指月亮与太阳在黄道上遥遥相对,即黄经相差180度。所以朔时月亮是看不见的,望时月亮最圆。习惯上将包括朔和望这两个时刻的那两天就称为朔、望。事实上朔的前一天和后一天月亮也是看不见的。到朔后第二天黄昏月出于西方天空,这时的月亮状若弯眉,在中国古代将这一天称为朏。明确地将朔作为一朔望月的起点是较晚才出现的,从秦以前的文献来看,朏可能做过月首。西周青铜器铭文中有初吉、既生霸、既望、既死霸等描述月相的术语,但它们的确切含义还有待进一步讨论。

由于月亮运动非常复杂,朔望月并不是严格意义上的一个常数。中国古代历法通过长期观测统计求得的朔望月长度是一个平均长度。根据平均朔望月长度定出的朔与望称为平朔与平望。东汉李梵、苏统提出月行有迟疾,北齐张子信发现日行有盈缩,所以在平朔和平望基础上需要加上太阳和月亮的运动不均匀性修正,修正后获得定朔和定望。两次定朔或定望之间的时间间隔是真实的朔望月长度,但真朔望月长度变化不定。一般所说的朔望月是指平均朔望月(部分古历的平均朔望月长度见表3.2)。

各古历的平均朔望月长度与回归年长度一起成为古代历法的两个最基本参数。在《麟德历》之前的历法中,朔望月和回归年长度是不独立的,两者被闰周联系在一起。早期的闰周是“19年7闰”,就是说在19年中插入7个闰月。这样,朔望月可以从回归年求得。以《后汉四分历》为例,回归年长度为365天,那么:

反过来也一样,已知朔望月长度后,通过闰周也可以求得回归年长度。通过闰周把朔望月和回归年长度捆绑在一起的做法有根本的缺陷,两个本来可以各自独立测定的参数,现在通过其中一个求另一个,这样容易传递测量误差。又因为19年7闰这个闰周只是一个近似成立的关系式,这样如果朔望月测得非常精确,势必导致求得的回归年变得不精确;反之亦然。后来的治历者注意到了这一点,北凉赵首先打破旧闰周,提出600年221闰的新闰周。祖冲之又进一步提出391年144闰的新闰周。事实上,朔望月和回归年都可以各自独立测得,它们之间也不存在简单的整倍数关系,闰周的设立完全是多余的。到《麟德历》开始,古代历法不再推求新的闰周。

朔望月实际上是以太阳为参照物来确定的月亮运行周期。如果以恒星背景为参照来测量月亮的运动,则所得的运动周期叫做恒星月。古历一般不直接给出恒星月数值,而是以“月每日行度”的形式给出月亮一天内在恒星背景下行走的度数。故恒星月可从下式求出:

由于月亮视运动是不均匀的,所以从“月每日行度”推算出来的月亮位置与实际观测到的月亮位置常有差别。东汉李梵和苏统指出月亮视运动有个速度最快的地方“疾处”——现代天文学中称之为近地点,并且指出这个“疾处”每一个月向前移动三度,九年之后又回到原来的地方。由于月亮近地点在向前移动,所以月亮连续两次经过近地点的时间间隔即近点月,要比月亮连续两次经过同一颗恒星的时间间隔即恒星月,稍长一些。因为月亮的视运动相对于近地点基本对称,所以月离表是按照近点月来编排的。

最后,月亮的运行轨道即白道,与黄道有两个交点,分别叫做升交点和降交点。月亮连续两次经过其中一个交点的时间间隔叫做一个交点月。由于月球轨道交点在退行,所以交点月比之恒星月要小一些。交点月的概念首次由刘洪在《乾象历》中提出。日月交食必定发生在交点附近,所以交点月在交食的推算中起着非常重要的作用。

日月交食

古代历法对太阳视运动和月亮视运动规律的精确探求,最重要的一个目标就是为了精确推算日月交食的发生。日食必定发生在朔,月食必定发生在望。所以推算交食的第一步先要推算真正的朔望时刻,即定朔、定望时刻。推求朔望的步骤大致如下:①根据平均朔望月长度,推算出从上元算起的所求年的各朔望时刻,所得为平朔望;②推算某平朔或平望在一个近点月周期中的位置,也就是平朔或平望离开月亮过近地点时刻的时间间隔;③根据月离表计算平朔时刻月亮平均运动对真实运动的改正值;④把求得的改正值加到平朔望时刻上,所得为定朔望时刻。

求得定朔望时刻之后,再大致分为4步来进行交食预报的推算。首先判断是否进入食限。交食必定发生在黄道与白道的交点附近,所以预推交食的第一步就是判断定朔望时刻太阳和月亮是否运动到黄白交点附近。古历取朔望月天数与交点月天数的差的一半作为食限。如果用朔望月和交点月的今测值代入,得到食限为1.159 185日,再乘以月每日行度(13.368 75度),得到15.50度。所以只要计算朔望时刻月亮离开交点的度数是否小于食限,就可以确定是否会有交食发生。

由于在地面观测到的月亮位置是视位置,为了求得月亮的真位置,还需要进行视差改正。古历将交食推算过程中视差的影响叫做食差。一行在《大衍历》中首创食差的计算法。将求得的食差用来修正上一步求得的月亮离开交点的度数,所得最后结果小于食限,交食就会发生。

接下来就要推算日面或月面被掩去的程度,即食分的推算。古代一般以15分为满分,全食的食分为15。隋唐以后的历法对食分的计算比较复杂,对日食需要考虑月在黄道南和月在黄道北两种情况,要考虑视差等原因引起的各项修正。

然后就是要推求亏食的持续时间,也就是食长。古代历法中有求日月食三限或五限辰刻的方法。三限即初亏、食甚、复圆的辰刻;五限即初亏、食既、食甚、生光、复圆的辰刻。此外,有一些历法还有推算亏食所起的方位、交食发生时日月的位置、见食地区等项目。

最后需要说明一点,以上概括的是古代历法推算交食的大致情形,实际上每一部历法的具体推算方法都有所不同。只有一点是共同的,那就是古代历算学家们都在尽他们的最大努力尽可能准确地推算和预报交食。

行星视运动

五大行星在恒星背景下有较为复杂的运动轨迹,尽可能准确地描述五星运动是古代历法的一项重要内容。地球上观察到的五星绕日运动轨迹是一些比较复杂的曲线,在大部分时间里,行星在恒星背景下由西向东运动,这称为行星的顺行;在小部分时间里,行星由东向西运动,这称为行星的逆行,行星由顺行转逆行或由逆行转顺行时,运动速度会慢下来并一度静止不动,这种状态称为行星的留。当行星运动到太阳附近就看不见了,这称为行星的伏。顺行、逆行、留、伏等运动状态各占一定的时间,合起来组成行星的一个会合周期。显然,由于五大行星离太阳的距离各不相同,它们的会合周期也是不同的。在下一个会合周期里,行星基本上重复上一个会合周期里的视运动。这样连续观测足够多个会合周期的行星运动,看一共经历多少时间,再求得一个会合周期平均有多少天,根据这一方法中国古代得到了比较精确的五星会合周期。

表3.3 部分古历的五星会合周期(天)

(续表)

这里有一个问题值得注意,古人并不是一开始就认识到五星有逆行的。按照《隋书·天文志》中的说法:“古历五星并顺行,秦历始有金、火之逆。又甘、石并时,自有差异。汉初测候,乃知五星皆有逆行。”《开元占经》卷三十引甘氏曰:“荧惑法,东方修纬及常十六舍而止,逆行西运,动以成章,舍一舍半。”又引甘氏曰:“去而复还为勾,再勾为巳。”东汉郗萌解释说:“星行如巳字为巳。”由此可以推断甘德时代已经发现了行星尤其是火星视运动轨迹中的留和逆行。

司马迁在《史记·天官书》中说:“夫自汉之为天数者,星则唐都,气则王朔,占岁则魏鲜。故甘、石历五星法,唯独荧惑有反逆行;逆行所守,及他星逆行,日月薄蚀,皆以为占。”可知甘石确实已经发现了行星逆行,但只把火星的逆行当做常态,其他行星的逆行跟“日月薄蚀”都是“变态”,所以“皆以为占”。按照星占学的原则,正是占变不占常的。

司马迁又说:“余观史记,考行事,百年之中,五星无出而不反逆行,反逆行,尝盛大而变色;日月薄蚀,行南北有时:此其大度也。故紫宫、房心、权衡、咸池、虚危列宿部星,此天之五官坐位也,为经,不移徙,大小有差,阔狭有常。水、火、金、木、填星,此五星者,天之五佐,为纬,见伏有时,所过行赢缩有度。”从这段话可以知道到司马迁时代,已经清楚认识到了五星皆有逆行,而且都是有规律可循的。五星逆行都是常态。

《史记·天官书》中对木星、火星、土星、金星的逆行有了非常明确的描述:

木星:察日月之行以揆岁星顺逆。……岁星出,东行十二度,百日而止,反逆行;逆行八度,百日,复东行。岁行三十度十六分度之七,率日行十二分度之一,十二岁而周天。出常东方,以晨入于西方,用昏。

火星:法,出东行十六舍而止;逆行二舍;六旬,复东行,自所止数十舍,十月而入西方;伏行五月,出东方。

土星:填星出百二十日而逆西行,西行百二十日反东行。见三百三十日而入,入三十日复出东方。

金星:其始出东方,行迟,率日半度,一百二十日,必逆行一二舍;上极而反,东行,行日一度半,一百二十日入。……其始出西方,行疾,率日一度半,百二十日;上极而行迟,日半度,百二十日,旦入,必逆行一二舍而入。

到《三统历》中,对五星的顺行、留、逆行、再留、再顺行等运动阶段已经有了非常详尽的定量描述。

对一个会合周期内五星的动态进行定量的描述,是推求行星视运动的基础。现存最早的资料长沙马王堆汉墓出土的帛书《五星占》中已经有了对木、土、金三颗行星的动态描述。《帛书·五星占》推算了从秦始皇元年开始的木星12年、土星30年和金星8年的行度表——显示出一定的对行星运动的推算能力。[12]逮至《三统历》中,对五星一个会合周期内的动态描述变得完备而详尽。根据《三统历》的“五步”术,可制成以下两表:

表3.4 《三统历》金、水二星动态表

(续表)

表3.5 《三统历》火、木、土三星动态表

(续表)

古代历算学家们相信,每一个会合周期内的五星动态在以后的周期内会重复出现。实际情况要比这复杂一些,但在精度要求不高的情况下,利用像《三统历》中的五星动态表可以对行星运动进行预报。《三统历》“五步”术之后在“统术”一章中给出了求给定时日行星位置的方法,大致分为三步:

1.用行星历元和行星会合周期算出给定时日附近的行星始见日(α)和相应的行星位置(A);

2.求出给定时日(β)同α之间的时间间隔(α-β),再由行星在一个会合周期内的动态表计算出在α-β时间内运行的度数(B);

3.得到所求行星的位置为A+B。

这套算法直到隋代才有所改变:增加了行星视运动不均匀性和太阳视运动不均匀性的改正。以张胄玄的《大业历》为例,推算行星的步骤演变为:

1.利用五星动态表求出给定时日所在的会合周期内的行星始见日,称平见日。

2.对平见日进行行星的非匀速运动改正,得到定见日。

3.以定见日太阳黄道度数加或减(晨加夕减)行星初见时的去日度数,得到行星初见时的黄道度数。

4.利用行星动态表列出的数据,以初见时行星黄道度数为起点,可求得行星在该会合周期内任何一日的黄道度数。

刘焯在《皇极历》中不仅考虑了五星运动不均匀性的改正,还考虑了太阳视运动不均匀性的改正。具体的做法是将《大业历》中的定见日改称为常见日,对常见日进行太阳视运动不均匀性校正,才得到定见日。

隋代对行星运动推算中的不均匀性校正还比较粗疏,到了一行《大衍历》中,对太阳和行星的不均匀性改正无论从方法上还是数值上都有了很大进步。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈