在月球背面的諸多環形山中,有5座以中國古代天文學家命名,分別是祖沖之、郭守敬、張衡、石申和萬戶環形山。在5座環形山中,郭、張、石、萬4座都是1970年被國際天文聯合會正式批准的,獨有位於月緯17.16°N,月經145.16°E的祖沖之環形山早了9年,1961年就獲得了國際天文學會的認可。
祖沖之環形山得名如此之早,同蘇聯有一定關係。這座名為環形山的隕石坑被1959年升空的蘇聯月球3號衛星拍攝到,據參與該任務的蘇聯航天控制系統設計師B.Y.切爾托克(Boris Yevseyevich Chertok)回憶,當時蘇聯科學院決定用古代著名科學家和文化名人為環形山起名,還特別要求要包括一名美國和一名中國科學家。他們選擇家喻戶曉的愛迪生作為美國代表,但在選擇中國科學家時由於不熟,只能向中國駐蘇使館諮詢,最後中方反饋提供祖沖之,理由是祖沖之在公元5世紀作出了傑出數學成就——也就是眾所周知的圓周率π精確近似值以及約、密率。
若切爾托克所言屬實,祖沖之名列月背環形山,憑藉的似乎並非天文學成就,但名列月背環形山又似乎暗示了他對天文學的貢獻。這段逸聞其實恰似後世對祖沖之的認知,因為他在圓周率推算上的成就太過醒目,所以人們往往在不知不覺中忽略了另一些事實,那就是他不僅是名出色的數學家,更是一位在曆法上作出不滅貢獻的天文學家。
祖沖之,字文遠,祖上是北方范陽(今河北淶水縣)人,他本人則是土生土長的江南人。北方的范陽祖氏跑到南方生根,自然是因為西晉末永嘉大亂,“洛京傾覆,中州士女避亂江左者十六七”(《晉書·王導傳》)。
在北方,范陽祖氏世代都有人做到二千石一級的官員,連續九代人都被舉孝廉,但到了南方未能躋身大門閥士族的行列,一族中名氣最大的祖逖終生也不過是被追贈車騎將軍,同王、謝家完全不能比擬。祖氏在朝堂地位的卑微與尷尬,從祖沖之曾祖父祖臺之的遭遇上就可以略見一斑。
東晉太元十七年(392)左右,祖臺之已做到尚書左丞,卻遭到太原王氏子弟王國寶的公開侮辱。史載,王國寶在某次宴會上喝醉之後,卷著袖子大罵祖臺之,還將盤盞樂器往他身上擲去,而祖臺之“不敢言”。在位的晉孝武帝司馬曜聽聞後,免去王國寶職務,又嫌祖臺之懦弱,“非監司體”,同樣免官。
孝武帝嫌棄祖臺之怯懦,可王國寶家世赫赫,父親是孝武帝年幼時的輔政大臣王坦之,岳父是淝水之戰“矯情鎮物”的名相謝安,本人又同孝武帝和把持朝政的司馬道子關係密切,區區北方“傖荒”祖臺之又怎敢頂撞他?唯有忍氣吞聲而已。後來政局反覆,桓玄執政剷除皇室和王、謝、庾等大族勢力,祖臺之便參與其中,以御史中丞名義彈劾中書侍郎範泰、前司徒左長史王準之、輔國將軍司馬珣之“居喪無禮”,迫使三人罷官,算是對世家子弟出了一口惡氣。
晉元熙二年、劉宋永初元年(420),劉裕滅東晉建立劉宋,祖家也像大多數人一樣繼續在朝廷任職。祖沖之祖父祖昌擔任過將作大匠(梁武帝時改名大匠卿),品秩為中二千石,負責朝廷的土木工程;父親祖朔之為奉朝請,為南朝安置閒散官的職務。正史中祖臺之本傳就只有一句話,祖昌和祖朔之甚至無傳,但讓人詫異的是,雖然父祖默默無聞,祖沖之卻在劉宋第四任皇帝孝武帝劉駿在位時翻了身,進入世人的視野中。
祖沖之生於元嘉六年(429),比劉駿大一歲,史書中並未記載兩人早期有什麼瓜葛,但劉駿即位後,立即讓祖沖之“直華林學省”,並“賜宅宇車服”(《南齊書·祖沖之傳》)。《宋書》中沒有“華林學省”的記載,但頻頻提到華林園,武帝、孝武帝多次在此親自聽取訴訟,少帝被弒前在華林園擺攤,可見是劉宋皇帝常去的一處園子,推測“直華林學省”為在華林園辦公的皇帝近侍應屬合理。不僅如此,大明五年(461),祖沖之首次出仕(“釋褐”)就被任命為南徐州刺史劉子鸞的從事、公府參軍更值得世人深思:劉子鸞為劉駿最寵愛的兒子,只要父親看到什麼好東西,“莫不入子鸞之府”,此外以皇子領大郡是劉宋壓服地方豪族的慣例,為了輔助這些不諳世事的皇子,往往會給他配屬精明能幹的帝王心腹作為幕僚。大明五年時劉子鸞才5歲,遙領可能性更大,祖沖之到底是在南徐州處理公務還是在京城劉子鸞身邊雖不可知,但能廁身皇帝託付愛子的近臣行列,可見他同劉駿關係遠較旁人想象得密切。
大約在此時期,得到皇帝充分信任的祖沖之才能作出一項牽涉學術外甚多的重大天文改革——修改傳統曆法,推出《大明曆》。
創造出燦爛農業文明的中華先民出於生產需要,很早就對曆法產生了濃厚的興趣,而且經過長期的對日月運行規律的觀察和總結,他們發展出了一套較為罕見的陰陽曆結合的歷法,即以一次月圓(或月缺)到下次月圓(或月缺)為基準定月(朔望月),而以當年冬至到次年冬至為基準定年(迴歸年)。這麼定的好處在於以朔望月定月,抬頭即可確定時間,方便確定;以迴歸年定年,每年季節大致相同,方便生產。
然而,朔望月實際是月球繞地週期時長,迴歸年是地球繞太陽時長,兩者並不能整除,每月按大小月分別為30或29天,算下來12月為354天,但迴歸年共365.25天,兩者有11天左右的差距。為解決此問題,古代天文曆法家採用置閏法加以補齊,也就是每隔兩三年就多加一個“閏月”,由此又衍生出一個新問題:那麼到底該多少年置一閏月?
解決方案早在先秦時期就被提出,人們在實踐中發現19個迴歸年的時長同235個朔望月差不多相當,便在正常19年的228個月外另加7個閏月敉平差距。由於古人將19年稱為一“章歲”,19年7閏也就被稱為“章歲法”。從漢代開始流行的“四分曆”,正是基於“章歲法”制定的。
很顯然,“章歲法”只是一種近似,時間一長誤差就會越來越大,到南北朝時人們已然發現,“章歲法”雖然能將日子合上,但每月時間卻同當月原應有的季節產生了偏差,對一個需要按月份節氣進行農業生產安排的國家來說,這無疑是天大的噩耗,修正曆法的需求也變得迫切起來。
最先對“章歲法”提出挑戰的是北涼學者趙,他於北涼玄始元年(412)制定《玄始歷》(亦稱《元始歷》),提出改用600年置221閏的方法。南朝修訂曆法的先驅是與祖沖之同為劉宋時人的何承天,他編撰的歷法於宋文帝元嘉二十二年(445)施行,被稱為《元嘉歷》。由於《元嘉歷》依然使用了“章歲法”,因而還是同實際有著誤差,祖沖之在經過反覆計算後,認為趙600年置221閏月過少,但“章歲法”又過密,每200年就會多出一天,因而提出改為391年置144閏月。
按祖沖之的算法,每年實際為365.24281481日,而現代天文學所測一年為365.24219879日,誤差只有65萬分之一,約50秒,這個精確紀錄直到608年被隋代天文學家張胄玄用《大業歷》的365.24203170日刷新。
祖沖之為什麼能將回歸年確定得如此精確?最主要的原因,就是他引入了當時最先進天文發現成果—東晉天文學家虞喜確認的赤道歲差。所謂赤道歲差,是一種地球自轉軸運動引起的春分點位移現象。現代人都知道,地球在太陽系中一面圍繞太陽公轉,一面沿南北極軸自轉,但地球與日、月乃至其他幾大行星間存在引力影響,因而自轉軸並非處於穩定狀態,如果我們設想有一條通過地心並垂直於黃道面的線,就會發現地球自轉軸兩端在繞著該假想線緩慢畫圈轉動,其結果就是從地面看,當年冬至太陽所處位置同次年冬至點會有一段微小位移,大約是每年50.2秒,每71.66667年左右就會後移一度。
圓周長和半徑之比π到底是多少?這不僅是人們研究天文必然遇到,更是他們只要進行生產生活就會遇到的問題。人類最早有關圓周率的記載於約公元前16世紀的埃及萊因德數學紙草書(Rhind Mathematical Papyrus),算得圓周率為3.1605。當時古埃及人常用經驗公式確定π值,方法也很簡單:他們將穀子擺放在圓周和直徑上,通過計算穀子比例可以得到π的近似值。
中國古代最早的數學著作之一,約成書於西漢末的《周髀算經》提到“圓徑一二週三”,顯然是將π值定為3,即古人所稱的“古率”,雖然只是π很粗略的近似值,但以當時的數學發展水平,沒有辦法算出更好的值,因而在成書於東漢初的《九章算術》中也都在使用“古率”。
中國人得出較為精確的π值始於西漢末新莽時期。新莽“始建國”中,王莽下令讓國師劉歆仿周禮製造一種銅斛,名為“律嘉量斛”(亦稱“新莽嘉量”),腦洞大開地將五種量具融於一體,“其上為斛、其下為鬥,左耳為升,右耳為合,合下為龠”,背面銘文則說明了斛的具體尺寸:“方一尺而圓其外,庣旁九釐五毫,冪百六十二寸,深尺,積千六百二十寸半,容十鬥。”這段文字中值得注意的是方、庣、冪。方是量斛內底正中的邊長為1尺,但並未同斛底圓壁接觸的正方形,庣是正方形頂點到斛底圓周的距離,因而斛底圓直徑就等於正方形對角線加兩庣距離,根據勾股定理容易算得半徑為0.7166尺,又已知圓面積“冪”為“百六十二寸”,則可反推劉歆所用π值約為3.1547。1956年,河南陝縣劉家渠隋墓中發現了另一件新莽“始建國元年銅撮”,同樣刻有類似的方、庣、冪,推算下來π值約為3.1679 。
史書並沒有交代劉歆如何得出π值,有可能是依據改良後的經驗公式。此後東漢張衡、蔡邕也都是使用經驗公式給出了近似π值,張衡認為等於3.1622(10開方);蔡邕認為等於25/8,直到魏晉之際,數學家劉徽在給《九章算術》做注時,才第一次給出求圓周率的幾何方法——割圓術。
《割圓術》全文共1800字,核心就是在構造圓內接正多變邊,利用計算正多邊形面積就可以得到近似圓面積,然後通過圓面積公式(圓面積等於π乘半徑平方)逆推出π值。在示例中,劉徽先在一個半徑為1尺的圓內構造出內接正六邊形(從圓上任意一點出發,以半徑為步長與圓周相交,得到的6個點連接起來就是內接正六邊形),然後根據內接正六邊形構造出為正十二邊形(沿圓心向正六邊形每邊中點作一條線,六條線延長到圓周時又得到6個點,連接正六邊形頂點和新的6個點,就得到正12邊形)。以此類推,只要正多邊形邊越多,其面積就越接近於圓,π值就越精確。
由於劉徽構造的都是正多邊形,因而其面積可以簡單用幾何方法通過勾股定理求出。劉徽在《割圓術》的第二部分中就給出了從正n邊形到正2n邊形的面積遞推公式,當推導到正96邊形時,他就得出了π常用近似值3.14。然而更值得歎服的是他對數據的後續處理,當割到正192邊形時,他得到面積314又64/625寸平方,通過“差冪”法,也就是將正192邊形和正96邊形面積相減數據乘2加在正96邊形面積上,就可以得到:正192邊形面積<圓面積<正96邊形面積+差冪×2,通過加權平均計算,能夠得到π值3.1416。
阿基米德割圓術示意圖,他通過同時構造圓內接和外切正多邊形,然後計算其周長以取得周長近似值,重複該步驟求得圓周率約為3.1409<π<3.1429。阿基米德的算法需要同時計算內接和外切正多邊形,計算量較割圓術大不少,同時由於割圓術利用“差冪”的思路接近數值分析中“最小二乘法”,數值精度會更高
祖沖之正是在劉徽等人的基礎上,同他兒子祖𣈶(亦有記載為祖𣈶之)將圓周率推到一個新高峰,精確到小數點後7位。有關他計算圓周率的史料僅見於《隋書·律曆志》:“祖沖之更開密法,以圓徑一億為一丈,圓周盈數三丈一尺四寸一分五釐九毫二秒七忽,朒數三丈一尺四寸一分五釐九毫二秒六忽,正數在盈朒二限之間。密率圓徑一百一十三,圓周三百五十五,約率圓徑七,週二十二。”
這段話使用了古代數學表達方式,因而顯得比較費解。“以圓徑一億為一丈”可以理解為他計算的數位多達9位(一億),以此數位開始計算,才能將結果算到後面直到小數點後7位“忽”;盈數朒數都是相對於圓周率而言,是說他求出的圓周率滿足不等式3.1415926(朒)<π<3.1415927(盈),此外他還給出了兩個方便的近似值約率(22/7,約等於3.14285714)和密率(355/113,約等於3.14159292)。
綜合考慮當時數學水平,後世多認為祖沖之是沿著劉徽割圓術的道路前進,算到正3072邊形再輔以“內插法”,才算出了精度如此之高的π值。儘管他使用的仍然是幾何方法,但國外要直到15世紀才由中亞數學家阿爾卡西(al-Kashi)打破了他的記錄,計算到小數點後14位,更為精確的計算則要等到18世紀中葉後,西方數學家掌握無窮級數、積分、冪級數展開等近代數學工具才得以實現。
劉徽割圓術計算示意圖,當正六邊形(綠色部分)被割為正十二邊形(綠、紅、藍部分)後,d所示紅色部分可以利用勾股定理求得,該部分即為“差冪”(正十二邊形減去正六邊形的面積之差),該“差冪”乘2即為長方形ABCD面積。圖中可見,圓面積大於正十二邊形面積,但小於正六邊形加ABCD面積(劉徽不等式),由此可確定介於一較大數和一較小數之間的π值,重複此步驟可得更為精確的π值
此外,不容忽略的是,祖沖之給出了簡便而又精度甚高的約率和密率,約率大概是根據劉徽給出π近似值157/50而來,通過解不定方程,得到第一組解即為22/7,而密率大約為祖沖之獨創,但後世已不知道他是如何求出此解,只能猜測可能是使用了何承天的“調日法”(數值逼近的內插法),或是使用了連分數法求最佳漸進分數,又或是同樣用不定方程求解得出355/113,但不管是何種方法,西方都直到1573年才由德國數學家重新算出。以是而言,祖沖之對圓周率的計算領先世界千年之久。
大明六年(462),祖沖之將自己耗費多年心血的《大明曆》呈給宋孝武帝,卻遭到孝武帝寵信戴法興的堅決反對,群臣畏懼戴法興的權勢,紛紛贊成他的意見。祖沖之反覆駁難,直到大明八年才說服孝武帝,預定次年改元同時改歷。沒想到當年孝武帝就去世,此事就擱置下來。南齊代劉宋,祖沖之的《大明曆》又獲得文惠太子蕭長懋的支持,結果又在準備實施前蕭長懋去世,此事又被擱置。直到梁代齊後的天監九年(510)才在祖𣈶再三上奏下實施,而此時祖沖之已去世10年,距離他制定曆法的王朝都更替到第三個了。
好在,祖沖之和他兒子光輝的學術成果遠比一切命運打擊都更為長久。千年以降,祖沖之之名不僅沒有被人遺忘,還走出國門,登上月球,而曾權傾一世、打壓祖沖之成果的戴法興之流,除了能作為故事中的反派偶爾被人提及,還有誰會記得呢?
參考文獻:
金開誠、郭蕊《數學泰斗祖沖之》。
魏曉妮《歷史上對圓周率的探索》。
本文摘編自《國家人文歷史》2023年3月上,原標題為《不只算出了精確π近似值 祖沖之:南北朝最強大腦》,有刪節,本文系“國家人文歷史”獨家稿件,歡迎讀者轉發朋友圈。