“三月,参星在西方地平线上快要落下去了,这时桑叶萌发,杨柳抽枝,蝼蛄鸣叫,冰已融化,……妇女们要开始养蚕了。”这是《夏小正》中的一段话。由于文字古奥,我们把它译成白话。在天文学史上,称这种通过观测天象和物候来安排一年季节与月份的方法为“观象授时”。“野人无历日,鸟啼知四时”。在历法知识尚不完备的条件下,“观象授时”活动曾持续了相当漫长的一段历史时期。《夏小正》据说就是夏代的历法,虽然现在研究认为该书成书于春秋战国,但书中无疑保存了很久以前人们积累的观象授时资料。除《夏小正》外,《礼记·月令》、《淮南子·天文训》和《逸周书·时则解》等早期月令著作中都有观象授时的内容。
大约在春秋中晚期,我国产生了一种以365¼日为回归年长度,取19年七闰为闰周的历法,我们称之为四分历。四分历的两个基本数据在当时世界上是十分先进的,比古希腊人默冬(Meton)的同样发现要早百年左右,它的出现标志着我国历法已经进入比较成熟的时期。
在中国古代,历法关系着国计民生的各个方面,因此,颁布历法是一件极为重要的事。战国时期,列国争霸,许多诸侯国都颁布了自己的历法,主要有黄帝、颛顼、夏、殷、周、鲁六种。六种历法都是四分历,只是所规定的历法起算年份(历元)和每年开始的月份(岁首)有所不同。秦国使用的是颛顼历,因此当秦扫灭六国,一统江山后,颛顼历就成为秦始皇颁发全国的历法,直到汉初仍在继续沿用。到了汉武帝时,颛顼历已日渐疏漏,影响了农业生产,所以汉武帝组织一批天文人才颁布了新的历法《太初历》。汉武帝的改历,奠定了中国改朝换代时更换历法的传统,而《太初历》的出现则标志着中国古代历法体系的形成。《太初历》首次提出了以没有中气(雨水、春分、谷雨等十二节气)的月份为闰月的原则。这个方法在农历(或夏历)中一直沿用到现在。《太初历》还第一次明确提出了135个朔望月中有23个食季的食周概念,并且依据五星在一个会合周期内动态的认识,建立了一套推算五星位置的方法。可以看出,《太初历》并不是一个单纯的日历,而是综合了气朔、闰法、五星、交食等多项内容,类似于现在天文年历的综合性工具书。它成为后来编撰各种历法的模式依据。
由于中国古代历法有着丰富的内容,因此,历法的改革也是多方面的,它包括新理论的提出和运用,精密数据的测定,计算方法的改进等。历法的改革带动了整个古代天文学的发展,故此有人认为我国古代天文学史,从一定意义上来讲,就是一部历法改革史。在中国古代,先后出现的历法就达100多种。
东汉一代,月亮运动及交食问题是改历活动的一个争论焦点。汉和帝时贾逵用自己造的黄道铜浑仪进行观测时就已经发现月亮的运动是不均匀的。随后相继出现了《九道术》、《月食术》、《月食注》等专门讨论月行和月食的著作。到了东汉末年,刘洪在《乾象历》中第一次将月行迟疾引进历法,定出了比较精确的近点月日数和一个近点月内每天的月亮实际所行度数,由此可以更准确地推算日食和月食。《乾象历》还第一次定出了交食食限的数值,这在交食预报上是个重要的发明。另外,《乾象历》在交点月、回归年长度、黄白道距离等研究上也均有突破,从而开辟了中国古代历法发展的新纪元。
三国两晋南北朝时期,是个社会大动荡的时期,各个民族、各个地区的局部政权更迭迅速,因而也出现了许多新历法。这时的历法进步主要表现在三个方面:首先是三国时魏国杨伟在《景初历》中提出了食分和日食亏始方位的计算方法,促进了交食理论的发展。其次是刘宋时祖冲之在《大明历》中首次把东晋虞喜发现的岁差现象引入历法计算中,提高了冬至点推算的准确性。第三是北齐民间天文学家张子信在一个海岛上利用自制仪器进行观测,发现了太阳、五星也和月亮一样,它们在天空的视运动速度是不均匀的。它告诉人们一个节气和另一个节气的日数可能是不相等的,而计算日月交食不仅要考虑月亮运动的不均匀,还需考虑太阳运动的不均匀性。这一发现预示着历法史上又一次大变革的到来。
隋唐时期的历法在前代成果积累的基础上产生了新的飞跃。首先是隋代刘焯在《皇极历》中采用了定朔的方法,代替平朔,并创立了二次等间距内插法,用以推定五星位置和日月食起讫(初亏和复圆)时刻及食分等,还采用定气的方法来计算日行度数和交令时刻。到了唐初李淳风的《麟德历》,定朔法得到肯定,从此代替了平朔法。唐代最著名的历法是一行的《大衍历》。一行为了编制新历,曾进行过大量的实际观测,最为人熟知的是他主持的世界上用科学方法进行的第一次子午线实测。一行的《大衍历》对太阳运动的规律做了比张子信、刘焯等人更合乎实际的描述。他认为冬至时日行最急,夏至时日行最慢;他的太阳运动表(日躔〔chan缠〕表)是根据定气编的。由于太阳运动的不均匀性,所以两个定气之间所需的时间是各不相同。为了从数学上解决这个问题,一行创立了不等间距二次内插法。《大衍历》在日月食和五星运动计算方面也有较大进步,如考虑到视差对交食的影响,创立了一套计算视差影响的经验公式。《大衍历》共分七篇,内容和结构都很系统,表明我国古代的历法体系已经完全成熟。之后的各次修历,一般都仿效《大衍历》的结构。中唐以后,曹士蒍〔wei伪〕首先在《符天历》中以一个二次函数式描述太阳周年运动的不均匀性;之后边冈在《崇玄历》中也把二次函数式引入了黄赤道坐标的换算以及月亮黄纬与食差的计算,又在影长计算中应用了三次函数,在太阳赤纬及昼夜漏刻的计算中使用了四次函数。这些工作使高次函数法成为中国古代历法计算的又一重要方法,开创了各种天文数表及其算法公式化的新传统。
宋代,历法计算上又有所发展。周琮《明天历》中的各项计算均使用了高次函数式,并且用到了五次函数。这部历法是中国古代公式化程度最高的历法。以后,姚舜辅在《纪元历》又前进一步,许多经验计算公式,都比以前的历法简便、精密。宋代历法中,最富有创造性的是杨忠辅的《统天历》。该历中的回归年长度为365.2425日,和欧洲于公元1582年以后采用的格里高利历完全一致,但却要早近400年。不仅如此,杨忠辅还提出回归年长度不是固定不变的,它的数值古大今小,这是天文学史上的一个重要发现。
中国古代历法发展的顶峰是元代郭守敬等人编撰的《授时历》。《授时历》吸收了以前历代历法的长处,并有所发展、创新,成为我国古代历法史上划时代的产物。
《授时历》是中国古代最优秀的一部历法,由元代王恂、郭守敬等人编撰。历法初稿完成于元世祖至元十七年(公元1280年),并于第二年颁行天下。而历法的最后定稿则要到至元二十三年(公元1286年)。
早在元世祖忽必烈初登皇位的时候,他的谋臣刘秉忠就曾建议改革历法。1276年忽必烈攻占江南后,下令改革历法,设太史局,任命张文谦、张易为主要领导,而以王恂为实际负责人,郭守敬为副手。王恂(公元1235—1281年)字敬甫,河北唐县人。郭守敬(公元1231—1316年)字若思,河北邢台人。王、郭二人都在少年时代就精通天文、数学,又都是刘秉忠在邢台西南紫金山隐居时的学生。在改历中,王恂主管推算,郭守敬负责制造仪器和观测。后来又先后聘请了南方著名学者许衡、杨恭懿等,从事阐述历理的工作。当时参加改历的南北天文工作人员有数十人之多。经过四年的艰苦努力,新历完成初稿,元世祖赐名《授时历》,取义于“敬授民时”的古语。1281年新历颁行。也就在这一年,王恂病故,而张文谦、张易、许衡也在此前后去世,杨恭懿告老辞归。郭守敬在以后的几年里,独立完成了新历的全部整理定稿工作。后人往往因此认为郭守敬是《授时历》的作者,而实际上《授时历》的完成是当时一批优秀人才集体智慧的结晶。
《授时历》现今只是狭义地指保存在《元史·历志》里的《授时历经》二卷七篇。这七篇分别是:1.步气朔,介绍推算节气、朔、弦、望所在时刻的方法;2.步发敛,推算卦、候、土王及五行用事等项;3.步日躔,求太阳每日在黄道上运行的速度和位置。介绍太阳黄、赤道经度的互推;4.步月离,求月亮的运行和月道与赤道的交点等;5.步中星,计算昼夜长短时刻、影长和昏旦中星的度数;6.步交会,即日、月食的推算方法;7.步五星,推算五大行星的运动和位置。《授时历经》的篇章结构和内容基本上沿用了自《大衍历》以来的历法传统。然而,从广义上说,《授时历》还应包括同授时历法有关的历法理论、天文观测成果等内容,也就是郭守敬整理新历时得到的成果:《推步》七卷、《立成》二卷、《历议拟稿》三卷、《转神选择》一卷、《上中下三历注式》12卷。1286年,郭守敬升任太史令,又写成《时候笺注》二卷、《修改源流》一卷、《仪象法式》二卷、《二至晷影考》10卷、《五星细行考》50卷、《古今交食考》一卷、《新测二十八宿杂坐诸星入宿去极》一卷、《新测无名诸星》一卷、《月离考》一卷,等等。可惜这些书大部分没有流传下来。朝鲜等国保存着《立成》。近年人们又从北京图书馆的明抄本《天文汇钞》中发现了《三垣列舍入宿去极集》,认为是郭守敬《新测二十八宿杂坐诸星入宿去极》一书的改抄本。此外,《元史·历志》保存有李谦奉元世祖之命所撰的《授时历议》,当是根据《历议拟稿》和其他有关材料写成。而《元史·天文志》中记载郭守敬所创制仪器的资料,也有可能是根据《仪象法式》一书改写的。所有这些,都可视为《授时历》的组成部分。
《授时历》是在总结前人历法经验,认真观测推算的基础上创造出来的一部精良的历法。它在天文观测数据的精确度和历法推算的数学方法上都取得了辉煌的成就,一般统称之为“考正七事”和“创法五事”。
郭守敬很重视天文观测在历法改革中的作用。他认为:“历之本在于测验,而测验之器莫先于仪表。”真正抓住了修历的关键所在。为了得到精确的天文数据,郭守敬等人进行了空前规模的天文观测。他们在北京、太原、成都、雷州等27处设立了观测所,比唐代多了一倍。郭守敬还改造和创新了许多天文仪器,如圭表、简仪、仰仪、七宝灯漏、星晷定时仪等,有十几种。这些工作,使《授时历》中天文数据的精密程度大大超越了前人。如《授时历》中的岁实(回归年)取365.2425日,这是郭守敬等人历时近四年的精细测量,并结合前代历法中的可靠资料,加以考证推算而成。它与南宋杨忠辅《统天历》的岁实一样,与现在世界通用的公历回归年数值相同。又如,《授时历》中的朔策(即朔望月)取29.530593 日,现代朔望月的精密值为29.530589日,二者之差为0.000004日,精确度确实很高。 另外该历中的近点月为27.554608日,交点月27.212224日,精确度也很高。
自汉代以来,黄赤交角(即黄道面与赤道面的交角)一直被认为是24度,经过1000多年,始终无人更正。其实黄赤交角在逐年减小。在《授时历》中,郭守敬根据精密的天文测量,归算出的黄赤交角为23°90′30″(古度)折合成今天的360度制为23°33′33″9,而精确值为23°31′58″,误差仅为1.6′。另外,《授时历》中二十八宿距度的测量平均误差才4′.5,也达到了当时世界最先进水平。
《授时历》中还彻底废除了沿用已久的上元积年。旧历法家推算上元积年,是寻求一个所谓的“祥瑞”的计时起点,要恰逢甲子日、朔旦(朔望月的开始时刻,即夏历初一)和冬至同在一天的夜半发生,还要“日月合璧”、“五星联珠”,即日月五星并见于一方。这些条件全部会齐,作为计时起点,就是上元。积年是从制历这一年上推到上元那一年累积的年数。由此可见这项工作是多么繁重。《授时历》抛弃了这种传统算法,而是以实际观测数据为基础,以至元十八年(公元1281年)辛巳岁冬至为历元,使计算方法更为简便合理。这种方法和近代采用的截元法是一致的。这是对我国古代历法的一次重大改革。
除了根据实测考证天文数据外,《授时历》还把当时最先进的数学知识应用于天文计算。郭守敬等人经过刻苦研究,在《授时历》中创立了天文上五项新的推算方法,即用招差法计算日月运动,推算太阳每日在黄道上运行的速度,推算月亮每日绕地球运行的速度等;用弧矢割圆法互推太阳黄、赤道经纬度,计算月道和赤道的交点。《授时历》中的招差术相当于三次或更高次的内插法,它的天文基础是考虑了日月五星的不等速运动。这个问题隋代刘焯和唐代一行曾分别用等间距二次内插法和不等间距二次内插法来解决,但不彻底。《授时历》采用三次差分的内插法原理,成为历法中的一大创举。弧矢割圆法类似两个球面三角公式,是我国独特的球面三角学,是数学方法在天文学中应用的一大创新。
在《授时历》中,还废除了用复杂分数表示数据的方法。我国古代历法一般用分数来表示天文数据的整数后的奇零部分,运算十分繁琐。唐代南宫说的《神龙历》和曹士蒍的《符天历》中虽然已经引进了十进制的小数概念,但没有被一般天文学家所重视。直到500年后,王恂和郭守敬等人才在《授时历》中采用。《授时历》以一日为100刻,一刻为100分,一分为100秒,秒以下的单位也一律百进位,因此一日的数据可以精确到小数点后面第六位,精度高而且比分数表示法简单明了得多。
《授时历》是我国古代行用最久最精密的一部历法,从1281年到明末,行用了360余年,在明代时改名为《大统历》。《授时历》还传到海外,元朝时朝鲜高丽王朝就原封不动地搬用了《授时历》,日本1684年采用的《贞享历》也利用了《授时历》的原理和方法。