快捷搜索:  汽车  科技

计算机是怎么计算圆周率的(圆周率π不但可以检测计算机性能)

计算机是怎么计算圆周率的(圆周率π不但可以检测计算机性能)约公元前17世纪,古埃及莱因德数学纸草书,π=(16/9)^2≈3.1605约公元前1900-1600年,古巴比伦石匾,π= 25/8 = 3.125一个半径为R的圆,面积和周长分别是多少?这样一个看似简单的问题,如果纯粹靠我们自己的推理,我相信几乎没有人能得到令人满意的结果. 它的难度源自两个方面,首先,很难发现周长与直径的比值(或面积与半径的平方)是一个定值(即,圆周率π).其次,即使我们知道了定值π的存在,也难以给出一个计算π值的方法.当然,不是因为我们脑袋不够用,而实在是学习容易发现难.无数古人付出了艰辛努力,却总是收效甚微。我们以四大古国的研究为例,大致来看看圆周率π的发现与计算过程.

“伏羲鳞身,女娲蛇躯”,兄妹关系的伏羲、女娲是我国上古神话中的创世(女)神,他们的故事通过口口相传、石刻娟画而有了很多的版本.下图为“伏羲女娲图”娟画,1965年出土于一座夫妻合葬墓。娟画中日月星辰的布局体现了古人对于宇宙万物的理解,“女娲右手执规,伏羲左手执矩”则更具有数学味道.

计算机是怎么计算圆周率的(圆周率π不但可以检测计算机性能)(1)

伏羲女娲图绢画 唐(618~907年)

规可作圆,矩可画方。方与圆是最常见、也是被人们发现最早的几何图形之一。尤其是“圆”,从古至今也没有真正被研究透彻过,伴随着圆周率π一路满满的神秘感.

一、经验时代

人类先祖对于圆的兴趣或许来自于太阳、月亮等自然存在的“圆形物体”,从实物到抽象图形是一个很漫长的过程。基于生活实践(如土地分配等)的需要,人们对于“圆形”的度量产生了兴趣。

一个半径为R的圆,面积和周长分别是多少?

这样一个看似简单的问题,如果纯粹靠我们自己的推理,我相信几乎没有人能得到令人满意的结果. 它的难度源自两个方面,首先,很难发现周长与直径的比值(或面积与半径的平方)是一个定值(即,圆周率π).其次,即使我们知道了定值π的存在,也难以给出一个计算π值的方法.

计算机是怎么计算圆周率的(圆周率π不但可以检测计算机性能)(2)

当然,不是因为我们脑袋不够用,而实在是学习容易发现难.无数古人付出了艰辛努力,却总是收效甚微。我们以四大古国的研究为例,大致来看看圆周率π的发现与计算过程.

约公元前1900-1600年,古巴比伦石匾,π= 25/8 = 3.125

约公元前17世纪,古埃及莱因德数学纸草书,π=(16/9)^2≈3.1605

约公元前800-600年,古印度宗教巨著《百道梵书》,π=339/108≈3.139

约公元前1世纪,西汉《周髀算经》“周三径一”,即π=3.

我们看到不同古代文明对于圆周率的认识稍有不同,但都已经发现了定值π的存在,并将π的近似值精确到了小数点后1位。但是没有直接的证据来佐证古人们通过什么样的方法得了π的这些近似值,是基于生产经验还是理论推导?在古希腊文明之前我更倾向于前者.

计算机是怎么计算圆周率的(圆周率π不但可以检测计算机性能)(3)

二、理性之光

古希腊文明对于早期数学的贡献是巨大的,对圆周率的研究自然也不例外。公元前287–212 年,叙拉古的阿基米德第一个将圆周率π推向理性世界.

有没有一个方法可以准确的计算出π的值呢?阿基米德之前没有人能做到,之后也要直到1700年以后才有新的突破。阿基米德的方法主要使用了两个关键点:正多边形与逼近。

计算机是怎么计算圆周率的(圆周率π不但可以检测计算机性能)(4)

准确来说,阿基米德从圆的两个正6边形出发(一个内接、一个外切),得到了圆周率的第一个上、下界,以后每次边数加倍(即正12边形、正24边形),一直到圆的内接(外切)正96边形(此时圆周率π的下界和上界分别为223/71 和22/7),阿基米德取它们的平均值3.141851 为圆周率的近似值。也就是说,阿基米德第一次通过数学理性思维得到了π的精确到小数点后3位的近似值。

