2007/02/20

我的學曆散論

中國人對於天象的觀測與研究,以及曆算的發展,由來以久。依照漢書律曆志的說法,中國遠古即有黃帝、顓頊、夏、殷、周、魯等六曆。而各種經由天象觀測而推論的天文學說,在周,漢之際,即已初具規模。


殷人的曆法

  儘管諸史書有『古六曆』的說法,然而史學家目前能考究得到的資料,仍是盤庚遷殷之後的這一部分。依據董作賓先生等人依甲骨文考證而反推回的殷曆,得知殷人除了以干支紀日之外,已經有相當不錯的曆制雛形。依甲骨上紀日的資料,得知殷人的曆法中,已有大小月之別,而且知道經過十四或十六個月後,必須安置兩個相連的大月。(註1)

  除此之外,殷人也有閏月。其中,前殷時期一直採用閏十三月制,就是把多出來的月放在年尾。而依資料顯示,祖甲年間,閏月開始改插在當閏的月份。(註2)當時採用無節閏,與現行的無中閏相反。就今日的觀點,將閏月從年尾改置在當閏之月,不啻為曆法改革的一大步。

  當時的曆術仍未完全成熟定型,在閏法上曾經一再改變,而朔日的決定,也偶有機動調整。但大體而言,殷曆已看得出四分術(註3)
的雛型。可見中國曆算之悠久。

先秦曆術

  依史書的說法,中國遠古六曆,在漢初猶未盡失,然而經過秦火,留下來的,恐怕是後人假託六曆之名而編的曆書。因此,古六曆大致反映了先秦至漢初時期的曆術發展,而不是更早期的知識。

  所有的古曆都有一共同點,它們皆是四分術的曆制,差別是各自的上元訂於不同時點。當時的閏法,已由無節閏改為無中閏,此項規則,後代幾乎沿用不變。

太初曆

  古六曆的朔實(二十九又九四零分之四九九日)約三百年之後,曆法的朔日,將落後天象一日,因此屆時曆家必重修曆譜,或重新找一個上元,或重新修正周期長度與朔實長度,以求合天。漢武帝時,因舊曆不符用,加以政治上的原因,改曆運動醞釀已久。恰好在元封七年值甲子朔旦冬至,是制訂新曆的大好時機!於是,經過一番爭議之後,採用了鄧平提出的律曆,將歲月日齊一的周期,改為八十一章,稱為一,並且用了一套律曆相通的說法,把音律和曆術扯在一塊兒。這一套律曆試行得不錯(要記得誤差在短時間內是看不出來的);且其上元定在三統(即4617年)之前,與當時公認的上元相符;加上最重要的政治因素有利於此曆,遂受採行。司馬遷是反對這一套曆法的,但礙於政治情勢,只能在自個兒著述的史記當中,暗暗記上一筆。現在的觀點,可以看出,這個周期的誤差更大。日後,四分術曾經復辟了一段時間,即是這個原因。政治觀點干預其他的事務,為害不淺,自古即然。當今的政治人物,實在應該多讀歷史,從其中學得教訓才是!

三統曆

  西漢末年,劉歆編三統曆譜,曆術仍依太初曆,不過三統曆依實測的數據,導出了月食周期及五星運行周期的推算方法,可謂邁出了曆算史的一大步!後代曆家不論在歲朔小餘上改進,或是天象周期調整,大體上都依三統曆的模式。三統曆因此可以算是中國天文曆的雛形!

後來發生了什麼事?

  中國的曆算發展,首重合天。因此後來八十幾次改曆,每一次修正,都是為了對天象做最精密的校正。中國的算學很早就確立在十進基礎上,而能發展出籌算(日後進化為珠算),以及類似大衍求一術(中國餘式定理)等高級計算技巧。反觀西方文明,早期的數字系統,例如希伯來或羅馬的數字系統,尚不適合高度複雜的計算,因此多半不能在發展出精細,複雜,如古中國擁有的曆術。

  唐代以後曆術,確立無中閏,並且已經能掌握月亮的不規則運動,技術上由平朔改為定朔,放棄了閏周(註4)

  元代以後,因為觀測日益精準,不再反演上元。明代以後,技術上將平氣改為定氣(註5)


附註
1.為什麼會有連大月?
平均而言,月亮的盈虧週期是29.5306日,所以陰曆的大月是三十日,小月是二十九日。如果輪流排大小月,這樣的平均值是每月29.5日,與盈虧週期相比,少了一點點,所以會在十幾個月之後(誤差達半天時),出現一次連大月。

2.如何置閏?現行的閏月,閏節不閏中
二十四節氣是由十二個『中』氣與十二個『節』氣交互出現。冬至是中氣,接下來的小寒是節氣,接著的大寒是中氣,緊接的立春是節氣⋯⋯。

