人们常说“天文历法”,但历法究竟是用来干什么的?也许你马上会想到日历(月份牌)——历法历法,不就是编日历的方法吗?这当然不算错,但编日历其实只是历法中极小的一部分功能。
当我们谈论“历法”时,其实涉及三种东西:
历谱,也就是今天的日历(月份牌),至迟在秦汉时期的竹简中已经可以看到实物。
历书,即有历注的历谱,就是在具体日子上注出宜忌(比如“宜出行”、“诸事不宜”之类)。这种东西在先秦也已经出现,逐渐演变到后世的“皇历”,也就是清代的“时宪书”。作为“封建迷信”的典型,传统的历书在20世纪曾长期成为被打击的对象,一度在中国大陆绝迹,近年则又重新出版流行。只是其中的历注较以前简略了不少。
历法,现今通常是指在历朝官修史书的《律历志》中保存下来的文献。其中包括94种中国古代曾经出现过的历法,时间跨度接近三千年。
许多人希望中国古代的东西多一些“科学”色彩,所以他们喜欢将中国历法称为“数理天文学”,这确实是科学,但这科学是为什么对象服务的?真相一说出来,却难免要大煞风景了。
欲知一部典型的中国古代历法究竟是何光景,可以唐代著名历法《大衍历》(公元727年修成)为例,其中包括如下七章:
“步中朔”章6节,主要为推求月相的晦朔弦望等内容。
“步发敛”章5节,推求二十四节气与物候、卦象的对应,包括“六十卦”、“五行用事”之类的神秘主义内容。
“步日躔”章9节,讨论太阳在黄道上的视运动,其精密程度,远远超出编制历谱的需要,主要是为推算预报日食、月食提供基础。
“步月离”章21节,专门研究月球运动。因月球运动远较太阳运动复杂,故篇幅远远大于上一章,其目的则同样是为预报日食、月食提供基础——只有将日、月两天体的运动都研究透彻,才可能实施对日食、月食的推算预报。
“步轨漏”章14节,专门研究与授时有关的各种问题。
“步交会”章24节,在前面“步日躔”、“步月离”两章的基础上,给出推算预报日食、月食的具体方案。
“步五星”章24节,用数学方法分别描述金、木、水、火、土五大行星的运动。
很容易看出,这样一部历法,主要内容,是对日、月以及金、木、水、火、土五大行星这七个天体(古代中国称为“七政”)运动规律的研究;主要功能,则是提供推算上述七个天体任意时刻在天球上的位置的方法及公式。至于编制历谱,那只能算是其中一个很小、也很简单的功能。
那么古人为什么要推算七政在任意时刻的位置呢?
以前有一个非常流行的说法,说中国古代的历法是“为农业服务”的——指导农民种地,告诉他们何时播种、何时收割,等等。许多学者觉得这样的说法能够给我们古代历法增添“科学”的光环,很乐意在各种著述中采用此说。
但是许多事情其实只要稍一认真就能发现问题。姑以上面的《大衍历》为例,我们只消做一点最简单的思考和统计,就能发现“历法为农业服务”这个说法是多么荒谬。
且不说农业的历史远远早于历法的历史,在没有历法的时代,农民早就在种植庄稼了,那时他们靠什么来“指导”?我们就看看历法中研究的七个天体,六个都和农业无关:五大行星和月亮,至少至今人类尚未发现它们与农业有任何关系;只剩下太阳,确实与农业有关。但对于指导农业而言,根本用不着将太阳运动推算到“步日躔”章中那样精确到小时和分钟——事实上,只要用“步发敛”章的内容,给出精确到日的历谱,在上面注出二十四节气,就足以指导农业了。
那好,我们就来统计《大衍历》:整部历法共103节,“步发敛”章只有5节,也就是说,整部历法中只有不到5%的内容与指导农业有关。由于《大衍历》是典型的中国古代历法,其他的历法基本上也都是这样的结构,因此也就是说,“历法为农业服务”这个说法,只有不到5%的正确性。
那么数理天文学剩下的95%以上的内容,是为什么服务的呢?——为星占学服务。
因为在古代,只有星占学需要事先知道被占天体运行的规律,特别是某些特殊天象出现的时刻和位置。比如,日食被认为是上天对帝王的警告,所以必须事先精确预报,以便在日食发生时举行盛大的仪式(禳祈),向上天谢罪;又如,火星在恒星背景中的位置经常有凶险的星占学意义,星占学家必须事先推算火星的运行位置。
如果认为星占学是伪科学,那么历法(数理天文学)这个科学就是在为伪科学服务。古波斯的《卡布斯教诲录》中说:“学习天文的目的是预卜凶吉,研究历法也出于同一目的。”这个论断,对于古代诸东方文明来说,都完全正确。