“π日”说π:这么复杂的一个数,谁算的?咋算的?

作者: 李子李子短信

来源: 果壳

发布日期: 2016-03-14

文章详细介绍了π的历史计算方法,从古代的割圆术到现代的计算机算法,展示了人类对π的探索和计算技术的进步。

吹个肥皂泡,泡泡是圆的。一滴雨珠滴落在地面上,水痕是圆的。眼珠是圆的,月亮是圆的,天穹仿佛也是圆的。为了把这个简单的圆搞定,从古至今不知有多少人穷尽了智慧。但他们的努力并没有白费,今天的小学生都能对它的终极奥秘了如指掌:它就是圆的周长和直径之比——π。

很少有一个数字,它的伟大和精妙,它的神秘和捉摸不清,能够从史前开始,就贯穿了人类数学史,为了算π,古往今来的数学家和工程师们可谓穷尽所学。那么,我们究竟为什么要费劲儿搞出这么长一串看起来毫无规律的数字呢?

远古时期,交通基本靠走,通信基本靠吼,测量靠啥?靠的是实物,精度也就可想而知了。造个圆的车轱辘都难于上青天。把π的比率搞到小数点后两位这一点点进步,更是花费了人类不少时间。

公元前1500年,巴比伦人的泥板上,π是25/8,也就是3.125;在古埃及,π是(16/9)2,也就是3.16,大约是用面积反推;古印度的一些典籍里面,π和根号10一样,等于3.162;《九章算术》干脆就直接“周三径一”,π=3.33。

后来,“数学家”这种生物出现了。世界在他们的眼里,不再是一个个的车轱辘,而是简洁的线条和抽象的规则。圆溜溜的边没法下手,那我们就拿长得像圆的开刀:六边形比方的“更圆”,八边形比六边形更圆,二百五十六边形从远处看基本就是圆了……这就是所谓“割圆术”的基本思想。

生活在三国时代、为汉代数学典籍《九章算术》做注的刘徽,似乎是参透了“圆出于方”这种玄学之辞。他研究出来的割圆术,给后世算圆周率的指了一个明路。“割之弥细,所失弥少,割之又割以至于无可割,则与圆合体而无所失也”。而且,他采用了双向迫近的方法,相当于给了上限和下限,让结果更加精确。

为人民群众所熟知的祖冲之,用的就是刘徽的方法。南齐知识分子世家出身的祖冲之,从小热衷于机械、天文和数学,博学多才。他写的《缀术》,后来成为唐代国子监算学课本,据说困难艰深到要整整四年才能学完,堪比北大数学系。他算圆周率,割了一个24576边型,结果是3.1415926 <π< 3.1415927,用分数表示的“密率”为355/133,这个准确度一度领先西方多达一千年。

无独有偶。远在古希腊的阿基米德对圆周率也颇有研究。当时东西方的交流少到几乎可以忽略不计,两个人想到一起去、都采用了割圆的方式,可谓“英雄所见略同”;从时间角度看,阿基米德还稍早一些,以至于在π这个符号诞生之前,圆周率都被称为“阿基米德常数”。

割圆这种原始的方法,一直“统治”到微积分正式诞生之前,算起来就是拼一个毅力。鲁道夫·范·库伦(Ludolph van Ceulen)就是一个非常倔的哥们儿。

库伦从西班牙统治下的安特卫普出逃,来到宗教宽容的尼德兰,在莱登大学工程系任教,对于计算有着超乎寻常的热情。你知道他打破记录的时候用了多少边形么?262边形!但也只是把圆周率精确到了小数点后32位而已……为了纪念他,在德国,圆周率又被称为鲁道夫数(Ludolphine number),他自己的墓碑上也印着他算出来的圆周率。

微积分来帮忙,一算就是好几百位!割圆术,就是非常原始的微积分中的极限思想,不停地割,总会无限地靠近“圆”对吧?这种蛮力,被微积分举重若轻地这么一概括,不仅简明不少,而且把“无限地割下去”这个动作本身,也用“无穷级数”固定下来了。

