@Lenciel

如何计算圆周率

Matt 这两天告诉我,既然 \(\pi\) 是一个无理数,也就是每一位没有什么规律和道理,那人究竟是怎么把它每一位是多少算出来的呢?

圆周率历来被数学史家认为是衡量一个民族古典数学文明之发达的尺度。

中国古代在很早的时候就开始使用「周三径一」的圆周率, 也就是取圆周率为 3 。

公认最早「优秀地」算出圆周率的,应该是要用一个支点翘起地球的阿基米德。他使用的割圆法也是最容易掌握的徒手计算圆周率的方法:当时他用了正六边形,算出来 \(\pi = 3.14\) 。

中国的刘徽,也独立的发现了「割圆术」。他用正 96 边形,割出了 3.1416 这个结果1

简单来说,「割圆法」和「割圆术」的区别主要是,一个用长度,一个用面积,来计算比例和结果。

最有争议的是南北朝数学家祖冲之的成就。他自己的著作《缀术》,曾经在唐代初期被收录在《算经十书》中,选作当时国子监算学馆的教材。但因为内容十分艰深,习者寥寥(有说法学这本书需要四年), 因此, 在北宋重新刊刻《算经十书》时, 它已经失传。

好在,唐初编撰《隋书》,在《隋书·律历志》里对祖冲之的结论有准确的记载:

古之九数,圆周率三,圆径率一,其术疏舛。自刘歆、张衡、刘徽、王蕃、皮延宗之徒,各设新率,未臻折衷。宋末,南徐州从事史祖冲之,更开密法,以圆径一亿为一丈,圆周盈数三丈一尺四寸一分五厘九毫二秒七忽,朒数三丈一尺四寸一分五厘九毫二秒六忽,正数在盈朒二限之间。密率,圆径一百一十三,圆周三百五十五。约率,圆径七,周二十二。又设开差冪,开差立,兼以正圆参之。指要精密,算氏之最者也。所著之书,名为《缀术》,学官莫能究其深奥,是故废而不理。

可以看到祖冲之的成果有两个:

  1. 圆周率在盈数(3.1415926)和朒数(3.1415927)之间,用现代数学的话来说,就是 \(3.1415926< \pi < 3.1415927\) ;
  2. 提出了两个圆周率的近似率:密率(\(\frac{355}{113}\))和约率(\(\frac{22}{7}\))

这个成就非常厉害:

  • 首先,它保持了世界最准确圆周率达 900 年之久;
  • 其次,在分母 < 16604 的一切有理数中, 密率 \(\frac{355}{113}\) 是最接近圆周率的分数。

那么,他怎么算出来的呢?

很多地方2认为他还是用的「割圆术」,只不过他采用了 24576 边形来割。

我是不太相信任何聪明人会用这种笨办法的。而且,要精确作图和测算两万多边形,在当时的工具条件下,好像也不现实。

所以,华罗庚曾经推测, 它应当是连分数展开或与之相当的算法的产物3。这样的联想也很容易理解,因为祖冲之给出的约率和密率都是分数,而连分数一个主要的用途就是拿有理数表达无理数4,比如:

\[\sqrt{2} = 1+\cfrac{1}{2+\cfrac{1}{2+\cfrac{1}{2+\cdots}}}\]

但这个说法也有点牵强,因为祖冲之除非事先知道 \(\pi = 3.1415926\) ,并且知道连分数,然后反算出来:

\[\pi = 1+\cfrac{1}{3+\cfrac{1}{7+\cfrac{1}{15+\cdots}}}\]

来得出圆周率的渐进分数\(\frac{3}{1}\),\(\frac{22}{7}\) ,\(\frac{333}{106}\) ,\(\frac{355}{113}\)…不然他的分母是怎么来的呢?为什么不是高斯那样:

\[\pi = 4 \div \left(1+\cfrac{1\cdot1}{3+\cfrac{2\cdot2}{5+\cfrac{3\cdot3}{7+\cdots}}}\right)\]

或者朗格那样:

\[\pi = 3+\cfrac{1\cdot1}{6+\cfrac{3\cdot3}{6+\cfrac{5\cdot5}{6+\cdots}}}\]

所以,我之前偶尔看到一位大学教授专门写了一篇 blog,在里面列举了从瓦里斯到泰勒到高斯到朗格的各种跟 \(\pi\) 有关的序列和级数,最后喟然长叹,\(\frac{355}{113}\)怎么可能是算得出来的呢?

我看过的最让我信服的说法是,祖冲之可能是用了何承天调日法

调日法是一种系统地寻找最佳逼近以表示天文数据或数学常数的内插法,用它来计算圆周率,在这篇论文里面有比较详细地描述。

我觉得这种说法最可信是因为:

  1. 两个人同在南北朝,祖冲之自己也是历法专家,且熟练使用调日法。
  2. 祖冲之它只需要以 3 为弱率,以 4 为强率,计算 7 次就可以得到约率 \({22 \over 7}>\pi\) ,计算 23 次就可以得到密率 \({355 \over 113}>\pi\)。

References:

  1. 为了验证这个近似值的正确性,刘徽自己又继续割圆到圆内接3072边形,结果也是 3.1416 。后来就有人误认为刘徽是一直割圆到圆内接3072边形才得到结果的。 

  2. 这可能主要是因为,清阮元撰《畴人传》里考据说:「后祖冲之更创密法,仍是割之又割耳,未能于徽注之外,别立新术也」。这个说法也被吴文俊主编的《中国数学史大系》采信。 

  3. 连分数就是 \(a_0+\cfrac{1}{a_1+\cfrac{1}{a_2+\cfrac{1}{a_3+\cdots}}}\) 这种造型的,分母都为 1, 分子是正整数的连着的分数。它还有一个写法是 \([a_1,a_2,a_3,\cdots]\)。 

  4. 这是数论里面的一个分支,叫做丢番图逼近。 

欢迎留言