楊文興
(邯鄲職業(yè)技術(shù)學院,河北 邯鄲056005)
文章有三部分。
圓周率是圓的周長與其直徑的比值。祖沖之以內(nèi)接圓和外切圓正多邊形的邊長代替圓的周長,并不斷加倍正多邊形的邊數(shù)以提高近似替代的精確度,從而對圓周率的估計也更精確。因為《綴術(shù)》的遺失具體細節(jié)已無法得知。今再計算圓周率,筆者也從內(nèi)接和外切正多邊形開始。
等分圓心角,n 個圓心角的邊與圓周共有n 個交點。這n 個交點構(gòu)成圓周的一組等分點,分圓周成n 個小弧段。連接此n 個小弧段的端點,得n 條線段。此n 條線段就構(gòu)成圓的一個內(nèi)接正n 邊形。如圖1 所示,為圓的內(nèi)接正六邊形。
在n 個分點處作切線,與相鄰的切線相交。連接這兩個交點,得一條線段,共可得n 條這樣的線段。此n 條線段就構(gòu)成圓的一個外切正n 邊形。如圖1 所示,為圓的外切正六邊形。
對于任意一個正多邊形,都可以做一個外接圓。使這個正多邊形成為這個圓的內(nèi)接正多邊形。正多邊形的頂點都在圓周上。所以正多邊形的每條邊又都是外接圓的弦。因為這些邊的長度都相等,所以正多邊形的邊所對應的圓心角都相等。不同的正多邊形的邊所對應的圓心角可能不相等。但若兩個正多邊形的邊數(shù)相等,則這兩個正多邊形的邊所對應的圓心角相等。外切正n 邊形的邊所對應的圓心角與內(nèi)接正n 邊形的邊所對應的圓心角相等。
要計算內(nèi)接正2 ×n 邊形的周長,必須計算內(nèi)接正2 ×n 邊形邊長。如果內(nèi)接正n 邊形的邊長已知,怎樣計算內(nèi)接正2 ×n 邊形邊長呢?
1:內(nèi)接正2 ×n 邊形的邊長與內(nèi)接正n 邊形的邊長的關(guān)系
如圖2 所示,半徑為1 的圓,點O 為圓心,周長為x。AB 為內(nèi)接正n 邊形的一條邊,其長度為s0?!螦OB=α。
過圓心作邊AB 垂線,交AB 于點C,交圓周于點D。則可知弦半徑OD 平分邊AB;點D 平分AB 所對應的弧段。所以AD,BD 是內(nèi)接正2 ×n 邊形的邊,其長度記為s1。
在直角ΔBOC 中:
在直角ΔBCD 中:
要計算內(nèi)接正2k×n 邊形的周長需計算內(nèi)接正2k×n 邊形的邊長sk。要計算sk需計算sk-1,一直下去,需計算s0。
這樣對任意的正整數(shù)n >2,內(nèi)接正2k×n 邊形的周長隨著k 的增大越來越逼近于圓的周長。
為了便于計算s0,令n=6。
正六邊形的邊所對應的圓周角是60°,邊與其端點處的半徑構(gòu)成等邊三角形。
∴AB=1,即s0=1。
因此可得:
……
根號太多了,為了方便引入一族新記號。令:
用歸納法:
當k=0 時,D0=1,s0=1
設(shè)k=l 時結(jié)論成立。
當k=l+1 時,
∴k=l+1 時結(jié)論成立。
∴該結(jié)論成立。
通過驗證熟悉一下這個公式。
從而也可得
sk-1=sk×Dk+1,(k >0)。
同理sk=sk+1×Dk+2,(k >0)。
記內(nèi)接正2k×6 邊形周長為Ls(k),則Ls(k)=2k×6 ×sk小于圓的周長。即不等式x >Ls(k)成立。
2:計算外切正2k×n 邊形的周長。
由前面的討論可知外切正2k×n 邊形與內(nèi)接正2k×n 邊形所對應的圓心角相等。
圖3 所示,半徑為1 的圓,點O 為圓心,周長為x。EF 是外切正2k×n 邊形的一條邊,設(shè)其長度為mk。其所對應的圓心角也是α,∠EOF=α。D 為切點。計算EF 的長度。
可知切點D 必是邊EF 的中點。
連接端點E 與圓心O,F(xiàn) 與圓心O。與圓周分別交于A,B。連接A,B 得弦AB。可知這條弦所對應的圓心角也是α。且可知AB 為內(nèi)接正2k×n 邊形的一條邊。其長度已經(jīng)知道為sk,半徑OD 與邊AB垂直,交于點C。
OD 與AB,EF 垂直,且平分AB,EF。
ΔBOC 和ΔFOD 是直角三角形,且直角ΔBOC 和直角ΔFOD 為相似直角三角形。
來熟悉一下mk。
s0=1,
外切正2k×6 邊形的周長記為Lm(k),Lm(k)=2k×6 ×mk,與圓的周長有不等式x <Lm(k)成立。
對任意的k≥0,有以下不等式成立:
Ls(k)<x <Lm(k)。
重復一下前面的結(jié)果。這個結(jié)果將作為新的出發(fā)點。
對任意的k≥0,有不等式6 ×2k×sk<x <6 ×2k×mk,成立。
如何通過這個不等式計算圓周率,或估計圓周率是本文的重點。
為了計算Ls(k)和Lm(k),我們得計算出sk,即及mk即sk,mk準確值是計算不出來的,計算機也不行。只能對sk,mk作近似計算,就是保留小數(shù)。然后再以這些近似值為依托對圓周率進行計算或估計。
以計算Ls(11),Lm(11),保留小數(shù)點后14 位數(shù),為例。
先求出D1或其近似值。
為此筆者采用一個特殊的計算辦法,這個辦法的好處在于對結(jié)果可以做大小分析比較。具體如下:
對D1即進行近似計算,保留小數(shù)點后14 位,將小數(shù)點后第15 位及第15 位之后的數(shù)全部舍去。把D1的這個近似值記為可知成立。
再求D1另一個近似值。重復得到的過程。在得到之后,在的小數(shù)點后第十四位上加1。把D1的這個近似值記為可知成立。
在以后的計算中要經(jīng)常做這個操作,為簡化敘述不妨定義兩個函數(shù)C,A:
?x >0,
C(x)=[x×1014]÷1014,[]是取整函數(shù)。
A(x)=[x×1014+1]÷1014,[]是取整函數(shù)。
顯然A(x),C(x)都是x 的近似值,
C(x)≤x <A(x),
且A(x)-C(x)=10-14
再來計算D2的近似值。并不是直接調(diào)用那兩個近似函數(shù)。
這樣在計算D1,D2,……D11,D12的過程中我們得到了他們的兩組近似值
證明當然可以,但見表1 更方便:
表1 每個Dk 的兩個近似值
計算 S11:
再來計算m11。
所以圓周率介于3.14159260127232 與3.14159276408833 之間。
K=11 yx=14 時,C(pi)=3.14159260127232 A(pi)=3.14159276408833
K=11 yx=15 時,C(pi)=3.141592613302271 A(pi)=3.141592722665472
K=11 yx=16 時,C(pi)=3.1415926186401792 A(pi)=3.1415927213150207
K=11 yx=17 時,C(pi)=3.14159261864073213 A(pi)=3.14159272131403755
K=11 yx=18 時,C(pi)=3.141592618640787648 A(pi)=3.141592721314026004
當K=12 時,需計算D12*和D13#。
K=12 yx=14 時,Cpi=3.14159247986688 Api=3.14159274590209
K=12 yx=15 時,Cpi=3.141592623968255 Api=3.141592676327424
K=12 yx=16 時,Cpi=3.1415926453211140 Api=3.1415926709919745
K=12 yx=17 時,Cpi=3.14159264532111359 Api=3.14159267098976258
K=12 yx=18 時,Cpi=3.141592645321211740 Api=3.141592670989541424
由以上結(jié)果可以得出祖沖之的結(jié)論。即圓周率介于朒數(shù)3.1415926 與盈數(shù)3.1415927 之間。
筆者在計算時用的是計算機。那么離了計算機還能做嗎?筆者用了40 分鐘完成了對D1,即的近似計算,得到D1#。用了90 分鐘計算了保留小數(shù)都是到第15 位,也就是說,對第15 位小數(shù)做了如上所述的近似處理。其它的Dk#的計算量也不會比D2#大。所以祖沖之的朒數(shù),盈數(shù)可以用紙和筆,通過計算得到。計算時,若保留的小數(shù)少于15 位,就得不到祖沖之的結(jié)果。
借助計算機,在更多情況下筆者計算了圓周率的上下界所對應的值。但都不能對圓周率的估計多精確一位,即到第8 位。應是方法所限。祖沖之也沒能給一個更精確地結(jié)果。也許我們的方法有共同之處。
用以上方法需進行28 次近似計算。在每次計算中保留小數(shù)多于15 位少于20 位;其中27 次開方運算、一次除法運算,再加2 次勿需近似處理的乘法運算就可得到祖沖之的那兩個數(shù)和結(jié)論,即圓周率介于朒數(shù)3.1415926 及盈數(shù)3.1415927 之間。
來研究一下上限和下限的差值:
一個視覺很好的式子。除了能預測上下限的差趨于零之外,筆者不知別的用處。
隋書記載“…又設(shè)開差冪,開差立,兼以正圓參之。指要精密。算實之最者也”。我也許是在亂解釋這段話。在上面式子中出現(xiàn)了,sk,是不是“開差冪”:是不是“開差立”;用代換mk3時是不是把邊長mk放到整個圓上考慮的。計算結(jié)果表明上下界的差越來越小,所以以此法估計的圓周率也就越來越精密。
在計算中兩個近似函數(shù)A(x)、C(x)被頻繁使用。這兩個函數(shù)與和我國古代數(shù)學中的盈肭兩字的含義是一致的。借一道數(shù)學應用題來說明。這個應用題來自《算法統(tǒng)宗》第三部分卷十盈肭章。是第一道練習題:
“盈肭第一題:問醵金購物。每人出銀五兩盈六兩,每人出銀三兩不足四兩,問人數(shù),物價各若干?”
有十道這樣類似的題??梢钥闯鲇菃栴}實際上是“多點、少點的問題”
A(x)比x 多點,C(x)比x 少點。
稱3.1415926 為朒數(shù),3.1415927 為盈數(shù)是偶然的嗎?還是祖沖之在計算過程中經(jīng)常用到盈肭概念呢?
筆者用祖沖之所具備的數(shù)學知識計算出了他的結(jié)果,說明祖沖之的結(jié)果應該是他計算出來的,而根本不用一點測量。計算的工作量也不大。
以上就是筆者得到朒數(shù)和盈數(shù)的方法和過程。限于本人水平,恐怕文章中會有錯誤。若發(fā)現(xiàn),歡迎批評指正。
再謹借此機會向關(guān)心幫助此文的各方友人,學者表示感謝。
[1]華羅庚.從祖沖之的圓周率談起[M].北京:科學出版社,2002
[2]王海坤,葛麗.祖沖之是怎樣計算圓周率的[J].數(shù)學通訊,2013,(4)
[3]曲安京.祖沖之是怎樣得到圓周率π=355/113 的[J].自然辯證法通訊,2002,(3)
[4]王青建.祖沖之的影響與現(xiàn)代數(shù)學史教育[J].數(shù)學教育學報,2001,(2)