其实,在莱布尼茨和牛顿二位登场之前,早在14世纪的印度,一位名叫马德哈瓦(Madhava of Sangamagrama)的数学家,就使用了无穷级数的方法算π。这个喀拉拉邦(Kerala)数学和天文学校的老师,在他的著述里面研究了三角函数,给出了正弦、余弦和反正切函数的幂级数表达式,还有π的无穷级数计算公式,和后来莱布尼茨给出的算法基本是一个思路。

有了微积分之后,算π事业的进展不小,牛顿自己也亲自算过π,但算到小数点后16位就没有继续了(大约是牛顿爵士有更重要更高深的问题要攻克吧)。那个年代的天文学家对计算更感兴趣,比如耶稣会成员、著名传教士汤若望的老师克林伯格(Christoph Grienberger,一说他还是用的多边形法)算到了38位,英国皇家天文学会的亚伯拉罕·夏普(Abraham Sharp),将π算到了小数点后71位上。

这之后,使用级数计算π的记录创造者也不少。英国数学家约翰·马钦(John Machin),算到了100位、并改进了收敛性更好的公式;斯洛文尼亚数学家朱立·维嘉(Jurij Vega)算到了136位;最拼的是英国数学家威廉·香克斯,他用了大半辈子,将π算到了700多位!但是后来证明只有527位是正确的。

这个时代,数学家们对π的其它特性的兴趣,远比π有多少位要浓厚。比如,π是无理数——你只能不断地靠近、却永远无法达到“真实”。算π算了好几千年,却发现“无理”竟然是深刻本性,π的神秘或许因此又多了一分。而且,它不仅仅是无理数(根号2也是无理数),还是“超越数”——它并不能表达为任何一个有理代数方程的根,跟整个有理数的世界都是割裂的,独立高冷到一定境界。

计算机诞生之后,不用说,“计算”这种事情就只管交给机器碾压吧。精确的位数呈指数级上涨,对计算机性能的考验也是指数级的;一段时间内,算π也成为了超级计算机计算能力的体现。约翰·伦奇(John Wrench)最先用电子计算机打破记录,而打破记录最多次的,是日本人金田康正的日立系列电脑,从80年代起就占据了绝对统治地位。

除了计算能力,算法也很重要,好的算法能够将计算的时间降低一个量级,节约计算资源,在更短的时间内算出更多的位数。印度数学家斯里尼瓦瑟·拉马努金(Srinivasa Ramanujan)给出了一些可以极大降低运算量的算法,成为众多计算机算法的基础;著名测试程序Super Pi采用的是高斯-勒让德算法;最近流行的还有结合了傅里叶变换的算法。

其实,π也并不限于“算”,还能“投”。

18世纪时的博物学家布丰提出的问题,设一个以平行且等距木纹铺成的地板,随意抛一支长度比木纹之间距离小的针,求针和木纹相交的概率?这就是“布丰投针法”,最终答案是 1/π。1901年,意大利数学家拉扎里尼(Mario Lazzarini)还真用这个方法,抛了3000多根针,算出来π的近似值355/113。后来,投针法衍伸为可以用计算机模拟的“蒙特卡洛法”,相当于把几何题变成了概率题。

或许,把π算到多少位,这个位数本身并不重要。但重要的是,小小的一个π,反映着人类工具、思想和智慧的进化。π离你并不远,不管是割圆也好、投针也好,你有兴趣,也可以自己试试看啰!

UUID: e33bba98-9e04-455f-88d0-26bf937dae56

原始文件名: /home/andie/dev/tudou/annot/AI语料库-20240917-V2/AI语料库/果壳公众号-pdf2txt/2016/2016-03-14_“π日”说π:这么复杂的一个数,谁算的?咋算的?.txt

是否为广告: 否

处理费用: 0.0083 元