张子信:白鹿山中,三十年夜观星象的隐者

中国古代天文学史上,有一位生平几乎湮没无闻的人,靠着三十多年不间断的夜间观测,发现了天体运行的一个大秘密。他叫张子信,生卒年没有确切的材料可以考定,主要活动于六世纪,也就是北魏末年到北齐年间。

史书中关于他的记载很少,《隋书》的天文、律历诸志只留下寥寥几行,说他通晓经史,年轻时就以医术知名,逢上乱世,便带着弟子隐居到一座叫白鹿山的山里,专以天文观测为事。山里清苦,他一住就是三十多年,夜夜对着浑仪,记录日月五星的位置。那个年代没有望远镜,他靠的就是浑仪、晷表和一双看了几十年星空的眼睛,把每一次日食、月食和行星的位置都默默记下,再拿记录和历书的推算一笔笔对照,不肯放过一个对不上的数。

三十多年的记录堆起来,他看出了前人没看出的门道。太阳的运行并不是匀速的:春分以后走得慢,秋分以后走得快;月亮和五大行星的运行,同样时快时慢,各有迟疾,五星见于晨、见于昏的时刻,也常有平率算不准的偏差。在此之前,历法都默认日月在天上走得均匀,用整齐的周期推算合朔,日子一久就和实际天象错开。张子信及其学派还发现,月亮视差会影响交食:日月虽然走到同一方位,因为观测者在地面而不是在天的中心,日食有时发生、有时不发生,深浅也不一样,推算交食必须加上相应的改正。这就解释了为什么历算预告的日食常常落空。

这些结论,不是他一个人闭门造出来就算数的。他的弟子和后来的历法家张孟宾、刘孝孙、张胄玄、刘焯等人,把他的观测所得采进新历,反复推算检验。隋代刘焯作《皇极历》,正式把太阳运行不均匀的改正写进历法;刘孝孙等人的历法也吸收了交食视差的算法;唐代以后的历法继承这一思路,僧一行作《大衍历》,同样沿用其法,交食预报的准确程度明显提高。从这个意义上说,张子信是一位开风气的人,他在山里看到的东西,经由几代历法家之手,变成了可以计算的制度。

朝廷曾征召他出来做尚药典御,他没有接受;武平初年,又以太中大夫征召,许他随时还山,他这才偶尔应命,心里惦记的仍然是白鹿山上的浑仪。白鹿山上三十多年的每一个晴夜,最终凝结成几行改变了历法史的结论。个人的生卒年说不清,他留下的发现却写进了此后每一部精密的历法里。天文学的进步,靠的从来不是一星半点的灵感,而是这样把一生押在夜观记录上的笨人。

❝天道不齐,必以实测知之,不可以常率拘也。(大意)❞