

眾所周知,祖沖之(公元429—500)是一位古代大數學家,科技史界對他非常重視自不用說,甚至文史界對他也會有特別的關注。例如在1933年北京大學的入學語文試卷中,文史大家陳寅恪就以“祖沖之”為答案,擬出一道以“孫行者”為上聯求對下聯的試題。有趣的是,有些學生以當時的北大校長“胡適之”作答,也獲得了閱卷者的首肯。
祖沖之所撰的數學著作名為《綴術》,《隋書》說《綴術》共有6卷,“學官莫能究其深奧,是故廢而不理”。唐朝時《綴術》只有5卷流傳,從一個側面證明《隋書》所說不錯,《綴術》有些內容連其他學者都讀不懂,所以在唐朝就已經有1卷失傳。從記載看,《綴術》大約在唐朝末期完全失傳,因而祖沖之到底有多少了不起的數學成就,后人再也無從知曉。但據《隋書·律歷志》記載,我們確知祖沖之通過他的計算得出了圓周率在3.1415926與3.1415927之間的結果。這個結果是古代圓周率計算中最杰出的成績,僅憑這個結果,祖沖之就有資格進入偉大的古代數學家的名單。可惜的是,我們已經不可能確切地知道祖沖之得到這個結果的數學方法。
對于祖沖之如何得到上述結果這個問題,現代數學史專家已經作出了很多種推測。但是,我覺得我所見到的幾種推測都不是很合理,因此我將在本文中給出自己的推測。
首先,劉徽所注的《九章算術》是其后所有中國古代數學家最重要的參考著作,因此我們可以肯定祖沖之計算圓周率時必然會參考劉徽的“割圓術”。劉徽利用圓的內接正6·2″邊形的邊長和面積來估算圓周率的近似值,在計算到圓內接正192邊形時,通過插值估計,得到圓周率的近似值為3.1416。然后,劉徽又用圓內接正3072邊形的面積驗算,得到相同的結果。
很容易想到,一種改進的做法是在考慮圓的內接正6·2″邊形的同時,也考慮其外切正6·2″邊形。計算可知,同時應用內接與外切正多邊形,在計算到正3072邊形時,可以得知圓周率值介于3.1415921與3.1415937之間。簡單分析可以發現,同時應用圓的內接與外切正6·2″邊形的面積估算圓周率的近似值,結果并不比用邊長精確。由于以上所列的估計值與祖沖之所得結果相比還有一些差距,我們因此推測:祖沖之并不僅僅是用正多邊形的邊長或面積來計算圓周率的值。
在使用算籌進行運算的時代,極為繁復的計算是非常非常困難的。劉徽以圓內接正192邊形為圓周率計算的主要依據,最后計算到圓內接正3072邊形,而祖沖之又肯定深受劉徽的影響,因此我們假定:祖沖之很可能用圓內接正192邊形或者384邊形做圓周率估算,最多計算到正3072邊形。那么,祖沖之應該用什么樣的方法,才可以在這個計算范圍內得到他那個了不起的結果呢?
劉徽用圓內接正192邊形的邊長來估計圓周率時,使用了一個理論上錯誤的比例插值估計,但這個插值結果的精確度與使用內接正3072邊形面積估計的圓周率相當接近。劉徽指出的這個事實,肯定給予祖沖之很大的啟發。因此,我們猜測祖沖之肯定會尋找更好的插值算法。我們推測,祖沖之的插值方法的關鍵在于“綴”字!祖沖之所著的書名為《綴術》,其中“綴”字有“連綴”、“補綴”之意。祖沖之以“綴”為書名,可能是指其書對《九章算術》的“補綴”之功,對古代數學知識片斷的“連綴”之力。但是,祖沖之的數學成就中只有圓周率計算被《隋書》所記載,可見圓周率計算在《綴術》中的重要地位。因此,書名《綴術》很可能也反映了祖氏計算圓周率的方法。我們因此推測,祖沖之把圓的內接與外切正多邊形相互損益、補綴,用這個補綴的結果來估算圓周率。
現在的問題是:祖沖之可能怎么使用圓的內接與外切正多邊形來補綴出圓面積?從圓弧的“凸”形容易知道,以圓的內接與外切正多邊形面積的平均值作圓面積的近似,所得的結果會略小于圓面積的真值。因此,祖沖之可能采用非平均的、偏重于外切正多邊形的補綴方式進行計算。具體地說,我們認為祖沖之可能使用1/3內接正多邊形面積加上2/3外切正多邊形面積來計算圓面積的近似值。
為什么是1/3和2/3,而不是其他(比如2/5和3/5)數值?我們沒有任何過硬的依據。也許祖沖之有自己的推算和論證,也許只是因為1/3和2/3是最簡單而偏重于外切正多邊形的、非平均的補綴方式。值得指出的是,l/3和2/3在古代是2個很特殊的分數,它們擁有專門的名稱,分別稱為“少半”和“太半”。這2個分數的特殊性,有可能是祖沖之采用上述這種補綴方式的原因之一。
總之,祖沖之所著的《綴術》在隋唐時已經“學官莫能究其深奧”,“是故廢而不理”,更加不幸的是《綴術》早已失傳,因此對其算法我們只能猜測。然而,盡管證據不足,我們這里的推測是一種以劉徽的割圓術為基礎的、算理與“綴”字的字義相契合的、并且采用古代數學中簡單而特殊的分數的算法。因此,猜測祖沖之采取這種算法,是一個合情合理的推斷。
無論猜中與否,下面我們就以這種補綴算法來計算圓周率。假設我們(或者祖沖之)從單位圓的內接正6邊形出發,以上述內接及外切正6·2″邊形的面積的補綴方法來估算單位圓面積。在左圖中,我們畫出單位圓與其內接及外切正6邊形關系圖的六分之一。
將這個算法用計算機編程進行計算,我們得到如表1結果。
從表1中可以發現,只要計算到正384邊形,就可以得到圓周率約等于3.141592655。再比較計算正192邊形及正768邊形時所得的圓周率值,就不難斷定圓周率應該在3.1415926與3.1415927之間。由此可見,無論祖沖之是不是采用這種算法,它都是一種能夠快速得到圓周率高精度近似值的方法。
那么,讀者也許會問:這種方法為什么能夠很快得到圓周率的高精度數值?事實上,大學1年級所學的一元微積分就可以回答這個問題:應用三角函數的麥克勞林展開式,可以發現這種估計的誤差是扇形圓心角的五階無窮小,而這正是其結果能很快逼近圓周率的根本原因——由于具體內容涉及高等數學,我們就不詳細介紹了。
從上面的計算可知,如果祖沖之用上述方法估算圓周率,則他計算到圓內接192邊形或384邊形時,就可以得到遠比劉徽精確的圓周率估計!猜測雖然僅僅只是猜測,但無論我們是否猜中祖沖之的算法,本篇都是很有趣的:它不僅給出一個合情合理的猜測,而且提出了一種以劉徽割圓術為基礎的、計算簡單而又逼近速度極快的圓周率估算法。