生平簡介
關於張子信的生平,史籍記載很少,只知道他經歷北魏、北齊兩個朝代,以“學藝博通,尤精歷數”(《隋書·天文志》)聞名於世。他在北齊時曾為“學士”。公元526—528年間,在華北一帶發生過一次以鮮于修禮和葛榮為首的農民起義,這次起義聲勢浩大,震動朝野,為了躲避這一次農民起義的影響,張子信跑到了某一海島隱居起來。在海島上,他製做了一架渾天儀,專心致志地測量日、月、五星的運動,探索其運動的規律。
三大發現
在這一相對安定的環境中,他孜孜不倦地工作了30多年。在取得大量第一手觀測資料的基礎上,張子信還結合他所能得到的前人的觀測成果,進行了綜合的分析研究。大約在公元565年前後,他敏銳地發現了關於太陽運動不均勻性、五星運動不均勻性和月亮視差對日食的影響的現象,同時提出了相應的計算方法,它們在中國古代天文學史上是具有劃時代意義的事件。經由張子信的學生張孟賓、劉孝孫等人的努力,這三大發現及其計算方法在孟賓歷和孝孫歷(公元576年)中大約已被套用,因為該二歷均已失傳,我們無從知其詳情。而在劉焯的皇極曆(公元604年)和張胄玄的大業歷(公元607年)中,這三大發現的具體套用均有明確的記載,此後各曆法無不遵從之,並不斷有所改進。張子信的三大發現以這樣快的速度為歷家所承認和套用,可見他的工作是出色和令人信服的。
發現一
發現太陽運動的不均勻性由於中國古代的渾儀主要以測量天體的赤道坐標為主,當用渾儀觀測太陽時,太陽每日行度的較小變化往往被赤道坐標與黃道坐標之間存在的變換關係所掩蓋,這是中國古代發現太陽運動不均勻的現象要比古希臘晚得多的主要原因。雖然東漢末年的劉洪在關於交食的研究中,實際上已經開創了發現太陽運動不均勻現象的獨特途徑,但劉洪並沒有意識到他的工作的重要含義,而且他的後繼者也不解其中奧妙,以致在其後的300餘年中漸被人們遺忘。張子信正是在這樣的歷史背景下,最先建立了太陽運動不均勻的概念,並給出了大體正確的描述。
張子信大約是經由二個不同的途徑發現太陽運動不均勻現象的。其一,我們知道,從冬至到平春分和從夏至到平秋分均歷時91天多,而從冬至到真春分(升交點)歷時88天多,從夏至到真秋分(降交點)歷時93天多,所以張子信用渾儀可以測算知:在平春分和平秋分時,太陽的去極度都比一個象限要小一度余。由此便不難推知,自平春分到平秋分(時經半年)視太陽所走過的黃道宿度,應小於自平秋分到平春分(亦時經半年)視太陽所走過的黃道宿度;也就是說自平春分到平秋分視太陽的運動速度要小於自平秋分到平春分視太陽的運動速度,此即張子信所說的“日行春分後則遲,秋分後則速”(《隋書·天文志》)。
其二,在觀測、研究交食發生時刻的過程中,張子信發現,如果僅僅考慮月亮運動不均勻性的影響,所推算的交食時刻往往不夠準確,還必須加上另一修正值,才能使預推結果與由觀測而得實際交食時刻更好地吻合。經過認真的研究分析,他進一步發現這一修正值的正負、大小與交食發生所值的節氣早晚有著密切、穩定的關係,而節氣早晚是與太陽所處恆星間的特定位置相聯繫的,所以,張子信實際上是發現了修正值與交食所處的恆星背景密切相關。其實劉洪已經得到過這二個重要的結論,可惜,劉洪並未對此提供必要的天文解釋。張子信也許受到了劉洪的影響,但更大的可能是他獨立的再發現。更為重要的是,張子信以太陽的周年視運動有遲有疾,對這二個重要的結論作了理論上的說明,從而升華出了太陽視運動不均勻性的嶄新的天文概念。
不但如此,張子信還對太陽在一個回歸年內視運動的遲疾狀況作了定量的描述,他給出了二十四氣節時太陽實際運動速度與平均運動速度的差值,即所謂日行“入氣差”,這實際上就是中國古代最早的一份太陽運動不均勻性改正的數值表格(日躔表)。但據唐代天文學家一行說,張子信所測定的日行“入氣差”,“損益未得其正”(《新唐書·歷志三下》),此說大約可信。即便如此,張子信關於太陽運動不均勻性的發現以及日躔表的編制,已經為後世曆法關於太陽運動不均勻性改正的計算方法,奠定了經典的形式,其貢獻是巨大的。
還要指出的是,早在公元前2世紀,古希臘天文學家依巴谷(Hipparchus)由二分點不在二至點正中的事實,就已經發現了太陽視運動不均勻的現象。而張子信取得類似發現的第一個途徑所依據的事實大約與之相同,但揭示這一事實的具體手段則不一樣,更何況第二個途徑應是張子信取得和描述類似發現的更主要的方式。所以,張子信關於太陽運動不均勻性的發現和定量描述無疑是獨立於古希臘的再發現。
發現二
發現五星運動的不均勻性關於五星運動不均勻的現象,張子信也是經由獨特的途徑發現的。在源於戰國時期的傳統的五星位置推算法中,五星會合周期和五星在一個會合周期內的動態,是最基本的數據和表格,前者指五星連續兩次晨見東方所經的時間,而後者指在該時間段內五星順行、留、逆行等不同運動狀態所經的時間長短和相應行度的多少。張子信發現五星位置的實際觀測結果與依傳統方法預推的位置之間經常存在偏差。這種偏差的一種可能解釋是,五星會合周期及其動態表不夠準確。我們猜想,張子信是在盡力提高五星會合周期及其動態表的精度,而仍不能有效地消除上述偏差的情況下,引發了他對更深層原因的探求。
經過長期的觀測和對觀測資料認真的分析研究,張子信終於發現上述偏差量的大小、正負與五星晨見東方所值的節氣也有著密切、穩定的關係。如前所述,節氣是與太陽所在的特定恆星背景相關聯的,而五星晨見東方時與太陽間的角距又分別存在特定的度值,所以,上述偏差量實際上也就與五星晨見東方時所處的恆星背景密切相關。張子信還進一步指出:當五星晨見東方值某一節氣時,偏差量為正某值;而在另一節氣時,偏差量為負某值,等等。欲求五星晨見東方的真實時間,需在傳統計算方法所得時間的基礎上,再加上或減去相應的偏差量。這些情況表明,張子信實際上發現了五星在各自運行的軌道上速度有快有慢的現象,即五星運動不均勻性的現象,而且給出了獨特的描述方法和計算五星位置的“入氣加減”法。這些都對後世曆法關於五星位置的傳統算法產生了巨大的影響,如同北宋天文學家周琮所說:“凡五星入氣加減,興於張子信,以後方士,各自增損,以求親密。”(《宋史·律曆志七》)
張子信還曾試圖對五星運動不均勻性現象作出理論上的說明。他以為五星與不同的恆星之間存在著一種相互感召的關係,二者之間各有所好惡,相好者相遇,五星則行遲;相惡者相逢,五星則行速,好惡程度不同,五星運行的遲速各異。當然這是一種十分幼稚的理論,但卻充分反映了張子信關於五星在各自運行的軌道上運動速度不同的認識。
發現三
發現月亮視差對日食的影響在張子信以前,人們就早已知道:只有當朔(或望)發生在黃白交點附近時才會發生交食現象。東漢末劉洪最先對“附近”這一不定量詞,給出了明確的數量規定,這就是食限的概念和數值。在對交食現象作了長期認真的考察以後,張子信發現,對於日食而言,並不是日月合朔入食限就一定發生日食現象,入食限只是發生日食的必要條件,還不是充分條件。他指出,只有當這時月亮位於太陽之北時,才發生日食;若這時月亮位於太陽之南,就不發生日食,即所謂“合朔月在日道里則日食,若在日道外,雖交不虧”(《隋書·天文志中》)。我們知道,觀測者在地面上所觀測到的月亮視位置,總要比在地心看到的月亮真位置低,月亮視、真位置的高度差叫做月亮視差。同理,太陽視、真位置的高度差叫做太陽視差,但它要比月亮視差小得多,幾乎可以略而不計。當合朔時,若月亮位於太陽之北時,由於月亮視差的影響,月亮的視位置南移,使日、月視位置彼此接近;若月亮位於太陽之南,同理,將使日、月相對視位置增大。這些就是張子信所發現的上述現象的原因所在。所以,張子信的上述發現實際上就是關於月亮視差對日食是否發生所產生的影響的發現。其實,張子信在這一發現的基礎上,還發明了定量地計算月亮視差對日食食分影響的方法,正如一行所指出的:“舊曆考日食深淺,皆自張子信所傳。”(《新唐書·歷志三下》)即張子信已經奠定了後世曆法關於日食食分計算法的基石。
三大發現意義
張子信的這三大發現,以及給出這三大發現具體的、定量的描述方法,把中國古代對於交食以及太陽與五星運動的認識推進到一個新階段,為一系列曆法問題計算的突破性進展開拓了道路。
成功秘訣
張子信成功的秘訣,首先在於他勇於實踐的精神,他認識到儘量豐富的客觀素材對於獲取新知的重要性,堅持不懈地進行了30多年的觀測工作;其次,張子信還善於探索,他從表面上看來雜亂無章的客觀事實中,理出帶有規律性的東西;第三,他還勇於創新,大膽地追究這些帶規律性的現象的深層原因,作出理論上的說明,並且給出定量化的描述。張子信的三大發現均較好地體現了他關於科學研究的指導思想和方法。
成就
神秘的發現
在中國古代曆法史上,張子信這一人物顯得神秘而特殊,關於他的文字記載不多,但他發現的行星和太陽周年視運動不均勻性對其後的中國曆法理論產生了深遠影響。有關張子信的最詳細的記載見於《隋書·天文志中》,今全文摘錄如下:
至後魏末,清河張子信,學藝博通,尤精歷數。因避葛榮亂,隱於海島中,積三十許年,專以渾儀測候日月五星差變之數,以算步之,始悟日月交道,有表里遲速,五星見伏,有感召向背。言日行在春分後則遲,秋分後則速。合朔月在日道里則日食,若在日道外,雖交不虧。月望值交則虧,不問表里。又月行遇木、火、土、金四星,向之則速,背之則遲。五星行四方列宿,各有所好惡。所居遇其好者,則留多行遲,見早。遇其惡者,則留少行速,見遲。與常數並差,少者差至五度,多者差至三十許度。其辰星之行,見伏尤異。晨應見在雨水後立夏前,夕應見在處暑後霜降前者,並不見。啟蟄、立夏、立秋、霜降四氣之內,晨夕去日前後三十六度內,十八度外,有木、火、土、金一星者見,無者不見。後張胄玄、劉孝孫、劉焯等,依此差度,為定入交食分及五星定見定行,與天密會,皆古人所未得也。
《隋書·天文志中》的上述這一段記載,是史籍中對張子信天文成就敘述得最為詳細的一種。說張子信為了躲避葛榮的叛亂,[2]隱居到一座海島中,連續三十多年,用渾儀觀測日月五星的運行,發現了太陽和五大行星的周年視運動都不是均勻的。[3]這座海島在哪裡?現在無從得知。張子信以個人之力,何以能攜帶渾儀,在海島建立起一座天文台並維持其運轉達三十多年?這也是未解之謎。但不管怎樣,張子信的發現為後世歷算家劉焯等採納,大大提高了對日蝕和行星運動的推算精度,使得隋唐曆法比前代曆法上了一個新台階。只是需要指出,張子信對太陽和行星周年視運動不均勻性的發現,主要是定性的而不是定量的,他提出的對不均勻性量的修正還不是很正確。
根據《隋書·天文志中》的記載,可以發現張子信對其發現的描述中有如下幾點採用了與中國傳統曆法完全不同的表述形式:
1、“五星見伏,有感召向背”。
2、月亮的視運動速度的變化與月亮和木、火、土、 金四顆行星的相對位置有關。
3、“五星行四方列宿,各有所好惡”,認為行星遇其好者,留多行遲,見早;遇其惡者,則留少行速,見遲。
4、首推水星“應見不見術”。
5、將水星的伏、見與木、火、土、金四星的相對位置結合起來考慮,認為水星在“晨夕去日前後三十六度內,十八度外,有木、火、土、金一星者見,無者不見”。
以上五條,貫穿著一條總的思想,就是“五星見伏,有感召向背”,即認為日月五星和二十八宿都有性情好惡,能互相感應,以此來解釋太陽和行星運動的不均勻性。其中尤其以水星“應見不見”一術最為精緻,對水星的“應見不見”規律給出了定量的描述。在漢譯佛經《七曜攘災訣》(No.1308)三十三年長的水星曆表中,頻繁標註了“應見不見”的字樣,而《七曜攘災訣》為一位西天竺婆羅門僧人所撰。因此下文從分析水星“應見不見”入手,來揭示張子信的神秘發現之後可能隱藏的秘密。
有關水星“應見不見”的文獻記載和釋讀
水星作為一顆內行星,中國古代曆法對其運動的正確把握相對落後。在隋唐曆法對木、火、土三顆外行星的運動不均勻性能作比較正確的改正時,對水星運動不均勻性改正的描述被認為仍“是粗疏的、充滿矛盾的,甚至是無益有害的”[4]。但是不管怎樣,張子信發現的水星“應見不見”現象是中國古代曆法對水星運動認識過程中的一個階段性突破,因此有必要對該項天文發現作一詳細的闡述並給予適當的評價。
張子信對水星“應見不見”的描述見於《隋書·天文志中》,已引述如前。後世曆法家在對水星運動不均勻性進行改正時,所採用的方法大多與上引張子信所首先表述過的方法相類似,可見於以下幾種“律曆志”的記載:
水,晨平見,在雨水後、立夏前者,應見不見。啟蟄至雨水,去日十八度外、三十六度內,晨有木、火、土、金一星以上者,見;無者不見。立夏至小滿,去日度如前,晨有木、火、土、金一星以上者,見;無者不見。……夕平見,在處暑後、霜降前者,應見不見。立秋至處暑,夕有星,去日如前者,見;無者不見。霜降至立冬,夕有星,去日如前者,見;無者亦不見。……初見伏去日各十七度。(《隋書·律曆志中》之《大業歷》)
(水)見去日十七度。夕應見,在立秋後小雪前者不見;其白露前立夏後,時有見者。晨應見,在立春後小滿前者不見;其驚蟄前立冬後,時有見者。(《隋書·律曆志下》之《皇極曆》)
天竺歷以《九執》之情,皆有所好惡。遇其所好之星,則趣之行疾,舍之行遲。張子信歷辰星應見不見術,晨夕去日前後(四)三十六度內,十八度外,有木、火、土、金一星者見,無者不見。……其入氣加減,亦自張子信始,後人莫不遵用之。(《新唐書·歷志三下》之《大衍曆議·五星議》)
辰星初見,去日十七度。夕見:……入立秋,畢霜降,應見不見。其在立秋及霜降二氣之內者,去日十八度外,三十六度內,有木[8]、火、土、金一星以上者,見。……晨見:……其在雨水氣內,去日度如前,晨無木、火、土、金一星以上者,不見。入驚蟄,畢立夏,應見不見。其在立夏氣內,去日度如前,晨有木、火、土、金一星以上者,亦見。(《新唐書·歷志五》“建中正元歷”)
這裡值得一提的是,《大業歷》是首部描述了水星“應見不見”現象的正式頒行曆法,而《大業歷》的作者張胄玄,根據《隋書·藝術傳》之“張胄玄傳”記載:
其超古獨異者有七事。……二、辰星舊率,一終再見,凡諸古歷,皆以為然。應見不見,人所未測。胄玄積候,知辰星一終之中有時一見。及同類感召,相隨而出。即如辰星,晨平見在雨水氣者,應見,即不見;若不晨見在啟蟄氣者,去日十八度外,三十六度內,晨有木、火、土、金一星者,亦相隨見。
這裡,《隋書·張胄玄傳》把水星“應見不見”術列為張胄玄“超古獨異”七事之二,認為是“胄玄積候”所知。這似乎與《隋書·天文志》的記載相矛盾。都是《隋書》里材料,在史料可靠性上原本不該分高下。但是在這裡我們可能得考慮到古人在為前人作傳時容易發生的“通病”——往往多溢美之辭、有拔高之處。另一方面,《大業歷》是首部把水星“應見不見”術寫入其中的正式頒行的曆法,所以參照現行學術界的做法——成果以發表為準,《隋書·張胄玄傳》中的溢美之辭還不算過分。
事實上,上引劉焯《皇極曆》中也有水星“應見不見”術的描述。劉焯《皇極曆》雖然被後來曆法家公認為是部好曆法,但在曆法爭論中因為非科學的因素而失敗。劉焯在仁壽四年上皇太子書中指責張胄玄抄襲自己的曆法,所謂“焯作於前,玄獻於後”,並指出了75條抄襲的證據。[11]現在雖然不能明確這75條具體是什麼,但基本上可以肯定在《大業歷》頒行之前,劉焯已經完成了他自己的比較完整的曆法。因此劉焯對水星“應見不見”術的描述應該早於張胄玄。
上引《隋書·天文志》在敘述了張子信的天文學成就後說“後張胄玄、劉孝孫、劉焯等,依此差度,為定入交食分及五星定見定行”,我們認為這基本上是一種可信的陳述,說明張子信的天文學發現對張胄玄等人的天文工作確實是產生了影響的。事實上,上引一行在《大衍曆議·五星議》中也把水星“應見不見”術的發明歸功於張子信。一行的陳述應該有所根據。
另一方面,在《大業歷》中能完整出現水星“應見不見”術,是因為《大業歷》在曆法爭論中獲勝,曆法術文得到了完整保存。當然,事實上張胄玄也可能做過實測的,因為起先他畢竟只是一個“以算術直太史,久未知名”[12]的低級天文官吏,後來在曆法爭論中投機得當而做到太史令。所以水星“應見不見”術的發現權雖然不能歸於他,但他很可能對這種現象進行過實測檢驗。
作了上述澄清之後,我們歸納出張子信發現的、被後世部分曆法家所採納的水星“應見不見”現象主要有以下三層含義:
1、水星作為晨星或昏星應該出現於天空時,有可能會不出現。
2、水星的這種“應見不見”現象與一年中某幾個節氣有固定的關係。
3、在某幾個特別的節氣里,水星是否可見,還與木、土、火、金四顆行星距離太陽的距角有關。
《隋書·天文志中》、《大業歷》和《建中正元歷》對水星“應見不見”有比較一致的描述:在驚蟄、春分、清明、穀雨四個節氣里,水星作為晨星發生“應見不見”;在處暑、白露、秋分、寒露四個節氣里,水星作為昏星發生“應見不見”;至於在雨水、立夏兩個節氣里水星作為晨星和立秋、霜降兩個節氣里水星作為昏星水星是否可見,要根據其他四顆行星距離太陽的角度來確定。
那么什麼是水星的“應見不見”現象呢?我們認為張子信以前的天文學家對水星的視運動規律已經有了一定的認識,他們應該找到了一種推算水星周期性地可見於東方和西方天空的經驗方法,根據這種方法能大致預推水星大距發生的時刻(即所謂的“應見”)。然而在某些特定的節氣里,按照原來的方法推算得水星“應見”,但實際上卻不能被觀測到,於是這種情形就被叫做“應見不見”。
對水星視運動的這一特殊現象,張子信及其後的天文學家的解釋是“五星見伏,有感召向背”。顯然這種認為行星有性情好惡的擬人化解釋是不正確的。那么張子信發現的水星“應見不見”這一現象本身是否真實呢?其物理本質是什麼?張子信的發現是不是建立在觀測事實基礎上?為了回答這些問題,有必要使用現代天文學作為工具,先從運動學角度對水星的運動作一定性分析,然後利用精確的星曆表對水星運動進行定量計算,從數值上來精確模擬水星的見伏情況與節氣和其他行星的關係。
水星“應見不見”的數值模擬
葛榮之亂發生在北魏孝昌二年到武泰元年。張子信因避亂,隱居海島三十餘年,他的許多天文發現就是在這三十左右的時間裡完成。現在就來推算這段時間內水星與太陽的運動。
根據對太陽系天體運行規律的掌握,在一定精度範圍內,理論上可以求出有史以來任何時候水星與太陽在地心坐標系中的位置。在此,作者利用了一份精密的太陽、行星位置歷表DE404[16],逐日求出在地心坐標系中水星和太陽的黃經,並計算它們的差;然後再進一步求出,每日太陽處在地平線以下7°時[17],水星的地平高度。這裡顯然要區分水星作為晨星和昏星兩種情況,並且要涉及觀測地點的地理緯度,在計算中我們取觀測點在北緯30°。[18]把水星距離太陽的距角和水星的地平高度隨節氣改變而變化的情況繪作圖2和圖3。計算範圍覆蓋526 AD到557 AD共32年,但限於篇幅,取前8年的結果來作說明。圖2、圖3中縱坐標單位為度;橫坐標單位為節氣,0代表春分,1是清明,12是秋分,等等;圖2、圖3中的虛(曲)線為水星距離太陽的距角隨節氣改變而變化的情況;圖2中的實(曲)線是水星作為晨星時的地平高度隨節氣改變而變化的情況。圖3中的實(曲)線是水星作為昏星時的地平高度隨節氣改變而變化的情況。
從圖2、圖3中不難發現水星距離太陽的距角有時達到正的極大值,有時達到負的極大值,有時為零。達到正的極大值時水星發生東大距,水星為昏星;達到負的極大值時水星發生西大距,水星為晨星;為零時發生上合或下合。在圖2、圖3的坐標框中,在縱坐標等於+17°和-17°處各畫了一條點劃線。17°這一角度與上文提到的水星“初見去日度數”大致相等。不難發現,圖2、圖3中虛線的正負極值是在變化的,有時超出±17°線很多,有時則超出很少。超出很多對應水星大距時有較大的距角;超出很少對應水星大距時距角很小。只要超出這條±17°線,對於中國古代曆法判斷水星“見”、“伏”的標準來說,水星就是“應見”的,這一結果與上一節用運動學分析得出的結果基本一致。
圖2中的實線是太陽位於東方地平以下7°時,水星地平高度的逐日變化。顯然水星有時在地平以上,有時在地平以下,所以實線的取值有正有負。圖中虛線達到負的極大值時對應於水星發生西大距,“理論上”這是水星作為晨星最容易被觀察到的時刻。留意與這些負的極大值相對應的水星地平高度的變化,不難發現當虛線達到負的極大值時,實線固然也同時達到正的極大值。但是虛線達到負的極大值越大,並不對應於實線達到正的極大值也越大。特別地,如果在春分前後虛線的變化達到負的極大值即水星發生西大距時,並且儘管這次西大距的距角比相鄰兩次西大距的距角都要大,但水星地平高度達到的極值總比相鄰的兩個極值小。在圖2中縱坐標等於+7°處畫了一條點劃線[19],以這條線為界,可以發現水星西大距時地平高度值有時超過這條線,有時不到或接近這條線。不到或接近+7°線的有526、527、532、533等年份的毗鄰春分的幾個節氣。而這幾年的春分前後水星西大距都達到相當大的數值,都超過25°甚至達到28°。因此按照“水星初現去日17°”的標準來衡量,526、527、532、533等年份的春分前後水星毫無疑問是“應見”的,但事實上,根據地平高度來判斷,這些時候的水星是最不容易被觀測到的。因此在春分前後水星“應見不見”。
同樣地,圖3中的實線是太陽位於西方地平以下7°時,水星地平高度的逐日變化。虛線的變化達到正的極大值時對應於水星發生東大距。當虛線達到正的極大值時,實線固然也同時達到正的極大值。但是虛線達到正的極大值越大,並不對應於實線達到正的極大值也越大。特別地,如果在秋分前後虛線的變化達到正的極大值即水星發生東大距時,並且儘管這次東大距的距角比相鄰東大距的距角要大,但水星地平高度達到的極值總比相鄰的極值要小。在圖3中縱坐標等於+7°處畫了一條點劃線,可以發現水星東大距時的地平高度值有時超過這條線,有時不到或接近這條線。不到或接近+7°線的有526、527、528、532、533等年份的毗鄰秋分的幾個節氣。而這幾年的秋分前後水星西大距都達到相當大的數值,都接近或超過25°。因此按照“水星初現去日17°”的標準來衡量,526、527、528、532、533等年份的秋分前後水星毫無疑問是“應見”的,但事實上,根據地平高度來判斷,這些時候的水星是最不容易被觀測到的。因此在秋分前後水星“應見不見”。
經過以上的數值計算和圖示表明,在張子信活動的那個年代,儘管在春分前後水星作為晨星發生西大距、秋分前後水星作為昏星發生東大距,水星也是難以被觀測到的。擴大計算年限範圍後發現,這一結論不僅僅適用於526年到557年的30餘年,而是水星視運動的一條基本規律。因此,結合中國古代曆法對水星“見”、“伏”距角的規定,春分前後水星作為晨星、秋分前後水星作為昏星將會發生“應見不見”。這一陳述是正確的,並且是有實測依據的。
水星與其他行星的關係
根據文獻記載,在雨水、立夏兩個節氣里水星作為晨星和立秋、霜降兩個節氣里水星作為昏星的可見情況,要根據其他四顆行星距離太陽的角度來確定。具體來說,就是在雨水、立夏這兩個節氣里,如果在日出前的東方天空距離太陽18°外、36°內有木、火、土、金四顆行星中的一顆以上出現的話,那么水星也可以被觀察到;在立秋、霜降這兩個節氣里,如果在日落後的西方天空距離太陽18°外、36°內有木、火、土、金四顆行星中的一顆以上出現的話,那么水星也可以被觀察到。
對於這樣的陳述,同樣不難用現代天文學方法來檢驗。作者通過對526年到557年這32年間太陽和五大行星位置的計算,結果發現:
(1)在這32年的雨水節氣里,滿足日出前的東方天空距離太陽18°外、36°內有木、火、土、金四顆行星一顆以上出現的條件的只有526、527、534、539、540、542、550、557這八個年份。計算這八個年份的雨水節里日出前(太陽低於地平7°,下同)水星的地平高度後,我們發現這幾次都不合適觀察水星。
(2)在這32年的立夏節氣里,滿足日出前的東方天空距離太陽18°外、36°內有木、火、土、金四顆行星一顆以上出現的條件的只有526、529、537、542、544、545、556、557這八個年份。計算結果表明在這八個年份的立夏節也都不是觀察水星的合適時機。
(3)在這32年的立秋節氣里,滿足日落後的西方天空距離太陽18°外、36°內有木、火、土、金四顆行星一顆以上出現的條件的只有526、534、537、541、542、550、556這七個年份。計算結果表明在這七個年份的立秋節也都不是觀察水星的合適時機。反而是在不滿足行星出現條件的549年立秋節里,相對來說是比較理想的觀察水星的機會。
(4)在這32年的霜降節氣里,滿足日落後的西方天空距離太陽18°外、36°內有木、火、土、金四顆行星中的一顆以上出現的條件的只有529、536、537、543、544、545這六個年份。計算結果表明在這六個年份的霜降節也都不是觀察水星的合適時機。
為了驗證水星的這種“同類感召,相隨而出”的視運動特性有沒有可能是張胄玄的實測結果,我們把計算範圍從張子信時代延伸到開皇末年(公元600年)。計算結果表明,即使在雨水、立夏節氣里水星達到西大距;在立秋、霜降節氣里水星達到東大距,水星的地平高度也總是很低的(在太陽低於地平7°的寬鬆條件下),這是因為對應時刻黃道相對於地平比較傾斜,而這一特點與年代無關。
特別地,計算表明,在立夏節氣里水星作為晨星和霜降節氣里水星作為昏星,它的地平高度最高不超過5.5度,所以無論其他四大行星與太陽的位置關係如何,水星也總是難於被觀測到。所以對立夏和霜降這兩個節氣,我們甚至不必計算其他行星跟太陽的位置關係,就可以斷定,水星可見與否與其他行星跟太陽的相對位置關係無關。
對於在立秋節氣里水星為昏星的情況,我們另外算得在558年到600年的43年間有566、567、568、569、573、574、581、582、586、588、590、593、596共13個年份,滿足日落後的西方天空距離太陽18°外、36°內有木、火、土、金四顆行星中的一顆以上出現的條件。其中只有568、569、574、581、582、588這六個年份的立秋節氣里,水星的地平高度能達到5.0°以上,但都小於7.5°。在這樣的地平高度上,水星很難被觀察到。
對於在雨水節氣里水星為晨星情況,我們另外算得在558年到600年的43年間有562、566、572、574、579、580、582、586、589、590、593共11個年份,滿足日出前的東方天空距離太陽18°外、36°內有木、火、土、金四顆行星中的一顆以上出現的條件。其中只有562、566、574、580、586、593六個年份的雨水節氣里,水星的地平高度能達到5.0°以上,但都在10°以下。又其中574年2月17日水星地平高度高達9.8°、580年2月26日水星地平高度達8.9°、593年3月3日水星地平高度達8.5°。在這三個年份的雨水節氣里,水星作為晨星似乎可以勉強可見。但是在並不滿足日出前的東方天空距離太陽18°外、36°內有木、火、土、金四顆行星中的一顆以上出現條件的561年、581年和600年這三個年份的雨水節氣里,水星的地平高度也都達到9°以上。
可見,在某個特定節氣里要滿足“晨夕去日前後三十六度內,十八度外,有木、火、土、金一星”出現的條件是不容易的,而在滿足這一條件下使水星能夠被觀察到的可能性更小。根據作者的計算,在張子信進行天文觀測活動的三十多年裡,在滿足“啟蟄(雨水)、立夏、立秋、霜降四氣之內,晨夕去日前後三十六度內,十八度外,有木、火、土、金一星”的情況下,水星並不能被觀察到。也就是說張子信的這一部分關於水星運動的陳述不是在實際觀測的基礎上得出的。在所指定的節氣里,在不滿足行星出現的情況下,有時反而能觀測到水星,因此所謂“無者不見”的說法也是不正確的。
以上的計算和分析表明,水星在雨水、立夏、立秋、霜降四個節氣里能否被觀察到,與其他四顆行星距離太陽距角的大小無關。這一判斷也同樣適用於張胄玄可能作觀察的年代。
結論和討論
上述對水星運動的運動學分析和數值模擬結果表明,張子信所陳述的水星在春分前後作為晨星和在秋分前後作為昏星會發生“應見不見”現象,在理論上確實成立。仔細、熟練的觀測者在良好的觀測條件下有可能發現這一現象。但是水星在“啟蟄(雨水)、立夏、立秋、霜降四氣之內,晨夕去日前後三十六度內,十八度外,有木、火、土、金一星者見,無者不見”的陳述沒有實測根據。
這種以其他行星與太陽的位置關係來判斷水星的“見”、“伏”,是張子信關於水星“應見不見”陳述中最不合理的一部分,但正是這一點卻向我們提供了某種線索,來探討張子信神秘發現的原因。在《大衍曆·五星議》中,一行在陳述了“天竺歷以九執之情,皆有所好惡。遇其所好之星,則趣之行疾,舍之行遲。”之後,緊接著就陳述了張子信的上面這一發現。顯然一行認為張子信悟到的“五星見伏,有感召向背”與印度曆法中的“九執之情,皆有所好惡”是同一回事。“晨夕去日前後三十六度內,十八度外,有木、火、土、金一星”出現時,為什麼水星就能被看見呢?原因就是該行星的出現對水星有“感召”之力,使得水星“趣之行疾,舍之行遲”,因而儘量停留在“去日前後三十六度內,十八度外”的地方,因此也就容易被觀測察到了。
日、月、行星等天體有性情好惡,從而影響他們的運動。這樣的說法在張子信以前的中國古代曆法中從未出現。而正如一行指出的,在印度天文學中卻一直有這樣的傳統。《大衍曆》“交食術”載天竺僧俱摩羅所傳斷日蝕法云:“諸斷不得其蝕,據日所在之宮,有火星在前三後一之宮並伏日下,並不蝕。若五星總出,並水見,又水在陰曆,及三星以上同聚一宿,亦不蝕。”[20]這裡將是否發生日食與行星的位置關係聯繫起來,顯然沒有實測依據,但這種說法與張子信的陳述如出一轍。處於不同文化的人們在對同一事物的認識過程中,各自獨立地發現相同的真理是可能的,因為真理只有一個,但犯同樣錯誤,尤其是犯很有特點、相當系統和複雜的錯誤,其可能性很小。
五星和二十八宿各有星神,其星神性情各異,特別是五星星神與四方列宿星神的不同組合,具有不同的星占學含義──這些內容在漢譯佛經中非常常見。張子信將五星和二十八宿擬人化的做法與印度天文星占學中性情各異的五星、二十八宿星神非常相似。西天竺婆羅門僧人撰集的《七曜禳災訣》(No.1308)雖然晚出,但其中用“應見不見”注水星曆表的做法很可能是一種印度編制行星曆表的傳統。
因此,說張子信在某海島隱居的時候接觸到某些印度天文學內容,並把它們容納到他的中國傳統天文學知識里去,這種可能性是存在的。[21]特別是水星“應見不見”現象,張子信雖然正確地指出了這一現象,但某些具體的描述卻與觀測事實不符合。這反過來也說明張子信的發現並不都是建立在觀測基礎上的。這預示著張子信的天文學知識結構中包含著某些來自域外天文學體系的間接知識。
張子信接觸印度天文曆法原因推測
至於張子信具體怎樣接觸了印度天文曆法,由於史籍所載張子信事跡甚少,因此還無法作出明確的解釋,然而以下幾點有利於作出上述推測。
首先,佛教在北魏時的黃河流域已廣為傳播,深入人心。張子信與隨佛教傳來的印度天文曆法接觸是有可能的。
其次,據《北史·藝術上》載,張子信“少以醫術知名。又善《易》筮及風角之術”。佛教常以高明的醫術治病救人,以為弘教的手段。醫術和天文星占之術往往是宗教傳播的兩大法寶,張子信很可能從當時來華的印度僧人那裡接觸高明的印度醫術和天文學知識。
第三,《隋書·律曆志中》載“廣平人劉孝孫、張孟賓二人,同知歷事。孟賓受業於張子信,並棄舊事,更制新法”,後來劉焯“增損孝孫曆法,更名《七曜新曆》”。史籍特彆強調張子信所傳曆法之新,可見他與舊法之不同。從“並棄舊事”一語來看,張子信曆法對舊法的繼承也很少。
第四,《魏書·律曆志上》載北魏《正光歷》為“九家共修”,其中有一家是雍州沙門統道融,這可能是佛門弟子參與國家曆法制定的先例,其中另兩家附馬都尉盧道虔、鉅鹿人張僧豫的名字中包含有濃郁的佛教氣息,這雖然不說明他們一定接觸了印度天文曆法,但至少可以證明當時佛教普及,佛教學者也參與國家的編歷。一部曆法有九家共修,其中幾家並沒有官方身份,說明歷算之學在民間有流傳。這種情況首先可能是戰亂的結果,中央政府失去對天文學的壟斷,其次有可能是隨佛教而來的印度天文曆法已在民間流行。
最後,無須諱言,類似於對水星“應見不見”現象的描述在古代巴比侖和古代希臘天文學中早就出現。[22]然而不管張子信是受了域外天文學的影響而得到啟發,還是經過觀測獨立發現的水星“應見不見”現象,他的這一發現連同其他有關行星運動不均勻性的發現,在中國古代曆法史上是具有相當重要的地位。正如前文指出的那樣,所謂“應見”是相對於某條業已存在的規律而言的。對水星“應見不見”的描述,意味著對水星運動規律已經有了很好的掌握,甚至應該有了一種在觀測事實基礎上總結出來的水星運動模型,其中包括了對水星視運動規律的比較精確的定量描述。遺憾的是我們現在見到的有關張子信天文發現的記述都是後人轉載,而且太過簡略,因而無法全面認識張子信的天文發現。但僅就所見而言,張子信及後世曆法家描述的水星運動不單單是簡單的定性描述,而是建立在比較精確的觀測事實和水星運動定量模型基礎上的,除了一小部分來歷可疑的錯誤認識外,總體上並無自相矛盾之處。