圆周率近似值

来自testwiki
跳转到导航 跳转到搜索

Template:多個問題 Template:See also Template:NoteTA

近代圓周率近似值的發展
古代圓周率近似值的發展

Template:Pi box

几个文明古国均在歷史早期就计算出了较精确的π的近似值以便于處理生产的需要。公元5世纪时,中國劉宋数学家祖冲之用几何方法将圆周率计算到小数点后7位数字。大约同一时间,印度的数学家也将圆周率计算到小数点后5位。历史上首个π的精确无穷级数公式(即π的莱布尼茨公式)直到约1000年后才由印度数学家发现。[1][2]微積分的出現,很快地將π的計算位數推至數百位,足以滿足任何科學工程的計算需求。在20和21世纪,由于计算机技术的快速发展,借助计算机的计算使得π的精度急速提高。截至2021年8月,π十进制精度已高达6.28×1013位。[3]当前人类计算π的值的主要目的是为打破记录、测试超级计算机的计算能力和高精度乘法算法,因为几乎所有的科学研究对π的精度要求都不会超过几百位。[4]Template:Rp[5]

近似值

經典近似值

其他进位制的近似值

连分式

和所有无理数一样,π也无法表達成分数。但每个无理数包括π,都能表達成一系列叫连分数的连续分数形式:

π=3+17+115+11+1292+11+11+11+

在这个连分数的任意一点截断化简,都能得到一个Template:Pi的近似值;前四个近似值是:3,227333106355113。这些数在历史上是π最广为人知且广為使用的几个近似值。用以上方式得出的π的近似值要比任何有相同或更小的整数分母的其他整数分数近似值更接近Template:Pi[6]由于π是一个超越数,据超越数定义来说它不是代數數,又因此不可能是一个二次無理數;是故π不能表示为循环连分数。尽管π的简单连分数没有表现出任何其他明显规律,[8]数学家们發現了数个广义连分数能表示π,例如:[9]

π=41+122+322+522+722+922+=3+126+326+526+726+926+=41+123+225+327+429+

歷史

Template:See also

遠古時期

Template:Who

最早有記載的对圓周率估值在古埃及古巴比倫出现,而它們兩個文明古国估值都与圆周率的「精確值」相差不到百分之一,可說已是非常精準。

有不少埃及學家認為古埃及遠至古王國時期時期,古埃及人已經會用227作為計算圓周率的近似值[10]Template:NoteTag,但這個說法受到了質疑。[11][12][13][14]

古巴比倫曾出土一塊前19世纪前16世纪泥板,泥板上顯示了人们当时把圓周率視同258,即等於3.125。[4]Template:Rp

古埃及莱因德数学纸草书,是古埃及第二中间期时代(约前1650年)由僧侣阿姆士在纸草上抄写的一部数学著作,鉴定撰寫年份為公元前1650年,但抄自一份公元前1850年的文本。它載有用作計算圓面積的公式,该公式中圓周率近似值等于(169)2,約等於3.1605。[4]Template:Rp

其中,古埃及莫斯科数学纸草书,也有載有用作計算圓面積的公式,圓周率近似值等于(169)2,約等於3.1605。。

印度

公元前9世紀的《Template:Link-en》中的天文學運算把339108,約等於3.139,精确到99.91%,用作圓周率估值[15]

公元前6世紀儀軌經當時採用的值是(97855568)2,約等於3.0883265。[16]

而某些公元前150年前的其他印度文獻把圓周率視為10(約等於3.1622)[4]Template:Rp

圖中有圓的外切五邊形、內接五邊形、外切六邊形及內接六邊形
Template:Pi可以透過計算圓的外切多邊形及內接多邊形周長來估算

第一個有紀錄、嚴謹計算Template:Pi數值的演算法是透過正多邊形的幾何算法,是由希臘數學家阿基米德在西元前250年做的。[4]Template:Rp

這個算法使用了有一千年之久,因而有時Template:Pi亦稱阿基米德常數。[4]Template:Rp

阿基米德的算法是在計算圓的外切正六邊形及內接正六邊形的邊長,以此計算π的上限及下限,之後再將六邊形變成十二邊形,繼續計算邊長,一直計算到正96邊形為止。他根據多邊形的邊長證明22371<π<227,也就是3.1408<π<3.1429[17]

阿基米德得到的上限227也造成一個常見誤解,認為π就等於227[4]Template:Rp

希臘羅馬的科學家克劳狄乌斯·托勒密在《天文学大成》一書中提到Template:Pi的數值是3.1416,可能來自阿基米德,也可能來自阿波罗尼奥斯[4]Template:Rp[18]

數學家在1630年利用多邊形的方式計算Template:Pi到第39位小數,一直到1699年,其他數學家才利用無窮級數的方式打破其紀錄,計算到第71位小數[19]

獨自研究圖形的阿基米德
阿基米德發展了用多邊形近似Template:Pi的計算方式

中國

