當時參加製曆的落下閎曾說,此曆過800年後差1天。因此《太初曆》不如後來的《四分曆》精確。
《太初曆》於公元前104年(漢武帝太初元年)開始頒行,以該年十一月甲子朔旦夜半冬至這個時刻作為起算點,這是一個實際測量的結果。在公元前104年的十一月初一夜半時刻正交冬至節氣,而這一天正好又逢甲子日,以這個時刻做起點對曆法的許多周期數值的計算大為有利。因為一天的起點——夜半;一月的起點——朔旦;一年的起點——十一月;六十幹支周的起點——甲子;二十四節氣的起點——冬至,5個周期的起點都相會合在一起,就像五個賽跑者此時都正在起跑點上起跑。有了這個起點,對任何一個時刻,它們到了什麼地方都可以由各自的周期簡單地推算出來。
《太初曆》共行188年,到公元84年時為後漢的《四分曆》所代替。
祖衝之的《大明曆》
漢以後我國的曆法有了很大的發展,魏晉南北朝時期出現了不少較好的曆法,例如三國時楊偉的《景初曆》;南北朝時何承天的《元嘉曆》和祖衝之的《大明曆》等等,都是很有名的,特別是《大明曆》有更多的創造性。《大明曆》的製曆者祖衝之(公元429~500年)是我國曆史上偉大的科學家,在數學、機械製造、樂律等方麵都有研究,特別是在數學方麵成就很大。但是天文曆法也是他研究的主要內容之一,並且同樣取得了重大成就,《大明曆》就是他這方麵的代表。
祖衝之在《大明曆》中有不少創造,他取3939為分母,1月的日數是1163213939=2920903939天,化成小數是2953059日,同現在測得的朔望月長度非常接近,相差不到1秒鍾。他認為,傳統的19年7閏數值大了些,200年會差1天,於是他提出每391年中置144個閏月的閏周,這個數值的精確程度可以這樣來驗證:
如果19年7閏,則每年12719個月,1年的長庫就是:
2920903939×12719=3651847074841=3652468(天)
現在測得1回歸年長度是3652422天,每年相差00046天。所以祖衝之說200年要差1天。改為391年144閏,每年長度就是:
2920903939×12144391=364.2428(天)跟現測值隻差萬分之六日,即1年相差52秒,這是相當精確的了。
《大明曆》的另一個創新是首次引進了歲差概念。祖衝之首次在編製曆法時采用了當時的這個最新成就,使冬至點在恒星間位置每年向西移動一點點。別看移動的數值很小,它的影響卻很大。它給我們提供了決定曆史年代的科學依據,它給予人們星空在緩慢變化的唯物主義觀點。那“天不變,道亦不變”的說教在《大明曆》裏是沒有市場了。
交點月的數值在我國曆史上由祖衝之第一次得到。交點月就是月亮兩次過黃道和白道交點的時間,黃白交點對於發生日、月食極其重要,隻有當朔或望發生在交點附近才可能發生交食,所以月亮每隔多少時間通過交點一次就是很重要的一個概念。祖衝之得出是71777726377=2721223日,與今測值很接近,《大明曆》這項進步對於推算日、月食有重要的意義。
《大明曆》是我國曆史上重要的曆法之一,後代許多曆法在年、月長度上不如它精確。它在祖衝之死後10年,即公元510年開始行用近80年。
優秀曆法——《大衍曆》
公元721年9月乙巳朔,太史局裏人來人往。大家雖然忙,但沒有什麼聲音,因為根據《麟德曆》的推算,這一天要發生日食,但不知是否如預推的那樣準確。大家在做著觀測前的準備工作:有的在較準漏刻,有的準備記錄簿,有的準備油盆……。預報的時刻終於到來了,在油盆裏,耀眼的太陽隻顯現出一個光亮的圓輪,日食情況可以清楚地看到。實際觀測的結果表明,預報同實際有較大的差別。這說明《麟德曆》已同實際有了較大的偏差。觀測報告送到了皇帝那裏,唐玄宗下令:命一行(張遂)製定新曆,以代替不準確的舊曆。一行辛苦工作了6年,新曆製成,他也與世長辭了。他製定的就是《大衍曆》。唐玄宗命張說和陳玄景等人把他的遺稿收集整理,寫成《大衍曆術》和《大衍曆議》兩部分,今載在新舊唐書的曆誌裏。
《大衍曆》是我國曆法上優秀的曆法之一,內容分?個方麵,既繼承了前代曆法的成績,又為後代各曆所依照。計有:推算朔望的方法;推算二十四節氣各日的中午影長及白天黑夜長短;推算太陽運動、月亮運動,七十二侯和六十四卦;推算日月交食,五大行星運動等內容。
大衍曆的基本數據是:
通法三千四十——即每天由3040分組成,全曆中每一
數據都以此數為分母
策實百一十一萬三百四十三——即1年的長度為
11103433030=3652444,天
揲法八萬九千七百七十三——即1朔望月的長度為
897733040=2953059天
乾實百一十一萬三百七十九太——即一周天度數為
1110379343040=365779343040
歲差三十六太——為36343040度,約82年半差1度
轉終日二十七餘千六百八十五秒七十九——即一近點月為
27168579803040=2755460天
交終日二十七餘六百四十五秒千三百二十二——即交點月為
27168513221000030432721221天
五大行星的會合周期為:
水星一百一十五日餘二千六百七十九秒七十二,即
1152679721003040=115881天
金星五百八十三日餘二千七百一十一秒十二,即
5832679121003040=583892天
火星七百七十九日餘二千八百四十三秒八十六,即
7792843861003040=770935天
木星三百九十八日餘二千六百五十九秒六,即
398265961003040=398875天
土星三百七十八日餘二百七十九秒九十八,即
378279981003040=378921天
根據這些基本數據,再按照一定的法則就可以安排年的日曆,推算交食和五星出沒。中國古代曆法中這些本數據所用的名稱很古怪,這給我們研究古曆中的計算法帶來了麻煩,但弄清了這些名字的天文含義,其中計方法是不難的。現在有些同誌稱古代曆法著作為“天書”主要是因為弄不清這些古怪名字的意思而難於理解。
《十二氣曆》和《天曆》
古代的100多種曆法中,絕大多數是陰陽合曆,即太陽的視運動周期為年的單位,以月亮圓缺周期為月的位。由於兩者沒有整數倍數,所以要采用一定的調整措施這是陰陽合曆不可避免的問題。但曆史上有兩種曆法是純陽曆設計,避開了這個問題。其中一個是沈括提出的《十二氣曆》,一個是太平天國頒行的《天曆》。著名的科學家沈括晚年在風景宜人的夢溪園裏,記錄他自己一生中對各種問題進行研究的心得和收獲,寫成著名的《夢溪筆談》。書中提出了我國曆史上第1個陽曆方案:每年12個月,大月31天,小月30天,大小月相間。二十四節氣分成兩組,立春、驚蟄、清明、立夏、芒種……稱為節氣,置於每月的開頭;雨水、春分、穀雨、小滿、夏至……稱為中氣,置於月中。這樣每年的日期和節氣都固定不變,也不用設置閏月,推算很簡便。沈括的陽曆方案在曆史上是無先例的,他明知會遭到攻擊,但還是堅信以後總會使用這種設計的。
事情真如沈括所預言的,800年之後的太平天國起義軍頒布了《天曆》。
《天曆》的基本結構,以366為1年,沒有閏月。單月31日,雙月30日,節氣為月首,中氣為月中。大月中氣從每月的十七日開始,小月從十六日開始。這樣除立春、清明、芒種、立秋、寒露、大雪6個節氣為16日外,其餘都為15日,所以非常簡明整齊,幾乎人人都能用它的推算方法來推算曆譜。《天曆》保留了古代的幹支紀年、記日、記月的方法,並且使用星期周法。它是以立春為歲首的。《天曆》1852年立春與清朝的《時憲曆》一致,大約就是以此年立春作為曆元。
《天曆》將回歸年取為366整,大概是為了從整齊完滿和推算方便著想的,但這個數值與真值相差較大,4年就差了3天。考慮到這一缺點,太平天國的一位領導人洪仁殲於1859年對天曆作了每40年一斡旋的修正。具體地說:每逢40的年份,改用每月28天;每個節氣都恒定為14天。經過這次改定以後,天曆的回歸年長度相當於世界上通用的《儒略曆》或我國古代的《四分曆》。