在劉徽之后,中國進入了歷史上最混亂的五胡亂華和南北朝時期,原來屬于西晉的中原地區(qū)各個胡族勢力輪番上陣,城頭變幻大王旗,生活在此地的百姓開始向未受戰(zhàn)火騷擾的地方遷徙,這就是中國歷史上著名的"永嘉南渡"。南渡后,那些豪門大族還是會使用自己原來的籍貫,比如本文所介紹的祖沖之、祖暅父子。他們都是出生在建康(現(xiàn)在的南京)的,但是都自稱范陽祖氏,因為他們的祖籍是范陽(現(xiàn)在的河北省淶水縣),這里還有一個僑郡的概念,以后如果有機會也可以聊聊。祖氏在范陽是個大族,名人輩出,比如東晉初年那個聞雞起舞、中流擊楫的北伐將領(lǐng)祖逖,就是來自范陽祖氏。 祖沖之 祖沖之的祖父祖昌擔(dān)任過大匠卿(一種負責(zé)土木建筑的官職),父親祖朔之做過"奉朝請",祖沖之本人擔(dān)任過很過官職,他的兒子祖暅之也是一個數(shù)學(xué)家,他的孫子祖皓也精通歷算,可以說他們家祖孫五代人都精通歷算。這里我們還發(fā)現(xiàn)一個很有意思的事情,從祖沖之的父親開始,他們的名字中都有一個"之"字,我們知道在古代避諱問題是個大問題,父子之間名字是不能有重復(fù)字的,但是為什么祖沖之他們家比較特殊呢?其實也不止是祖沖之,比如東晉時著名的書法家王羲之,他的兒子就叫王獻之,他的孫子叫王靖之,也是都有一個"之"字。這是因為他們都信奉"天師道"這個宗教,"之"就是這些道友名字中的暗記。其實把這些"之"去掉以后,也完全沒有問題,比如我們現(xiàn)在就把祖暅之叫做祖暅,這也符合從西漢末以來,人名通常用單字的習(xí)慣。 祖沖之一生有兩大成就,一是頒布了《大明歷》,另一個是把圓周率精確到小數(shù)點后7位。我們先來說說《大明歷》,大明不是大明朝,大明朝要在祖沖之后900年才出現(xiàn)呢。大明是當(dāng)時劉宋王朝皇帝宋孝武帝的年號,因為這個歷法是在大明年間頒布的,所以叫《大明歷》。在《大明歷》中,祖沖之采用了391年144閏的閏年法,這在當(dāng)時是一個重大的革新,另外還有一個革新就是在歷法中引入了"歲差"的概念,這也是一個劃時代的成就。 所謂的閏年,是指由于地球繞太陽一圈的時間是365天5小時48分46秒(365.24219天,這叫一個回歸年),它不是一個整值,所以人們就把一年人為地定為365天,這樣的話,每年都會比實際天數(shù)少了0.24219天,所以人們又把這少掉的0.2422天每四年累計一天,所以一般會在第四年的二月末加一天,那么這年就叫閏年,這是四年一閏。但是四年一閏是一種十分粗糙的算法,因為0.2422*4=0.9688,它不是一天,雖然看上去不大,但是如果放到10000年來算的話,我們會發(fā)現(xiàn)差了312天,差不過將近一年了,所以還需要有更精確的算法。所以我們現(xiàn)在正在用的是四年一閏,百年不閏,四百年再閏的算法。但由于中國古代的歷法是陰陽歷并用的,陰歷是以月亮的一個朔望作為一個月的,由于一個朔望月的平均時間為29.53059天,所以陰歷一般都是一個月29天,一個月30天,每年12個月,這樣一年的時間在355天左右,跟實際的一個回歸年365天差距更大。所以人們就會每隔幾年加上一個月,作為閏月。為在祖沖之之前,人們使用的是19年7閏的方法,但是這種方法的誤差還是比較大的,具體就是每200年就會多一天。所以,祖沖之通過計算,確定了391年144閏的新閏法,這要比19年7閏精確多了。 另外,所謂的"歲差"就是指由于地球在轉(zhuǎn)動的過程中,地軸并不是一直不變的,而是也有一定變化的。比如2000年前的北極星就不是現(xiàn)在的北極星,就是因為地軸的指向發(fā)生了改變。而由于"歲差"的存在,每年的冬至點都會發(fā)生變化,而不是一塵不變的。但是由于這個"歲差"的變化量特別的小,所以很多人在制定歷法的時候,都沒有把它考慮進去,而祖沖之則不然,他把"歲差"也考慮了進去,因此他所制定的《大明歷》比之前的歷法要更加精確。 祖沖之的另一個劃時代成就就是將圓周率精確到小數(shù)點后7位,并給出了圓周率的疏率和密率,其中的密率才是一件真正空前的杰作。在祖沖之之前,劉徽就通過割圓術(shù)得到圓周率的一個近似值3.1416。祖沖之在劉徽的基礎(chǔ)之上繼續(xù)發(fā)展,依然用割圓術(shù)的方法,將這個值確定在3.1415926<π<3.1415927之間,這是當(dāng)時世界上最精確的圓周率的值,并且一直保持了900年。一直到1424年才由阿拉伯?dāng)?shù)學(xué)家阿爾·卡西所打破,阿爾·卡西將圓周率精確到小數(shù)點后17位。祖沖之在圓周率上更大的貢獻則是給出了密率,355/113。所謂的"密率"就是指圓周率的一個比較精確的近似值,它有兩個好處,一是精確,我們都知道圓周率π是個無限不循環(huán)小數(shù),小數(shù)點后面的數(shù)字是無窮無盡的,那么怎么樣才能更精確地表示這個圓周率呢?一般是給出一個分數(shù)來,這個分數(shù)與圓周率本身的誤差要盡量的??;二是簡單,如果這個分數(shù)依然是一個十分復(fù)雜的數(shù)字的話,也沒有什么太大的意義。而祖沖之給出的這個密率恰恰符合這兩個要求,在精確度方面,它與圓周率本身的誤差只有9*10^-8,也就是說一個直徑10公里的圓,用密率計算出來的周長和實際周長只相差了不到3毫米。而在形式方面,比這個分數(shù)更簡單的就是22/7,這其實是祖沖之給出的疏率,但它的誤差要比355/113大很多,如果要誤差比355/113小,則最小的分數(shù)是103993/33102,誤差是小了,但是分數(shù)數(shù)值則要復(fù)雜的多。所以,現(xiàn)在很多人都愿意將355/113稱為"祖率"。 祖沖之的兒子祖暅也是一個數(shù)學(xué)家,他與父親祖沖之共同合作,完成了"祖暅原理"的創(chuàng)造。所謂的"祖暅原理"是在求"牟合方蓋"的體積的時候所用到的方法,在該原理中,祖暅提到了"冪勢既同,則積不容異"的原理。其實求"牟合方蓋"的體積問題在古希臘的時候就已經(jīng)由阿基米德解決了,但是阿基米德的方法是針對特定的問題的,并沒有建立起一般的計算法則,對于每一個新問題,都需要從頭開始,很麻煩。而祖暅原理則是一個一般性的原理,這與17世紀(jì)意大利數(shù)學(xué)家卡瓦列里提出的"卡瓦列里原理"差不多。用現(xiàn)代分析學(xué)的觀點來解釋就是:如果被積函數(shù)相等,而且積分限也相等,則兩個積分相等。被積函數(shù)中的常數(shù)可以作為一個因子提到積分號外面而不影響積分的值。即:設(shè)f(x)=g(x)(a≤x≤b),則有 以及 |
|