阿基米德方法的优势是:只要你足够耐心、细心,你可以算到你想要的精确度。缺点是:你不会有这样的耐心和细心,因为它实在太难了。这就是想象与实际之间的差别。

计算机是怎么计算圆周率的(圆周率π不但可以检测计算机性能)(5)

阿基米德(公元前287年—公元前212年)

我国魏晋时期著名数学家刘徽,也是从圆内接正6边形开始,一直算到192边形,得到π=3.141024. 之后继续割圆到1536边形,才得到π=3.1416.

公元480年左右,我国南北朝时期的数学家祖冲之给出不足近似值3.1415926和过剩近似值3.1415927,将π精确到小数点后第7位.而这一记录要直到800年后才被阿拉伯数学家卡西打破(精确到17位精确小数值).

π值的前10亿位数,点击“主页-私信”,发送"圆周率"三字即可领取txt文本.

计算机是怎么计算圆周率的(圆周率π不但可以检测计算机性能)(6)

祖冲之(429年-500年)

花了一千多年,数学家们计算圆周率π都离不上面的“割圆术”,这与几何学在这段时期的数学王者地位息息相关.但是繁琐的计算实在让数学家们头疼不已,随着数学新思想、新工具的出现,数学家们正在向另一个世界迈进.对π作出下一个革命性改变的是“代数学之父”——韦达.

三、分析主导

韦达因为“韦达定理”而被大家所熟知,但是他对数学(尤其是代数)还有很多的巨大贡献,很多工作都是开创性的。关于圆周率π,韦达也深有研究,今天被誉为“韦达π公式”的π的展开式,开启了研究π的新篇章.

计算机是怎么计算圆周率的(圆周率π不但可以检测计算机性能)(7)

如上图,韦达通过几何方法计算得到圆的内接圆正n边形、正2n边形的关系,进一步使用代数运算得到的下面的等式.

计算机是怎么计算圆周率的(圆周率π不但可以检测计算机性能)(8)

这是π计算史上的一个重要里程碑,它的发现代表着π的研究从几何转向了分析,这样一个等式只用到了4个数学元素就表示了一个无理数——根号、1、2和加号,式子简单明了、优美大方.但是它也有一个缺点,就是收敛速度太慢,于是韦达也是只把它当作研究成果,真正计算圆周率韦达还是使用了古老的“割圆术”,并计算到了π小数点后的第9位.

韦达的研究是新篇章,但缺点也暴露无遗。15世纪以后的数学家在他的启发下,得到了关于π的更多的展开式.比如欧拉π公式

计算机是怎么计算圆周率的(圆周率π不但可以检测计算机性能)(9)

“wallis公式”

计算机是怎么计算圆周率的(圆周率π不但可以检测计算机性能)(10)

“Leibniz定理”

计算机是怎么计算圆周率的(圆周率π不但可以检测计算机性能)(11)

这些数学大家发现的公式都以最简单的、具有吸引力的符号表示了π,但是这些也都没有解决“收敛速度慢”的问题。也就说公式美得没得说,但是不适用,用于计算圆周率所花费的时间依旧会很长. 1706年,英国天文学教授John Machin发现的公式得到了一个收敛速度较快的π等式:

计算机是怎么计算圆周率的(圆周率π不但可以检测计算机性能)(12)

他利用这个公式计算到了100位的圆周率。1789年,斯洛文尼亚数学家Jurij Vega利用该公式得出π的小数点后137位.1948年,英国的弗格森、美国的伦奇共同发表了π的808位小数值,成为人工计算圆周率值的最高纪录。

计算机是怎么计算圆周率的(圆周率π不但可以检测计算机性能)(13)

四、程序世界

人工计算π随着计算机的发明而逐步被程序所替代,数学家的工作不再繁琐的计算,而是一个好的“收敛π公式”的设计、以及编程。上面的Machin公式就是这样的优秀公式中的一个,由于每计算一项可以得到14位的十进制精度,这样使得这个公式在计算机上编程实现起来比较轻松.

计算机是怎么计算圆周率的(圆周率π不但可以检测计算机性能)(14)

20世纪更多的计算π的公式和程序被设计出来。数学家们对于π的计算已不单纯是了解π的神秘,计算机性能测试、数学实力展示等让π的计算更具神秘感.

2019年3月4日,来自日本的谷歌员工 已将圆周率π计算到31万亿个数.而且这样的记录随时还会被打破。

猜您喜欢: