dingsir的个人博客分享 http://blog.sciencenet.cn/u/dingsir

博文

3.14谈π

已有 3597 次阅读 2020-3-14 19:52 |个人分类:其它兴趣|系统分类:论文交流| 圆周率, 计算, 世界记录

十多年前,我写过一篇关于关于π的博客,正值今天是所谓的Pi日(3.14),翻出来再改改贴上来. [原创 2009-2-25 20:55:21]   

 π值是圆周长与直径的比值,也是最有名的无理数之一,无限不循环,因此才引出下面Pi计算这个大话题来.

先提一下怎么输入π值:

一. 在Word中可以这样输入:在"插入"标签, 点击"符号", 打开如下对话框

blob.png

在符号的字体部分选择"宋体"或"微软雅黑"(其它字体也可,很多字体都有希腊符号的),在子集中选择"希腊语和科普特语",就很容易找到了,选中后,点击下文的"插入"可以插入到文本中.

方法二: 上面的图片还显示了另一个小技巧,在Word中输入03C0紧接着按一下Alt+X, 它自动将03C0转化为π字符!

 方法三: 很多输入法也可以输入特殊符号. 点击输入法,设置它的软键盘为"希腊字母"(各输入法的设置或入口不一样,无法一一说明,请自己找一下),找到π点击它,或者在键盘对应键上敲击,就可以输入这个特殊符号.另外,如果输入法支持订制特殊编码,你可以将π指定给一个编码,需要时输入相应编码(比如我的输入法中将π指定给编码pai)就出来了.

方法四: 如果这两者你还搞不定,还可以到某个有这个字符(比如这篇博文)的地方,选中这个字符,Ctrl+C把它复制过去就是了!

另外还有一些: 

方法五: 在数理专业的排版工具Tex或Latex中,Pi值用\pi来输入.当我在Sublime text 3的Markdown文件中书写时,我用了\$\pi\$ 这种形式, MathJax库在浏览器中帮我渲染成以下样式,也挺漂亮的. 

blob.png

方法六:转换成MathML(数字标记语言)就是:

2020-03-15 003.png

有心人可以注意一下,这里的03C0就是上面Word快捷方式中的那个03C0(实际它就是π的Unicode码值)

方法七: 在这个博客的页面中, 用2020-03-15 004.png也会自动转化成 π.

(BTW,大写的Pi看起来像个凳子,不太好看; 小写的就不一样了,在哪个字体中都很漂亮!)π


Pi的故事

很多年前,我在张家港工作,偶然在旧书店淘到一本《神奇的π》,专门讲圆周率的历史与趣味故事的,颇有意思.看着看着,就想起小时候老爸教我的一首记π值的歌谣来: 

山巅一寺一壶酒(3.14159)

尔乐苦杀吾(26535)

把酒吃(897) 酒杀尔(932)

杀不死(384) 乐尔乐(626)

寥寥数语就把20多位枯燥无味的数字牢记于心。 那时候比较有空,仅仅二十多位的Pi值实在满足不了我的背诵挑战,一直想找更多位的来背诵而未果。终于到初二(1988年)的时候,一位好友才找到100位的π值。当时从他那里抄录时,如获至宝的心情至今仍记忆犹新。我花一个早读时间把它背下来了,直到如今还时不时想起来背上几次,检查一下大脑有没有退化。

这几十年前, 由于电脑与网络的突飞猛进的发展,100位圆周率的获取已经不值一提了。使用SuperPi,就可以在几分钟内迅速计算出100万位。有一本名叫“你也能用电脑计算π=3.14159…到千万位"的书(下载).它就讲到了如何设计程序来自己计算.这里书中提供的简单例子,短短数行代码就能够计算到14位左右。简易算Pi程序.rar

90年代的时候,发烧友们用来测试电脑性能的方法之一, 就是使用特定工具来计算Pi值. 由于巨量的圆周率计算需要消耗大量算力和存贮能力,也考验内存速度和算法性能,正好可以拿来比较电脑的性能优劣.  发烧友们藉此可以对电脑的速度有个量化的指标。 

但SuperPi不是最快的计算程序,我用过一个叫Pifast的小程序,比它快很多. 它介绍说自己是Windows上最快的计算π值的程序。当时的最新版4.3.2(到现在还是,没更新)。 我作了一个小小的比较,在当时用的Dell Vostro 1400型笔记本电脑上,正常运行了其它程序,分别运行SuperPi与PiFast来计算100万位圆周率,SuperPi耗时27.516秒,PiFast耗时2.28秒,速度相差13倍。在Windows系统上,尽管PiFast宣称自己是最快的Pi值计算程序,稍加研究比较以后,其实并非如此, QuickPi更快一些。在同样的速度下,当时我测试过, 同一台电脑相同情况下, 计算1048576 (2的20次方,计算机上的1兆位)位pi值,PiFast 4.3的耗时2.56秒,QuickPi 4.5耗时1.42秒. 虽然计算Pi值的方法有好几种,但目前比较统一的采用Chudnovsky法计算,它基于如下的一个公式:


,关于这方面的研究,可以参阅(网址, 或存档円周率を1億桁計算.rar)) .其它方法常用来对计算的结果进行校验(校验也是必不可少的,保证不了正确性这个结果就没有意义了).

天文数字般的圆周率值,不仅需要极大的算力,也需要海量的存贮.以前我见过有个网站分享了1万亿位圆周率,总共1万个压缩包, 57M一个,每个存放1亿位. 全部一万亿位占用存贮570G. 

blob.png

然而,最厉害的还不是QuickPi(现在已经很难找到这个程序了!),而是Y-cruncher(下载),这个新秀才是真正的王牌,不仅用于计算Pi值,也可以计算一些其它常数。网站http://www.numberworld.org/y-cruncher/ 上面有好些超长的常数计算与他们使用的硬件.Pi值目前的世界记录仍然是用Y-cruncher计算的. 50万亿位圆周率, 在2020年1月29日算完,从头到尾计算一共用了303天. 使用的电脑服务器内存320G,磁盘要求256TiB, 光数值的存储就需要38TiB的,挑战者用了48块硬盘(详情介绍点击下面黑色照片). 在此之前的记录,则是计算了31.4万亿位(向π值致敬,是31415926535897位)

y-cruncher calculation values

遥想1500多年前,祖冲之为了计算圆周率费尽毕生精力,才得到小数点后七位数值(介于3.1415926~3.1415927之间, 粗率22/7, 密率355/113),就能领先欧洲1000多年。今天随随便便一台电脑,几秒钟就能出来上百万位数值。科技的发展,实在让人惊叹!

不过,话又说回来,对绝大多数应用,祖冲之先生算出来的那几位完全足够我们使用了--即使计算整个银河系的周长,使用40位圆周率,其误差也不超过一个质子的大小! 

1万位圆周率.rar



https://blog.sciencenet.cn/blog-1213210-1223516.html

上一篇:MOA、密位 及其快速换算
下一篇:从两类化合物的密度想到的
收藏 IP: 112.17.247.*| 热度|

1 尤明庆

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-25 06:50

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部