中国历史上,π的數值有3[20]、3.1547(公元前一世紀)、10(公元前100年,數值約3.1623)及14245(第三世紀,數值約3.1556)[4]Template:Rp

公元5年,漢朝劉歆可能計算了圓周率3.1457。[21]

而一百年後,約公元130年,张衡計算了圓周率近似值10,即約等於3.1622777。[22]

克劳狄乌斯·托勒密,也計算了圆周率近似值為377120,也即是3.1416Template:Frac

第一個已知的精確到小數點後三位的近似值正是托勒密做的。[23]

這個3+8/60+30/602正可用兩個六十進制數字表示。

中國

王蕃通曉天文數學。撰有《渾天圖記》、《渾天象注》。曾根據渾天說和長期的天象觀察,精心製作渾天儀。

他計算了圆周率近似值為14245,也即是3.15

大約在公元265年,魏國的數學家刘徽創立了割圆术,用3,072邊的正多邊形計算出Template:Pi的數值為3.1416。[24][4]Template:Rp

刘徽後來又發明了一個較快的算法,利用邊數差兩倍的正多邊形,其面積的差值會形成等比數列,其公比為14的原理,配合96邊形3.141024<π<3.142074算出π的數值為3.14。[24]

何承天调日法

何承天亦对圆周率进行研究,他创立了调日法,计算出圆周率近似值为Template:Sfrac,也即約等於3.1429,准确至小数点后2位[25]

Template:Main

据《隋书·律曆志》[26]记载,祖沖之以「以直徑一億為一丈,圓周盈數三丈一尺四寸一分五厘九毫二秒七忽,朒數三丈一尺四寸一分五厘九毫二秒六忽,正數在盈朒二限之間。密率,圓徑一百一十三,圓周三百五十五。約率,圓徑七,週二十二。」,以此为直径求圆周率,求得盈数(即过剩的近似值)为3.1415927;肭数(即不足的近似值)为3.1415926,圆周率的真值介于盈肭两数之间。

《隋书》没有具体说明祖冲之是用什么方法计算出盈肭两数的。一般认为,祖冲之采用的是刘徽割圆术分割到24576边形,又用刘徽圆周率不等式得祖冲之著名的圆周率不等式: 3.1415926<π<3.1415927

祖冲之的这一结果精确到小数点后第7位,直到一千多年后才由15世纪的阿拉伯数学家阿尔·卡西以17位有效数字打破此记录[27]

按照当时计算使用分数的习惯,祖冲之还采用了两个分数值的圆周率:“约率”227(或称之为“疏率”Template:NoteTag)以及“密率”355113=3.141592920354。在分母<16600的所有整分数中,密率的比值最接近圆周率Template:NoteTag。祖冲之可能利用何承天调日法求得圆周率的约率和密率[28]。数学家华罗庚曾认为密率的求得,说明祖冲之可能已经掌握了连分数的概念。

日本数学家三上义夫说,“约率π=227,无非是几百年前希腊数学家阿基米德已经得到的数值,但是π=355113 这个分数,却是翻遍古希腊,古印度和阿拉伯的数学文献都找不到的分数,希腊人肯定不知道它;在欧洲直到1586年才由荷兰人安托尼斯宗(Adriaan Anthoniszoon)求出了355113这个比值。因此,中国人掌握这个非凡的圆周率分数比欧洲早出整整一千年之久”。为纪念这位伟大的中国古代数学家,三上义夫要求把355113称为“祖率”[29]

祖冲之在公元480年利用割圆术計算12,288形的邊長,得到π的值在3.1415926和3.1415927之间。在之後的八百年內,這都是準確度最高的Template:Pi估計值。[4]Template:Rp為紀念祖沖之對圓周率發展的貢獻,日本數學家三上義夫將這一推算值命名為“祖沖之圓周率”,簡稱“祖率”。[30]

印度

印度天文學家阿耶波多在公元499年的著作《阿里亚哈塔历书》中使用了3.1416的數值。[4]Template:Rp

計算出出10,也即約等於3.1622777。

斐波那契在大約1220年利用獨立於阿基米德多邊形法,計算出3.1418[4]Template:Rp

義大利作家但丁·阿利吉耶里則計得3+2103.14142[4]Template:Rp

波斯的卡西

波斯天文學家卡西在1424年利用3×228邊的多邊形,計算到六十進制的第9位小數,相當十進制的第16位小數。[31][32]這一突破成為當時的紀錄,延續了約180年。[33]

法國的數學家弗朗索瓦·韦达在1579年用3×217邊形計算到第9位小數[33]

阿德里安·范·羅門在1593年計算到第15位小數[33]

荷蘭數學家鲁道夫·范·科伊伦在1596年計算到第20位小數,他之後又計算到第35位小數,因此在二十世紀初之前,圓周率在德國會稱為鲁道夫數。[4]Template:Rp

荷蘭科學家威理博·司乃耳在1621年計算到第34位小數[4]Template:Rp

奧地利的Template:Tsl

奧地利天文學家Template:Tsl在1630年用1040邊形計算到第38位小數[34],至今這仍是利用多邊形算法可以達到最準確的結果[4]Template:Rp

無窮級數

Template:Main Template:Comparison pi infinite series.svg

16世紀及17世紀時,π的計算開始改用無窮级数的計算方式。無窮级数是一組無窮數列的和[4]Template:Rp

無窮级数讓數學家可以計算出比阿基米德以及其他用幾何方式計算的數學家更準確的結果。[4]Template:Rp

雖然詹姆斯·格雷果里戈特弗里德·莱布尼茨等歐洲數學家利用無窮數列計算Template:Pi而使得该方法为大家所知,但这种方法最早是由印度科學家在大約1400到1500年之間發現的。[4]Template:Rp[35]第一個记载的用無窮级数計算Template:Pi的人是约公元1500年左右时,印度天文學家Template:Link-en在他的著作《Template:Tsl》中用梵語詩所記錄。[36]當時沒有這個數列對應的證明,而證明出現在另一本較晚的印度作品《Template:Tsl》,年代約在公元1530年。尼拉卡莎將該數列歸功於更早期的印度數學家Template:Link-en( 1350 –  1425)。[36]有許多相關的無窮级数,包括有關sintancos的,現在稱為Template:Link-enπ的莱布尼茨公式[36]。瑪達瓦在1400年用無窮级数計算Template:Pi到第11位小數,但在1430年一位波斯數學家卡西利用多邊形算法否定了他算的的結果[37]

長髮艾萨克·牛顿的畫像
艾萨克·牛顿利用無窮级数計算Template:Pi到第15位,後來寫道:「我很羞愧的告訴你我為了這個計算用了多少個數字。」[38]

歐洲第一個發現的無窮項圓周率公式無窮乘積(和一般用來計算Template:Pi的無窮級數不同),由法國科學家弗朗索瓦·韦达在1593年發現[4]Template:Rp[39]

2π=222+222+2+22

約翰·沃利斯在1655年發現了沃利斯乘积,是歐洲第二個發現的無窮項圓周率公式[4]Template:Rp

π2=2123434565678789

微积分学是由英國科學家艾萨克·牛顿及德國數學家戈特弗里德·莱布尼茨在1660年代發明,因此也出現許多計算Template:Pi的無窮級數。牛頓自己就利用反正弦arcsin)數列在1655年或1666年將Template:Pi近似到第15位小數,後來寫到「我很羞愧的告訴你我為了這個計算用了多少個數字,我當時沒有做其他的事。」[38]

蘇格蘭數學家詹姆斯·格雷果里在1671年發現了馬德哈瓦公式,莱布尼茨也在1674年發現:[4]Template:Rp[40]

arctanz=zz33+z55z77+

這個公式即為格雷果里-莱布尼茨公式,在z=1時數值為π4[40]1699年時英國數學家亚伯拉罕·夏普用格雷果里-莱布尼茨公式,在z=13時計算,計算到了π的第71位小數,打破由多邊形算法得到的第39位小數的记录。[4]Template:Rp格雷果里-莱布尼茨公式在z=1時非常簡單,但收斂到最終值的速度非常慢,因此現在不再会用此公式來計算π[4]Template:Rp

約翰·梅欽在1706年利用格雷果里-莱布尼茨級數產生了一個可以快速收斂的公式:[4]Template:Rp

π4=4arctan15arctan1239

梅欽用這個公式計算到π的第100位小數[4]Template:Rp後來其他數學家也發展了一些類似公式,現在稱為梅欽類公式,創下了許多計算π位數的記錄。[4]Template:Rp在進入電腦時代時,梅欽類公式仍然是个耳熟能详的可以計算π的公式,而且在约250年的时间里,很多有關π位數的記錄都是梅欽類公式所得,比如在1946年時由達尼爾·弗格森(Template:Lang)用這類公式計算到第620位小數,是在沒有計算設備輔助下的最佳紀錄。[4]Template:Rp

1844年,計算天才Template:Tsl在德國數學家卡爾·弗里德里希·高斯的要求下以梅欽類公式心算了π的200個小數位,並創下紀錄。[4]Template:Rp英國數學家Template:Tsl花了15年的時間計算Template:Pi到小數707位,不過中間在第528位小數時出錯,因此後面的小數也都不正確。[4]Template:Rp

收敛速度

有些Template:Pi的無窮級數收斂的比其他級數要快,數學家一般會選用收斂速度較快的級數,可以在較少的計算量下計算π,且達到需要的準確度[41][4]Template:Rp。以下是Template:Pi莱布尼茨公式[4]Template:Rp

π=4143+4547+49411+413

隨著一項一項的值加入總和中,只要項次夠多,總和最後會慢慢接近π。不過此數列的收斂速度很慢,要到500,000項之後,才會精確到π的第五小數[42]

尼拉卡莎在15世紀發展了另一個π的無窮級數,其收斂速度較格雷果里-萊布尼茨公式要快很多,該級數為:[43]

π=3+42×3×444×5×6+46×7×848×9×10+

以下比較二個級數的收斂速率:

π的無窮級數 第1項 前2項 前3項 前4項 前5項 收斂到:
π=4143+4547+49411+413. 4.0000 2.6666... 3.4666... 2.8952... 3.3396... Template:Pi = 3.1415...
π=3+42×3×444×5×6+46×7×8. 3.0000 3.1666... 3.1333... 3.1452... 3.1396...

計算前5項後,格雷果里-萊布尼茨級數的和跟π的誤差為0.2,而尼拉卡莎級數和的誤差為0.002。尼拉卡莎級數收斂的快很多,因此也比較適合用來計算π的數值。收斂更快的級數有梅欽類公式楚德诺夫斯基算法,後者每計算一項就可以得到14位正確的小數值數[41]

计算机时代与迭代算法

一位穿著西裝男士的照片
约翰·冯·诺伊曼所在的團隊是第一個用數位計算機ENIAC來計算Template:Pi

Template:Quote box

二十世紀中期计算机技术的发展、革新再次引发了計算Template:Pi位數的熱潮。美國數學家约翰·伦奇及李維·史密斯在1949年利用桌上型計算機計算到1,120位[4]Template:Rp。同年,喬治·韋斯納(George Reitwiesner)及约翰·冯·诺伊曼帶領的團隊利用反三角函数(arctan)的無窮級數,通过ENIAC計算到了小數第2,037位,花了70小時的電腦工作時間[44]。這一紀錄後來多次由其他透過arctan級數计算出的結果打破(1957年到7480位小數,1958年到第一萬位數,1961年到第十萬位小數),直到1973年,人们计算出了小数点后的第一百萬位小數[4]Template:Rp

1980年代的两项發明加速了π的計算。第一项是人们發现了新的的迭代法去计算Template:Pi的值,其計算速度比無窮級數會要快很多。另一项是人们發现了可以快速計算大數字乘積的乘法演算法[4]Template:Rp。這類演算法在現代Template:Pi的計算上格外的重要,因為電腦大部分的工作時間都是在計算乘法[4]Template:Rp。這類演算法包括Karatsuba算法Toom–Cook乘法及以傅里叶变换為基礎的乘法演算法(傅里叶乘法)[4]Template:Rp

迭代演算法最早是在1975年至1976年间分别由美國物理學家Template:Le及奧地利科學家Template:Le独立提出[4]Template:Rp。這两个演算法没有依赖無窮級數來計算。迭代會重覆一個特定的計算,将前一次的計算結果作为這一次的輸入值,使得計算結果漸漸的趨近理想值。此方式的原始版本其實是在160年前由卡爾·弗里德里希·高斯提出,現在稱為算术-几何平均数算法(AGM法)或高斯-勒让德算法[4]Template:Rp。因為薩拉明及布蘭特都曾对此進行修改,因此这个算法也稱為薩拉明-布蘭特演算法。

迭代演算法因為收斂速度比無窮級數快很多,在1980年代以後廣為使用。無窮級數隨著項次的增加,一般來說正確的位數也會增加幾位,但迭代演算法每多一次計算,正確的位數會呈几何级数增长。例如薩拉明-布蘭特演算法每多一次計算,正確位數會是之前的二倍。1984年加拿大人Template:TslTemplate:Tsl提出一個迭代演算法,每多一次計算,正確位數會是之前的四倍,1987年時有另一個迭代演算法,每多一次計算,正確位數會是之前的五倍[45]。日本數學家金田康正使用的演算法在1955年及2002年之間創下了若干个紀錄[46]。不過迭代演算法的快速收斂也有其代價,因为这个算法需要的内存的大小明顯的要比無窮級數要多[46]

计算π的意义

當數學家發現新的算法、電腦變得普及时,Template:Pi的已知小數位急剧增加。注意垂直坐标使用了对数坐标

一般而言,π值并不需要过于精确便能够满足大部分的数学运算的需求。按照約爾格·阿恩特(Jörg Arndt)及克里斯托夫·黑內爾(Template:Lang)的计算,39個數位已足夠運算絕大多數的宇宙学的计算需求,因為這個精確度已能夠将可觀測宇宙圆周的精确度準確至一個原子大小[47]。 尽管如此,人們仍然是奋力地運算出π小数点后的上千甚至上百萬個數位[4]Template:Rp。這一部分是出于人類對打破記錄的冲动,因为那些和π有關的成就往往成為世界各地的新聞頭條[48][49]。此外,这其中也有一些實際的好處,例如測試超级计算机、測試数值分析算法等(包括Template:Tsl)。在純粹數學的领域中,计算π的位数也能让人们来评定Template:Pi的隨機性[4]Template:Rp

快速收敛级数

一位男士的肖像
斯里尼瓦瑟·拉马努金的肖像,他在印度独立工作时提出了许多新颖的计算π的数列。

现代计算π的程序不仅仅局限于迭代算法。20世纪80与90年代,人们发现了一些可用来计算π的新无穷级数,其收敛速度可与迭代算法媲美,而又有着复杂度、内存密集度更低的优势。[46]印度数学家斯里尼瓦瑟·拉马努金是这方面的先驱,他在1914年发表了许多与π相关的公式,这些公式十分新颖,极为优雅而又颇具数学深度,收敛速度也非常快。[4]Template:Rp下式即为一例,其中用到了模方程

1π=229801k=0(4k)!(1103+26390k)(k!)4(3964k).

这个无穷级数收敛速度远快于绝大多数反正切数列,包括梅钦公式。[4]Template:Rp第一位使用拉马努金公式计算π并取得进展的是Template:Tsl,他在1985年算得了小数点后一千七百万位。[4]Template:Rp拉马努金公式开创了现代数值近似算法的先河,此后波尔文兄弟和Template:Tsl进一步发展了这类算法。[4]Template:Rp后者于1987年提出了楚德诺夫斯基公式,如下所示:

1π=126403203/2k=0(6k)!(13591409+545140134k)(3k)!(k!)3(640320)3k.

此公式每计算一项就能得到π的约14位数值[50],因而用於突破圆周率的数位的计算。利用这个公式,楚德诺夫斯基兄弟于1989年算得π小数点后10亿(109)位,法布里斯·贝拉于2009年算得2.7千亿(2.7×1012)位,亚历山大·易和近藤滋在2011年算得一万亿(1013)位。[4]Template:Rp[51][52]类似的公式还有Template:Tsl

2006年,加拿大数学家西蒙·普勞夫利用PSLQTemplate:Tsl[53]按照以下模版生成了几个计算π的新公式:

πk=n=11nk(aqn1+bq2n1+cq4n1),

其中q为[[E的π次方|Template:Mathπ]],k是一个奇数a,b,c是普勞夫计算出的有理常数。[54]

蒙特卡洛方法

Template:Multiple image 蒙特卡洛方法是以概率统计理论为指导的一类非常重要的数值计算方法,通过进行大量重复试验计算事件发生的频率,按照大数定律(即当试验次数充分大时,频率充分地接近于概率)可以求得π的近似值[55]布豐投針問題就是其中一个应用的例子:当一枚长度为l的针随机地往一个画满间距为t(lt)的平行线的平面上抛掷n次, 如果针与平行直线相交了m次,那么当n充分大时就可根据以下公式算出π的近似值[56]

π2nmt

另一个利用蒙特卡罗方法计算π值的例子是随机地往内切四分之一圆的正方形内抛掷大量的点,落在四分之一圆内的点的数量与抛掷点的总量的比值会近似等于π4.[4]Template:Rp[57]


此外,还可以通过进行随机游走试验,并利用蒙特卡罗方法计算π值,如抛掷一枚均匀的硬币N次,并记录正面朝上的次数,所得结果中,正面朝上的次数nN服从二項分佈

Pr(nN=m)=(Nm)(12)m(12)Nm

因为硬币均匀,所以Template:Math次试验中每次试验结果相互独立。由此可定义一系列独立的随机变量Xk(k=1,2,),当抛掷结果为正面时Xk=1否则为-1,且Xk=±1且取何值具有相同的概率(即,正面朝上和背面朝上的概率相同)。对随机变量Xk(k=1,2,,N)求和可得

WN=k=1NXk

Template:Math为“硬币正面朝上的次数”减去“硬币反面朝上的次数”,即可得到m(Nm)=k。对式子进行变换,得m=N+k2,因此

Pr(WN=k)=(NN+k2)12N,其中k=N,N+2,N+4,,N2,N

可以证明[58]

E(WN)=0E(WN2)=N,以及E(|WN|)=(NN/2N/22N1)={(N1)!!(N2)!!,若 N偶 ,N!!(N1)!!,若 N奇 .

并且当N变大时,E(|WN|)的值会渐近于2Nπ,因此当N充分大时可根据以下公式算出π的近似值:[59]

π2N|WN|2

和其他计算π值的方法相比,蒙特卡洛方法收敛速度很慢,而且无论进行多少次实验,都无从得知π的估值已经精确到了第几位。因此,当追求速度或精度时,蒙特卡洛方法不适合用来估计π[4]Template:Rp[60]

阀门算法

1995年引入的兩個算法开辟了研究π的新途径。因为每计算出一位数字,該數就会像流过阀门的水一样不会再出现在后续的计算过程中,这种新進算法叫做Template:Le[4]Template:Rp[61]这就与无穷级数及迭代算法形成对比——无穷级数和迭代算法自始至终的每一步计算都会涉及到之前所有步骤计算出的中间值。[4]Template:Rp

1995年,美國數學家Template:Link-en和斯坦利·拉比諾維茨(Template:Lang)发明了一种簡單的阀门算法[61][4]Template:Rp[62],其運算速度類似arctan演算法,但速度比迭代算法要慢[4]Template:Rp

贝利-波尔温-普劳夫公式(BBP)是另一個阀门算法,屬於一种Template:Tsl。1995年,西蒙·普勞夫等人發現[4]Template:Rp[63]

π=k=0116k(48k+128k+418k+518k+6)

這個公式和其他的公式不同,可以在十六进制下計算π的任意位數小數,而不用計算所有前面的小數位數[4]Template:Rp。一个十六进制下的数位可计算得到特定一个二进制的数位;想要得到一个八进制数位的话,计算一、两个十六进制小數即可。目前也已發現一些這種演算法的變體,不過人们還沒有发现針對十進制、可以快速產生特定位數小數數字的位數萃取演算法[64]。位數萃取演算法的一個重要用途是用來確認聲稱是計算到π小數位數的新記錄:若有聲稱是新紀錄的計算結果出現,先將十進制的數值轉換到十六進制,再用贝利-波尔温-普劳夫公式,去確認最後的一些位數(用亂數決定),若這些位數都對,人们就能有一定把握认为此計算結果是对的[52]

在1998年到2000年之間,分布式计算計畫Template:Tsl利用貝拉公式(贝利-波尔温-普劳夫公式的一種變體)計算π的第1015個位,結果是0[4]Template:Rp[65]。在2010年9月,一名雅虎員工利用公司的Apache Hadoop應用程式在上千台電腦上計算π在2×1015個数位开始,往后数的256個位,其第2×1015個位剛好也是0[66]

趣聞

值得注意的是,一些法律或歷史文本欲「定義π」為有理數,尤其是1897年的「印第安納州法案」,指明「直徑和圓周比例為四分之五比4(暗示「π= 3.2」);和希伯來聖經中的一個段落,暗示「π= 3」。

聖經估算的價值

印第安納州法案

Template:Main

計算圓周率近似值的方程的發展

梅欽類公式(Machin-like formulae)

其他古代公式

現代公式

二進制數位公式

Template:Pi和一個碎形

多方面的近似值

在古代,人們使用60進制來計算。在60進制中,Template:Pi能被準確至小數點後八位(十進制),而這數字是3:8:29:44Template:Sub,即是:

3+860+29602+44603=3.14159 259+

(下一個60進制的數位為0)

除此之外,Template:Pi的近似值還能以以下方式表示:

  • 準確至3位:
2+3=3.146+
  • 準確至4位:
7+6+5=3.1416+[67]
  • 準確至4位:
313=3.1413+[68]
95+95=3.1416+
  • 準確至5位:
7749=3.14156+
  • 準確至7位:
355113=3.14159 29+
980122062=3.1415927+
前述無窮級數僅取第1項即得
  • 準確至9位:
34+24+12+(23)24=2143224=3.14159 2652+
這是拉馬努金提出的,拉馬努金說他在夢中收到印度神Namagiri的啟示。[69]
  • 準確至10位:
6325×17+1557+155=3.14159 26538+
  • 準確至10位:
1010011222.11122193=3.14159 26536+
  • 準確至18位:
8015(54+5389)323308(54+5389)389[70]
  • 準確至30位:

圓形的面積

可以通过蒙特卡洛方法来计算圆周率π

以原点(0, 0)为圆心,画一个半径为r的圆。然后以原点为中心,画一个边长为2r的正方形。圆和正方形内切。

圆的面积为A1=π*r2,正方形的面积为A2=(2r)2=4r2

于是有,A1/A2=π/4

通过生成0到r之间随机数作为一个点的横纵坐标,所有点均落在正方形内。

通过统计圆内的点数Ninside与总点数Ntotalπ=4*A1/A2=4*Ninside/Ntotal

当随时点的数目增加时,所得结果会越接近于圆周率。

但是该方法也有不足之处。具体可参考蒙特卡洛方法

以正多邊形來計算Template:Pi的值

連分數

Template:Pi連分數表示式是[3; 7, 15, 1, 292, 1, 1, ...]。這連分數沒有任何模式。Template:Pi有很多用一條簡單的規矩然製成的廣義連分數

π=3+126+326+526+
π=41+123+225+327+

(其他連分數能在這裡Template:Wayback查看。)

三角函數

莱布尼茨公式

反正切

反正弦

薩拉明 - 布倫特公式

計算任意數位的方法

在1995年,西蒙·普勞夫發現了贝利-波尔温-普劳夫公式。這公式能在16進制中計算Template:Math的任意數位,而不用計算之前的數位。[71]

π=n=0(48n+128n+418n+518n+6)(116)n

在1996年,西蒙·普勞夫發明了一個公式,能在O(Template:Math3log(Template:Math)3)的時間之內計算出Template:Math在任意進制的第Template:Math個數位[72]。在1997年,法布里斯·贝拉發明了另一個公式,把計算所需時間縮短至O(Template:Math2)。他又發明了在2進制計算Template:Math的公式。[73]

π=126n=0(1)n210n(254n+114n+3+2810n+12610n+32210n+52210n+7+110n+9)

有效的方法

在1961年,Template:Link-en和他的團隊在美國海軍研究實驗室計算了Template:Pi的前100,000數位。

他和他的團隊使用了兩個不同的幂級數來計算Template:Pi的數值。第一個幂級數中,任何錯誤都會造成一個比較高的數值;而另一個中,任何錯誤都會造成一個比較低的數值。所以如果兩個幂級數計算出同樣的數值,那個數值就肯定正確。美國海軍研究實驗室發放了Template:Pi的前100,000數位。

但是以上的兩個幂級數也要很長的時間才能計算出結果。相反地,約翰·梅欽的公式與反正切泰勒级数一起使用則能很快地計算結果:

π4=4arctan15arctan1239

使用複數極坐標系便能證實這公式,以以下的數學式開始:

(5+i)4(239i)=22134(1+i).

這類的公式被稱為梅欽類公式。(注意,{ Template:Math,Template:Math} = {239, 132}是佩爾方程Template:Math2-2Template:Math2 = -1」的其中一個解答。)

印度數學家斯里尼瓦瑟·拉马努金發現了Template:Pi的很多其他表示方式。他與戈弗雷·哈罗德·哈代一起工作了很多年。

如果要計算Template:Pi小數點後很多位,計算者通常會使用高斯-勒让德算法Template:Link-en,和1976年發明的薩拉明 - 布倫特公式

Template:Pi1/Template:Pi的小數點後首十萬位能在古腾堡计划裡查閱(參見#外部連結)。

在2002年12月,在東京大學進修的金田康正發放了Template:Pi小數點後1,241,100,000,000位的值,創造了新的世界記錄。他在2002年9月以六十四部日立超級電腦計算出這值。這些電腦有1TB的記憶體,而且能在每秒執行2兆次運算。上一個記錄(21億位)所使用的電腦每秒只能執行1兆次運算。金田康正使用了以下公式:

π4=12arctan149+32arctan1575arctan1239+12arctan1110443
K. Takano (1982).
π4=44arctan157+7arctan123912arctan1682+24arctan112943
F. C. W. Störmer (1896).

這些近似值由於有太多數位,所以沒有實際用途,只是用來測試超級電腦。

在1997年,大衛·貝利(Template:Link-en)、Template:Link-en西蒙·普勞夫發佈了一條新的公式來計算Template:Pi的值:

π=k=0116k(48k+128k+418k+518k+6).

這公式能在不知道前Template:Math - 1數位的值之下,在2進制16進制中計算出Template:Pi的第Template:Math個數位的值。貝利的網頁Template:Wayback包含了計算方法,而且把方法以幾個程式語言記下。Template:Link-en計算出Template:Pi小數點後一兆數位的值。

法布里斯·贝拉推出了贝利-波尔温-普劳夫公式的改良版——貝拉公式

π=126n=0(1)n210n(254n+114n+3+2810n+12610n+32210n+52210n+7+110n+9)

還有其他計算Template:Pi的值的公式:

π2=k=0k!(2k+1)!!=k=02kk!2(2k+1)!=1+13(1+25(1+37(1+)))
牛頓
1π=229801k=0(4k)!(1103+26390k)(k!)43964k
斯里尼瓦瑟·拉马努金

拉馬努金的公式收歛的速度異常地快,這公式後來在2000年演變成最快的公式(楚德諾夫斯基算法):

1π=12k=0(1)k(6k)!(13591409+545140134k)(3k)!(k!)36403203k+3/2
David ChudnovskyGregory Chudnovsky.

關於圓周率近似值的計劃

計算圓周率近似值的軟件

General purpose

大多数计算机代数系统可以计算出π和其他常见的数学常数到任何所需的精度。

计算π的功能中还包括许多通用库任意精度算术运算,例如CLNMPFR

注释

Template:NoteFoot

參考資料

Template:Reflist

  1. Template:Cite book
  2. Template:Cite journal
  3. Template:Cite web
  4. 4.00 4.01 4.02 4.03 4.04 4.05 4.06 4.07 4.08 4.09 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 4.26 4.27 4.28 4.29 4.30 4.31 4.32 4.33 4.34 4.35 4.36 4.37 4.38 4.39 4.40 4.41 4.42 4.43 4.44 4.45 4.46 4.47 4.48 4.49 4.50 4.51 4.52 4.53 4.54 4.55 4.56 4.57 Template:Harvnb
  5. Template:Citation
  6. 6.0 6.1 Template:Harvnb
  7. Template:Citation克劳狄乌斯·托勒密使用了60进制下的三位小数去近似,随后卡西将其扩展到了九位小数。参见Template:Citation
  8. Template:SloanesRef Retrieved 12 April 2012.
  9. Template:Cite journal
  10. Petrie, W.M.F. Wisdom of the Egyptians (1940)
  11. Rossi, Corinna Architecture and Mathematics in Ancient Egypt, Cambridge University Press. 2007. ISBN 978-0-521-69053-9.
  12. Legon, J. A. R. On Pyramid Dimensions and Proportions (1991) Discussions in Egyptology (20) 第25-34页 [1] Template:Wayback
  13. "We can conclude that although the ancient Egyptians could not precisely define the value of Template:Pi, in practice they used it". Template:Cite journal,第70页。
    Template:Cite journal,第30页。
    参见Template:Cite journal.
    参见Template:Cite journal
  14. Egyptologist: Rossi, Corinna, Architecture and Mathematics in Ancient Egypt, Cambridge University Press, 2004, 第60-70页,200, ISBN 9780521829540.
    对此的怀疑:Template:Tsl, The Skeptic Encyclopedia of Pseudoscience, ABC-CLIO, 2002, 第407-408页, ISBN 9781576076538.
    参见Fagan, Garrett G., Archaeological Fantasies: How Pseudoarchaeology Misrepresents The Past and Misleads the Public, Routledge, 2006, ISBN 9780415305938.
    若需要一个没有Template:Pi参与的解释的列表,请见Template:Cite book
  15. Chaitanya, Krishna. A profile of Indian culture. Template:Wayback Indian Book Company (1975). 第133页。
  16. Template:Harvnb
  17. Template:Cite web
  18. Template:Harvnb
  19. Template:HarvnbGrienberger在1630年已計算到39位小數,Sharp在1699年計算到71位小數
  20. 周髀算經》注中, 趙爽指出「圓徑一而周三,方徑一而匝四」。
  21. 《π和e》,夏道行商務印書館,第10頁,ISBN 962-07-2007-5
  22. 吴文俊主编 《中国数学史大系》 第三卷 第一编 第二节 张衡的数学研究 第5页 ISBN 7-303-04557-0/O
  23. Template:Cite web
  24. 24.0 24.1 Template:Harvnb
  25. 李儼 《中国古代数学史料》 中国科学图书仪器公司 12.《中国古代数学家》 64页
  26. Template:S
  27. 吴文俊 主编 《中国数学史大系》副卷第一卷 480页 ISBN 7-303-05292-5/O
  28. 吴文俊 主编 《中国数学史大系》第四卷 123页 ISBN 7-300-0425-8/O
  29. “We are on this account strongly urged to express a desire that it should henceforth be called by the name of Tsu Ch'ong-chih's fractional value for π” Yoshio Mikami, Development of Mathematics in China and Japan p50 1913 Leipzig
  30. Template:Cite book
  31. Template:Cite journal
  32. Template:Cite web
  33. 33.0 33.1 33.2 Template:Harvnb
  34. Template:Cite book。其計算結果是3.14159 26535 89793 23846 26433 83279 50288 4196 < Template:Pi < 3.14159 26535 89793 23846 26433 83279 50288 4199
  35. Template:Harvnb
  36. 36.0 36.1 36.2 Template:Harvnb
  37. Template:Harvnb
  38. 38.0 38.1 Template:Harvnb. 牛顿由Arndt引用。
  39. Template:OEIS2C
  40. 40.0 40.1 Template:Harvnb
  41. 41.0 41.1 Template:Cite journal
  42. Template:Cite journal
  43. Template:Harvnb, (formula 16.10). Note that (n − 1)n(n + 1) = n3 − n.
    Template:Cite book
  44. Template:Harvnb。参见 Template:Harvnb.
  45. Template:Harvnb.
    具体算法情参见Template:Harvnb
  46. 46.0 46.1 46.2 Template:Cite web
  47. Template:Harvnb“39 digits of π are sufficient to calculate the volume of the universe to the nearest atom.”(中文:39位π已经足以计算宇宙到其最近的原子的体积了。)
    鉴于人们需要一些额外的数位来解决捨入誤差的问题,阿恩特称几百位小数足以应付任何科学计算了。
  48. Template:Cite news
  49. Template:Cite news
  50. Template:Harvnb
  51. Template:Cite web
  52. 52.0 52.1 Template:Cite web
  53. PSLQ即Partial Sum of Least Squares,偏最小二乘和。
  54. Template:Cite web
  55. Template:Citation
  56. Template:Citation
  57. Template:Harvnb
  58. Template:Cite mathworld
  59. Template:Citation
  60. Template:Harvnb
  61. 61.0 61.1 Gibbons, Jeremy, "Unbounded Spigot Algorithms for the Digits of Pi" Template:Wayback, 2005. Gibbons produced an improved version of Wagon's algorithm.
  62. Template:Cite journal A computer program has been created that implements Wagon's spigot algorithm in only 120 characters of software.
  63. Template:Cite journal
  64. Template:Harvnb。普勞夫有找到十進制的位數萃取演算法,但其速度比完整計算之前所有位數要慢。
  65. Bellards formula in: Template:Cite web
  66. Template:Cite news
  67. Template:Cite web
  68. Template:Cite document.
  69. "Lost notebook page 16" ,Ramanujan
  70. Template:Cite web
  71. Template:Cite mathworld
  72. Simon Plouffe, On the computation of the n'th decimal digit of various transcendental numbers, November 1996
  73. Bellard's Website:Bellard.org Template:Wayback