早期歷史
中世紀
16至19世紀
20世紀
21世紀
比較不準確的近似值
值得注意的是,一些法律或歷史文本欲「定義π」為有理數,尤其是1897年的「印第安納州法案」,指明「直徑和圓周比例為四分之五比4(暗示「π= 3.2」);和希伯來聖經中的一個段落,暗示「π= 3」。
聖經估算的價值
印第安納州法案
計算圓周率近似值的方程的發展
梅欽類公式(Machin-like formulae)
其他古代公式
現代公式
二進制數位公式
π和一個碎形
多方面的近似值
在古代,人們使用60進制來計算。在60進制中,π能被準確至小數點後八位(十進制),而這數字是3:8:29:4460,即是:
(下一個60進制的數位為0)
除此之外,π的近似值還能以以下方式表示:
- [1]
- [2]
- 這是拉馬努金提出的,拉馬努金說他在夢中收到印度神Namagiri的啟示。[3]
- [4]
圓形的面積
可以通过蒙特卡洛方法来计算圆周率。
以原点(0, 0)为圆心,画一个半径为的圆。然后以原点为中心,画一个边长为的正方形。圆和正方形内切。
圆的面积为,正方形的面积为。
于是有,。
通过生成0到r之间随机数作为一个点的横纵坐标,所有点均落在正方形内。
通过统计圆内的点数与总点数,。
当随时点的数目增加时,所得结果会越接近于圆周率。
但是该方法也有不足之处。具体可参考蒙特卡洛方法。
以正多邊形來計算π的值
連分數
π的連分數表示式是[3; 7, 15, 1, 292, 1, 1, ...]。這連分數沒有任何模式。π有很多用一條簡單的規矩然製成的廣義連分數
(其他連分數能在這裡(页面存档备份,存于互联网档案馆)查看。)
三角函數
莱布尼茨公式
反正切
反正弦
薩拉明 - 布倫特公式
計算任意數位的方法
在1995年,西蒙·普勞夫發現了贝利-波尔温-普劳夫公式。這公式能在16進制中計算pi的任意數位,而不用計算之前的數位。[5]
在1996年,西蒙·普勞夫發明了一個公式,能在O(n3log(n)3)的時間之內計算出pi在任意進制的第n個數位[6]。在1997年,法布里斯·贝拉發明了另一個公式,把計算所需時間縮短至O(n2)。他又發明了在2進制計算pi的公式。[7]
有效的方法
在1961年,丹尼爾柄和他的團隊在美國海軍研究實驗室計算了π的前100,000數位。
他和他的團隊使用了兩個不同的幂級數來計算π的數值。第一個幂級數中,任何錯誤都會造成一個比較高的數值;而另一個中,任何錯誤都會造成一個比較低的數值。所以如果兩個幂級數計算出同樣的數值,那個數值就肯定正確。美國海軍研究實驗室發放了π的前100,000數位。
但是以上的兩個幂級數也要很長的時間才能計算出結果。相反地,約翰·梅欽的公式與反正切的泰勒级数一起使用則能很快地計算結果:
使用複數的極坐標系便能證實這公式,以以下的數學式開始:
這類的公式被稱為梅欽類公式。(注意,{ x,y} = {239, 132}是佩爾方程「x2-2y2 = -1」的其中一個解答。)
印度數學家斯里尼瓦瑟·拉马努金發現了π的很多其他表示方式。他與戈弗雷·哈罗德·哈代一起工作了很多年。
如果要計算π小數點後很多位,計算者通常會使用高斯-勒让德算法,波尔温公式,和1976年發明的薩拉明 - 布倫特公式。
π和1/π的小數點後首十萬位能在古腾堡计划裡查閱(參見#外部連結)。
在2002年12月,在東京大學進修的金田康正發放了π小數點後1,241,100,000,000位的值,創造了新的世界記錄。他在2002年9月以六十四部日立的超級電腦計算出這值。這些電腦有1TB的記憶體,而且能在每秒執行2兆次運算。上一個記錄(21億位)所使用的電腦每秒只能執行1兆次運算。金田康正使用了以下公式:
- K. Takano (1982).
- F. C. W. Störmer (1896).
這些近似值由於有太多數位,所以沒有實際用途,只是用來測試超級電腦。
在1997年,大衛·貝利(David H. Bailey)、皮特·波爾溫和西蒙·普勞夫發佈了一條新的公式來計算π的值:
這公式能在不知道前k - 1數位的值之下,在2進制或16進制中計算出π的第k個數位的值。貝利的網頁(页面存档备份,存于互联网档案馆)包含了計算方法,而且把方法以幾個程式語言記下。PiHex計算出π小數點後一兆數位的值。
法布里斯·贝拉推出了贝利-波尔温-普劳夫公式的改良版——貝拉公式:
還有其他計算π的值的公式:
- 牛頓
- 斯里尼瓦瑟·拉马努金
拉馬努金的公式收歛的速度異常地快,這公式後來在2000年演變成最快的公式:
- David Chudnovsky和Gregory Chudnovsky.
關於圓周率近似值的計劃
計算圓周率近似值的軟件
General purpose
大多数计算机代数系统可以计算出π和其他常见的数学常数到任何所需的精度。
计算π的功能中还包括许多通用库任意精度算术运算,例如CLN和MPFR。
參考資料