我国认识金、木、水、火、土五星和研究五星运行的规律,有非常悠久的历史。现在我们知道,围绕太阳运行的有九大行星。其中的金、木、水、火、土五星,我国古代在三千年前就已经发现了。不过关于五星的记载,则是到了汉初才正式确立下来。1973年底在长沙马王堆三号汉墓出土的帛书中,有关天文学的资料共八千多字,原件没有标题,整理者根据内容确定为《五星占》,记载了木星、金星、火星、土星、水星的运行规律。《五星占》成书约在公元前170年,距离《淮南子》成书正好是30年。很显然,《淮南子》应是从中汲取了有价值的成分,并加以扩充,使之与自己的整个天文模式联系起来,构成一个完整的体系。
《淮南子·天文训》对于五星的运行规律,有非常完整的记载:
何谓五星?
东方木也,其帝太皞,其位句芒,执规而治春,其神为岁星,其兽苍龙,其音角,其日甲乙。
南方火也,其帝炎帝,其佐朱明,执衡而治夏,其神为荧惑,其兽朱雀,其音徵,其日丙丁。
中央土也,其帝黄帝,其佐后土,执绳而制四方,其神为镇星,其兽黄龙,其音宫,其日戊己。
西方金也,其帝少昊,其佐蓐收,执矩而治秋,其神为太白,其兽白虎,其音角,其日庚辛。
北方水也,其帝颛顼,其佐玄冥,执权而治冬,其神为辰星,其兽玄武,其音羽,其日壬癸。
《淮南子·天文训》中以五星为核心,组成了“五”行系列的五帝、五佐、五器、四季、五神、五象、五音、五日的体系:五方东、南、中、西、北,五帝太皞、炎帝、黄帝、少昊、颛顼,五佐句芒、朱明、后土、蓐收、玄冥,四季春、夏、秋、冬,五神岁星、荧惑、镇星、太白、辰星,五兽苍龙、朱鸟、黄龙、白虎、玄武,五音角、徵、宫、商、羽,五日甲乙、丙丁、戊己、庚辛、壬癸,五器规、衡、绳、矩、权等。其中有些具有一定的内在联系,大多则是受到五行学说的影响,附会的成分多一些。而在《五星占》中,只有五帝、五佐和五神。
《淮南子·天文训》中还测定了五星的行度,它是这样记载的:
(木)太阴在四仲,则岁星行三宿;太阴在四钩,则岁星行二宿。二八十六,三四十二,故十二岁而行二十八宿。日〈月〉行十二分度之一,岁行三十度十六分度之七,十二岁而周。
(火)荧惑常以十月入太微,受制而出行列宿,司无道之国,为乱、为贼、为疾、为丧、为饥、为兵,出入无常,辨其颜色,时见时匿。
(土)镇星以甲寅元始建斗,岁镇行一宿。当居而弗居,其国亡土;未当居而居之,其国益地,岁熟。日行二十八分度之一,岁行十三度百一十二分度之五,二十八岁而周。
(金)太白元始,以正月建寅,与荧惑(应为营室)晨出东方,二百四十日而入,入百二十日而夕出西方;二百四十日而入,入三十五日而复出东方。出以辰戌,入以丑未。当出而不出,未当入而入,天下偃兵;当入而不入,当出而不出,天下兴兵。
(水)辰星正四时,常以二月春分效奎、娄,以五月夏至效东井、舆鬼,以八月秋分效角、亢,以十一月冬至效斗、牵牛。出以辰戌,入以丑未,出二旬而入。晨候之东方,夕候之西方。一时不出,其时不和;四时不出,天下大饥。
五星中首先被认识的是木星,在太阳系中,体积最大,自转最快的行星。在一年中可以看到木星的时间特别长,而且比较明亮。木星又叫岁星,大约在三千年前,我国的先民就已经认识到木星为行星了。殷末和周初的史籍中已经出现了“岁”的名称,并且推算岁星的位置,用来占卜。《说文》:“岁,木星也。”到了战国时代,用岁星来纪年,应用就更广泛了。《淮南子·天文训》中记载木星的恒星周期是12年。如果把周天分为 度,木星每天仅行进 度,每年行进 度,12年就可以行完一周天。现在测得木星的运行周期是11.86年。在古代天体测量完全凭肉眼的情况下,能够达到这样的精度,已经是相当不容易了。古人按照木星12年的运行周期,并且根据它每年在星空上的位置,把周天分为十二次,并用专门的名称来加以记录。这十二次与二十八宿、二十四节气、岁星纪年发生了极为密切的关系。
十二次与二十八宿有一定的关系。木星每运行十二年一周天,每年行程的一段,称为一次。划分“次”的目的是用来观察日、月、星的运行规律,并用二十八宿中的二宿或三宿来同它相配合。正如《淮南子·天文训》中记载的木星行度所说的那样,太阴在四仲即在十二辰中的卯、酉、子、午(也即二十四节气中的春分、夏至、秋分、冬至)之处时,岁星经过三宿,合计十二宿。太阴在四钩即其余八辰时,岁星经过二宿,合计十六宿,全部行完是二十八宿。十二次的具体分配是这样的:
斗、牛所在的位置称为星纪; (丑)
女、虚、危称为玄枵; (子)
室、壁称为娵訾; (亥)
奎、娄称为降娄; (戌)
胃、昴、毕称为大梁; (酉)
觜、参称为实沈; (申)
井、鬼称为鹑首; (未)
柳、星、张称为鹑火; (午)
翼、轸称为鹑尾; (巳)
角、亢称为寿星; (辰)
氏、房、心称为大火; (卯)
尾、箕称为析木。 (寅)
这十二次的名称,当起源于春秋、战国之时。当时曾以岁星所经过的“次”,作为纪年的标准。如《左传·襄公二十八年》、三十年就有“岁在星纪”(前545年)、“岁在降娄”(前543年)的记载。《国语·周语下》:“武王伐殷,岁在鹑火。”只是到了后来,才发现它并不准确。因为木星实际运行周期是11.86年,并不到12年。经过86年,就要发生一次超辰现象。还有一个原因,就是木星每年行一“次”应该是 度,而二十八宿各宿之间的距离,并不是规则的,比如实沈合计只有11度,鹑首加起来是37度,鹑火又是40度。二十八宿之间的广狭宽窄竟是这样的不同,所以并不能准确地标示木星的行度。后来人们就把十二次与二十八宿分开,制造一个想象的等距离的十二个点,即是把天球赤道自西向东分为十二段,成为一个独立的天空区划系统,这样我国记述时令便脱离具体的星象,而进入到一个抽象化的时代。
木星的重要作用,主要用于岁星纪年。在《淮南子·天文训》中,对于岁星纪年,有比较多的资料。《淮南子·天文训》中保存了两种纪年制度,一个是岁星纪年,一个是干支纪年,而后者则是由前者发展、演化而来的。
在我国古代的纪年法中,一般采用的是帝王年号纪年,比如《春秋》和“三传”,就是按照鲁国诸侯在位的时间和顺序编年的。因此周初各诸侯国,各自都有一套自己的编年系统。这样在诸侯林立、各自为政的情况下,互相交流很不方便,既麻烦又容易引起混乱。到了战国时期,天文学迅速发展起来了。一颗既明亮、运行又很有规律的行星引起了人们的注意,这就是木星。木星有规律地十二年运行一周,在人们的心目中树立了崇高的形象,人们认为是天神的化身,因此便用它来作为纪年的标准。按照木星运行的情况,把周天分为十二段,每年行经一段,统称一次。这种情况最早被零星地记载在《左传》和《国语》等著述之中。
前面说过,岁星并不是规规矩矩地12年运行一周天,实际上是11.86年一周天,每隔86年便有一次超辰,这种“岁星超辰”,引起了使用上的很大不便,多出的0.14年,就需要加以调整。于是古人便设计出了一个假想的天体,它与木星同时起步,运行的方向背道而驰,取名为“太阴”,也叫“岁阴”、“太岁”,它是按照十二辰的方向运行。
古人为了定季节,把天球赤道分为十二个等分,每个等分是三十度,称为十二辰。这样一来,便不受超辰的影响,每年行进一辰,十二年整整走完。古人又把十二辰与十二个地支联系起来,规定太阴行进到哪一程,都有一个固定不变的专有名称,叫作岁名。《淮南子·天文训》中较早地做了记载,并且形成了一个完整的“太阴”运行体系:
太阴在寅,岁名曰摄提格,其雄为岁星,舍斗、牵牛,以十一月与之,晨出东方,东井、舆鬼为对。
太阴在卯,岁名曰单阏,岁星舍须女、虚、危,以十二月与之,晨出东方,柳、七星、张为对。
太阴在辰,岁名曰执徐,岁星舍营室、东壁,以正月与之,晨出东方,翼、轸为时。
太阴在巳,岁名曰大荒落,岁星舍奎、娄,以二月与之,晨出东方,角、亢为对。
太阴在午,岁名曰敦牂。岁星舍胃、昴、毕,以三月与之,晨出东方,氏、房、心为对。
太阴在未,岁名曰协洽,岁星舍觜嶲、参,以四月与之,晨出东方,尾、箕为时。
太阴在申,岁名曰涒滩,岁星舍东井、舆鬼,以五月与之,晨出东方,斗、牵牛为对。
太阴在酉,岁名曰作鄂,岁星舍柳、七星、张,以六月与之,晨出东方,须女、虚、危为对。
太阴在戌,岁名曰阉茂,岁星舍翼、轸,以七月与之,晨出东方,营室、东壁为对。
太阴在亥,岁名曰大渊献,岁星舍角、亢,以八月与之,晨出东方,奎、娄为时。
太阴在子,岁名曰困敦,岁星舍氐、房、心,以九月与之,晨出东方,胃、昴、毕为对。
太阴在丑,岁名曰赤奋若,岁星舍尾、箕,以十月与之,晨出东方,觜嶲、参为对。
现把太阴、岁星、岁阳及十二次、十二辰搭配关系列表如下:
在《淮南子·天文训》里,把太阴的位置,行经的十二辰,每辰所在的岁名,岁星所经过二十八宿中的宿名,起点和终点的月份、星宿所出现的时间“早晨”,都清楚地记述下来,这就为我们研究岁星纪年提供了一份珍贵的历史资料。这里的“其雄为岁星”,意思是这样的:古人认为,岁星(即木星)为雄,太阴(即假设的木星)为雌,这种雌雄关系是由阴阳关系转化而来的。这样做的目的,是可以把岁星和太阴区别开来。
这十二个奇怪的岁名,当在战国中、后期形成,并且盛行于秦汉之时。在秦朝和汉初,这些岁名和岁星纪年法曾被运用过,最有力的证据是1972年马王堆出土帛书《五星占》。它记载的使用岁星纪年起自秦始皇元年(前246年),而到汉文帝三年(前177年)结束,其间共70年。而在《五星占》的第一部分《木星》中,便出现了十二个岁名。隔了30年之后,才在《淮南子·天文训》里出现。96年后的《史记·历书》,以及东汉班固的《汉书·天文志》中,都分别做了大致相同的记载。虽然各个部分的名称有同有异,但是其大局已定,这只属于枝节问题而已。
太阴纪年实行以后,分别与十二支、十二辰相结合,形成了特有的岁名。同十二支相对应,古人又把十个天干加了进去,称之为十个岁阳。这个记载,首先见于《淮南子·天文训》。在中国最早的一部汉代词典《尔雅·释天》中也有记述,但只是照录十个岁阳名称而已,没有任何解说和实际运用的内容。而《淮南子·天文训》中记述的则十分清楚完整,形成了一个严密的体系。以后的《史记·律书》中记载有《历术甲子篇》,当即历史上记载的汉历。其中不光记载了岁阳、岁阴的名称,以及互相搭配用以纪年的实际运用。从太初元年即汉武帝即位的三十六年(前104年),开始用之于纪年,这就是汉代第一次实行自己的历法——汉历。他们把冬至定为岁首,对岁星、太阴、岁阳、日、月也做了规定。《史记·律书》中记载:
太初元年,岁名“焉逢摄提格”,月名“毕聚”,日得甲子,夜半朔旦冬至。
但是司马迁的这个历法还没有实行,就有一批大夫上书,说这个历法“不能为算”。于是汉武帝责成著名历法、星象专家邓平、唐都、落下闳(前156—前87年)重新制作,这便是“太初历”,后代的《汉书·天文志》和唐代《开元占经》等对岁阳也都有大致相同的记载。
这些大夫们指出的太阴纪年法的弊病的确是存在的,而《淮南子·天文训》中对这个问题是已经解决了的,这便是干支纪年法。即十二个岁阴和十个天干有机组合在一起,六十年循环一周。《淮南子·天文训》对十个岁阳是这样记载的:
摄提格之岁,岁早水,晚旱,稻疾,蚕不登,菽麦昌,民食四升。寅在甲曰阏蒙。
单阏之岁,岁和,稻菽麦昌,民食五升。卯在乙曰旃蒙。
执徐之岁,岁早旱,晚水,小饥,蚕闭,麦熟,民食三升。辰在丙曰柔兆。
大荒落之岁,岁有小兵,蚕小登,麦昌,菽疾,民食二升。巳在丁曰强圉。
敦牂之岁,岁大旱,蚕登,稻疾,菽麦昌,禾不为,民食二升。午在戊曰屠雍。
协洽之岁,岁有小兵,蚕登,稻昌,菽麦不为,民食三升。未在己曰屠维。
涒滩之岁,岁和,小雨行,蚕登,获麦昌,民食三升。申在庚曰上章。
作鄂之岁,岁有大兵,民疾,蚕不登,麦不为,菽昌,民食七升。戌在壬曰玄黓。
大渊献之岁,岁有大兵,大饥,蚕开,菽麦不为,禾虫,民食三升。
困敦之岁,岁大雾起,大水出,蚕稻麦昌,民食三升。子在癸曰昭阳。
赤奋若之岁,岁有小兵,早水,蚕不出,稻疾,菽不为,麦昌,民食一升。
在每一个太阴岁名中,同时记载了政事、气象、农作物生长情况及部分农事。这十二个太阴岁名与十个岁阳的天干结合在一起,用以纪年。比如“阏蒙摄提格”,即是甲寅年十一月。这样,十二和十可以按照顺序搭配,六十循环,永不间断。这便是后代干支纪年法的开始。它避免了“岁星超辰”这个既不容易实测又难以计算的棘手问题,采用抽象的干支符号,从而基本上脱离了日、月、五星的星象系统,而变成符号的交替了。这种方法简便易行,而且不容易出差错,可以不受具体星象的影响,因而它具有很强的生命力。所以岁星纪年法使用的时间并不长,便直接改用干支纪年法了。《淮南子·天文训》保存了这两种纪年方法,从中可以看出它们的转变和继承关系。也就是说,先由岁星纪年,进而到太阴纪年,再进到干支纪年。因此可以说,《淮南子·天文训》是干支纪年法的实际创立者和使用者。从东汉以后,便接受了《淮南子·天文训》中的干支纪年法的研究成果,一直使用了二千多年。
这种岁星纪年法有无实用的依据呢?《淮南子·天文训》在继承前人成果的基础上,又有所进步。在帛书《五星占》中,对岁星纪年法做了清楚的记载。据陈久金先生研究,《淮南子·天文训》所载纪年法摄提格之岁从十一月开始,为改用夏正的国家所使用,大约通行于楚怀王九年(前320年)至秦统一(前221年)为止。而秦是以十月为岁首。《淮南子·天文训》所载岁星纪年法,比实际使用的汉初纪年法要早,可以说是汉初纪年法的先声。从《五星占》中可以知道,秦及汉初使用的岁星纪年法,秦始皇元年到汉文帝三年的70年间,木星共运行了六个周期,这个纪年法是配合颛顼历而使用的。经研究知道,《吕氏春秋·序意》中的“岁在涒滩”,当在秦始皇八年(前239年)。《汉书·贾谊传》中所说的“谊为长沙王太傅三年……单阏之岁”,当在前176年,即汉文帝七年。《淮南子·天文训》中所说的“淮南元年,冬,太一在丙子”,当在前164年,即汉文帝十六年。可见争论很多的岁星纪年法的问题,并不是虚言,也不是玄妙莫测。不仅具有理论意义,而且具有实际的使用价值。
再谈一下十二个太阴岁名和十个天干岁名的名称问题。这些名称确实十分古怪,古书无证,语源不明,许多注释似觉牵强;有的很像译音,却又找不到来历。而著名的汉代典籍如《淮南子》、《尔雅》、《史记》、《汉书》中都没有加以诠解,这就给后人研究带来极大的困难,因此争论不休。它们的语源问题,主要有这样几种说法:其一,外国输入说,如说来自巴比伦、伊朗、印度等西亚、南亚各国;其二,源于汉族本身,认为我国古代有华夏、苗蛮、东夷、百越四大部族集团,可能是出自某些部落,现已无从考证。这两种观点,互相争执不下。要最后解决,尚待进一步研究。
火星是一个变幻不定的星,它荧荧像火,光亮常有变化,顺行逆行(自西向东)的情况非常复杂,常常使人迷惑。在先秦以前的古籍中,还没有关于火星的记载。《诗经·国风·豳风·七月》中的“七月流火”的火星,古代指的是大火,也就是心宿二,指的是恒星。
古人对荧惑的出没无常,充满恐惧之情。荧惑如果逆行一宿、二宿,便出现不祥之兆。如果出现停留三个月的情况,国家就要发生祸殃,停留五个月就要发生刀兵之灾,停留七个月国家灭亡一半土地,停留九个月国家大半就要灭亡。这就是《淮南子·天文训》中所讲的星占:“为乱、为贼、为疾、为丧、为饥、为兵。”
《淮南子·天文训》中记载的土星运行周期是28年周天一次,每天的行程是 度,岁行 度。这样,它每年经过二十八宿中的一宿,好像有意要镇压二十八宿一样。“岁镇一宿”,因此古人又把土星别称为镇星。《五星占》中称作“填星”,并指出它的恒星周期是30年,比《淮南子·天文训》测定的数字要稍微精确一些。今测值是29.46年一周期。从此可以看出,二十八宿的产生是与土星密切相关的。
关于金星,古人的记载较多。《诗经·小雅·大东》中就有“东有启明,西有长庚”之句。金星在早晨前出现在东方天际的时候,叫作启明星;黄昏日暮出现在西天的时候,叫作长庚星。金星又叫太白,它的光色银白,是全天中最亮的星。《淮南子·天文训》中记载金星三个阶段“出—入”的过程,可知它的运行周期是635日,而《史记·天官书》记载是625日。这个数字比起《五星占》来,显得差距较大。《五星占》测得是584日,比今值583.92日,只多0.08日。
水星是距离太阳最近的一个星,只有二十八度。它是紧随太阳运行的。按照古代规定,三十度称为一“辰”。因为水星离太阳的视距离不超过一辰,所以古人又把水星叫作辰星。《淮南子·天文训》中说“辰星正四时”,并且具体地加以说明,在二月春分的时候,出现在奎、娄两宿;五月夏至的时候,出现在井、鬼两宿;八月秋分的时候,再现于角、亢两宿;十一月冬至的时候,又出现在牛宿。这样观察水星的位置,便可以知道二十四节气中最主要的二“分”、二“至”的时节。《淮南子·天文训》中的这个观测,是十分准确的。
古代天文学中关于五星行度的记载,较早的当数《淮南子·天文训》了。而后的《史记·天官书》及《汉书·律历志》等都有记载。1978年底马王堆汉墓帛书《五星占》的出现,可知“五星行度”,在秦始皇元年就开始了精密的测量。那么这样相当精确的数字,是怎样测定出来的呢?光凭肉眼是绝对办不到的,它必须有一些相当精密的测角仪器才能完成,这种仪器就是“浑仪”。这就说明,至少在秦始皇即位之前,我国已经制造出了精密度相当高的浑仪了。而在汉文帝之时,也用浑仪进行了实际的测量。到了汉武帝之时,著名的民间天文学家落下闳制造的“浑仪”已经投入使用,并为太初改历做了实际测量的工作。司马迁《史记·历书》中记载:
至今上即位,招致方士唐都,分其天部。而巴落下闳运算转历。《史记·索隐》:“《益部耆旧传》云:‘闳字长公,明晓天文,隐于落下,武帝征待诏太史。于地中转浑天,改颛顼历作太初历,拜侍中,不受也。’”
这足以说明,在2200多年以前,我国已制成了举世罕见的精密天文仪器“浑仪”了。
在《汉书·艺文志》“天文”的著录中,列有《淮南杂子星》十九卷。其书及内容虽然已经失传,但我们从《汉志》“天文”部分的小序中,可以得知其内容:
天文者,序二十八宿,步五星日月,以纪吉凶之象,圣王所以参政也。
《淮南子·要略》中说:
《天文》者,所以和阴阳之气,理日月之光,节开塞之时,列星辰之行;知逆顺之变,避忌讳之殃;顺时运之应,法五神之常。使人有以仰天承顺,而不乱其常者也。
这里的“步”,就是推算之义。王引之《经义述闻·太岁考·论说文误解岁字》:“推数谓之步数,是推日月之行亦谓之步。”
由此可知,淮南王刘安及门客对天文学曾经做了大量的精深的研究,不光有理论著作,而且进行了实地测量,并且拥有或许还制造过精密的天文测量仪器。正因为如此,才能在《淮南子·天文训》中留下大量的关于二十四节气、二十八宿、五星、日、月运行周期及度数的数据,这些资料,都是天文研究的光辉结晶,也是用血汗浇出的丰硕成果。