倘若以一年十二個『月』計算,平均而言,每一個月應當出現一個中氣和一個節氣。然而,月亮實際上的盈虧週期,比起十二個中氣與節氣之間的距離的平均值短了一些,因此,月亮的每次盈虧週期,當中大部分會包含一個中氣和一個節氣,但有少數的月份只有節氣卻少了中氣,也有的月份少了節氣只有中氣。

現行的曆法是,每一個月都必須有中氣(所以,農曆一月一定會有雨水,二月一定會有春分⋯⋯),少了中氣的那一個月,就是閏月。我們甚至可以仿外國人稱一月叫January,二月叫February的方式,把農曆的一月稱為雨水月,二月稱為春分月⋯⋯,那麼,沒有分到中氣的月份,沒有名字,自然得置閏了(無中閏)!這個聰明的發明,把脫勾的太陽系統(季節,中節氣)和月亮系統(朔望兩弦)巧妙地結合在一起,使我們的農曆成為了陰陽合曆。

3.四分術
所有的古曆,都有相同的歲實(三百六十五又四分之一日,此即四分術名稱由來)與朔實(二十九又九四零分之四九九日)。
這些古曆也有共同的『歲月齊一』的周期,稱為。一章為十九年,包含七個閏月(即大家熟知的十九年七閏),共計二百三十五個整數月。
它們也有共同的『歲月日齊一』的周期,稱為。一蔀包含四章,計七十六年,以每年之歲實三百六十五又四分之一日計算,一蔀恰好含有整數個年月日周期,其中日數為27759日。

中國採干支紀日,為使干支周期與年月日齊一,所以把二十蔀稱為一(含555180日,可被六十整除),三紀稱為一(含4560年,此時連干支紀年亦可齊同)。因此,如果某個甲子年冬至恰巧在甲子日的夜半朔,則4560年後,同樣的情形會重覆發生。因此,從某一次『朔旦冬至齊甲子』一切都對齊了的好日子開始,曆學家可以編出一個以4560年為周期的萬年曆,一切都對齊的頭一日稱為上元

4.平朔,定朔,閏周
我們現在用的陽曆(格曆),固定有大小月的周期。初次研究農曆,一定想問:大小月以及閏月的周期是如何的?

以月亮盈虧的平均周期(29.5306日)來推估朔的落點(亦即,每月的初一),由此決定大小月,即所謂的。如此做法,將產生一大月一小月,每十四或十六個月會出現連大月的周期。這個周期和太陽周期相結合,則有閏周的產生(例如十九年七閏之後,一切周而復始)。唐代以前的曆學家使用平朔,因此,在曆術中,討論『朔實』與『閏周』是首要的工作。周期一旦確立,曆術就訂定了出來。

然而上述29.5306日只是平均值。實際上,由於月亮的不規則運動,每次盈虧周期並不是固定值。以朔的實際周期來訂定大小月,或者說,藉由精確地推算『朔』的實際發生時間,來確定曆法當中每個月的初一,取代從前以平均值推算『朔』的落點,即所謂的定朔。唐代以後的曆學家,技術上由平朔改為定朔。這樣的曆制,只要確定『無中閏法』做為置閏的規則,就不再需要討論閏周了。使用定朔制定曆法之後,可以觀察到:除了一大月一小月以及連大月之外,偶有三連大或四連大的情形發生。所謂大小月的的周期,因而消失。

5.平氣,定氣
古中國的曆法,冬至是可以度量的,其方法是觀測正午日影。正午日影最長的一日,即為冬至。其餘中節氣,則是在黃道360度上,每十五度安置一個。假設太陽在黃道上的運動是等速的,如此訂定的中節氣,稱為平氣。
刻卜勒告訴我們:行星繞太陽的軌道為橢圓,在等長的時間內,行星與太陽之間的連線,掃過相同的面積。所以太陽在黃道上的運動並不是等速,在夏至前後,由於太陽和地球的距離最遠,所以角度上的移動最慢,要移動十五度的時間,亦即中節氣之間相對變長。反之,在冬至前後,由於太陽和地球的距離最近,所以角度上的移動最快,要移動十五度的時間,亦即中節氣之間相對變短。如此,抛棄太陽在黃道上運動的平均速度,改依照太陽實際走到十五度、三十度等位置,所對應實際的日期訂定的中節氣,稱為定氣。

使用平氣法,閏月的發生,平均在一年的十二個月之中。相反的,使用定氣法,由於夏至前後的時距長,夏至前後的月分不包含中氣的機會相對提高,因此,閏月較容易在夏至前後發生,較不容易在冬至前後發生。



繼續閱讀

沒有留言: