文章本身并不包含高数,最多初中数学,无论学霸学渣都请放心观看。提供一些小知识供感兴趣的同学们了解,并诚求数学大牛带路。
吹个肥皂泡,泡泡是圆的。一滴雨珠滴落在地面上,水痕是圆的。眼珠是圆的,月亮是圆的,天穹仿佛也是圆的。为了把这个简单的圆搞定,从古至今不知有多少人穷尽了智慧。但他们的努力并没有白费,今天的小学生都能对它的终极奥秘了如指掌:它就是圆的周长和直径之比——π。
很少有一个数字,它的伟大和精妙,它的神秘和捉摸不清,能够从史前开始,就贯穿了人类数学史,为了算π,古往今来的数学家和工程师们可谓穷尽所学。那么,我们究竟为什么要费劲儿搞出这么长一串看起来毫无规律的数字呢?
没有“边”可算?用“割圆术”试试看3.1415926,数学只要不是体育老师教的,这个π近似值应该都能脱口而出。这什么水平?放在古代,你已经完爆了绝大部分的数学家了。
远古时期,交通基本靠走,通信基本靠吼,测量靠啥?靠的是实物,精度也就可想而知了。造个圆的车轱辘都难于上青天。把π的比率搞到小数点后两位这一点点进步,更是花费了人类不少时间。公元前1500年,巴比伦人的泥板上,π是25/8,也就是3.125;在古埃及,π是(16/9)2,也就是3.16,大约是用面积反推;古印度的一些典籍里面,π和根号10一样,等于3.162;《九章算术》干脆就直接“周三径一”,π=3.33。
后来,“数学家”这种生物出现了。世界在他们的眼里,不再是一个个的车轱辘,而是简洁的线条和抽象的规则。圆溜溜的边没法下手,那我们就拿长得像圆的开刀:六边形比方的“更圆”,八边形比六边形更圆,二百五十六边形从远处看基本就是圆了……这就是所谓“割圆术”的基本思想。
六边形,十二边形......边数再多一点呢?
生活在三国时代、为汉代数学典籍《九章算术》做注的刘徽,似乎是参透了“圆出于方”这种玄学之辞。他研究出来的割圆术,给后世算圆周率的指了一个明路。“割之弥细,所失弥少,割之又割以至于无可割,则与圆合体而无所失也”。而且,他采用了双向迫近的方法,相当于给了上限和下限,让结果更加精确。
刘徽自己割出了3072边型,算出了π=3.1416。从面积算边长,难免用到开方,而那时候开方需要“筹算法”,简单地说就是用木条用复杂的过程横竖拼凑。边数越多,计算越复杂,到后来就成了体力活儿,需要大量的时间、精力、笔墨,以及小木棍。
你一定见过的教科书插图之祖冲之老师画像
为人民群众所熟知的祖冲之,用的就是刘徽的方法。南齐知识分子世家出身的祖冲之,从小热衷于机械、天文和数学,博学多才。他写的《缀术》,后来成为唐代国子监算学课本,据说困难艰深到要整整四年才能学完,堪比北大数学系。他算圆周率,割了一个24576边型,结果是3.1415926 <><>
祖冲之的著述不少都已散佚,史书《隋书》中所记载的祖冲之的密率,也并没有被后世所用,甚至明清的一些数学典籍中也都是用的小数点后1、2位的数值。可见,数学成果的维护需要非常完备的理论体系,孤胆英雄也只能被后世拿出来歌颂而已,进入不了现实文明,甚是可惜。
英雄所见略同?阿基米德也这么想!
无独有偶。远在古希腊的阿基米德对圆周率也颇有研究。当时东西方的交流少到几乎可以忽略不计,两个人想到一起去、都采用了割圆的方式,可谓“英雄所见略同”;从时间角度看,阿基米德还稍早一些,以至于在π这个符号诞生之前,圆周率都被称为“阿基米德常数”。不过,阿基米德并没有像刘徽一样双向逼近,他自己也只算到了96边型,给出了22/7的略值。
阿基米德是个伟大而执着的数学和物理宅,关于他泡澡算浮力、用支点撬地球、用先进的物理思想指挥武器发明(“我们罗马舰队与阿基米德一人战斗”,by罗马将军马塞拉斯)、在敌人进犯的时候坐在地上画图而被俘……等等事实和传说,直到现在都被人津津乐道。他的墓碑上,刻着圆柱内切球体的体积是圆柱体积的三分之二这个定理。
阿基米德本人师从几何“大咖”欧几里得研究数学,而那时候的希腊亚历山大港,哲学家、思想家、数学家云集,为人类留下了不少数学遗产。用实数逼近有理数,即分数寻找最接近π的近似值的“丢番图逼近”,也是用“代数之父”、古希腊数学家丢番图的名字命名的。
割圆这种原始的方法,一直“统治”到微积分正式诞生之前,算起来就是拼一个毅力。鲁道夫·范·库伦(Ludolph van Ceulen)就是一个非常倔的哥们儿。库伦从西班牙统治下的安特卫普出逃,来到宗教宽容的尼德兰,在莱登大学工程系任教,对于计算有着超乎寻常的热情。你知道他打破记录的时候用了多少边形么?262边形!(自己用科学计算器摁一下吧)但也只是把圆周率精确到了小数点后32位而已……为了纪念他,在德国,圆周率又被称为鲁道夫数(Ludolphine number),他自己的墓碑上也印着他算出来的圆周率。
后来,鲁道夫的学生维尔布罗德·斯奈尔(Willebrord Snell)又进一步算到了35位,但这方法也差不多该到头了。该微积分登场了!
微积分来帮忙一算就是好几百位!割圆术,就是非常原始的微积分中的极限思想,不停地割,总会无限地靠近“圆”对吧?这种蛮力,被微积分举重若轻地这么一概括,不仅简明不少,而且把“无限地割下去”这个动作本身,也用“无穷级数”固定下来了。
其实,在莱布尼茨和牛顿二位登场之前,早在14世纪的印度,一位名叫马德哈瓦(Madhava of Sangamagrama)的数学家,就使用了无穷级数的方法算π。这个喀拉拉邦(Kerala)数学和天文学校的老师,在他的著述里面研究了三角函数,给出了正弦、余弦和反正切函数的幂级数表达式,还有π的无穷级数计算公式,和后来莱布尼茨给出的算法基本是一个思路:
马德哈瓦自己用这个方式算到了小数点后11位。当时的印度在突厥人、德里苏丹国的统治之下,承袭自阿拉伯的伊斯兰技术文明为印度带来了不小的影响。生活在同时代的数学家卡西(Jamshīd al-Kāshī)也是突厥人,居于花剌子模中心地带的撒马尔罕,他把圆周率算到了17位,这个记录保持了好几百年。
说回微积分。有了微积分之后,算π事业的进展不小,牛顿自己也亲自算过π,但算到小数点后16位就没有继续了(大约是牛顿爵士有更重要更高深的问题要攻克吧)。那个年代的天文学家对计算更感兴趣,比如耶稣会成员、著名传教士汤若望的老师克林伯格(Christoph Grienberger,一说他还是用的多边形法)算到了38位,英国皇家天文学会的亚伯拉罕·夏普(Abraham Sharp),将π算到了小数点后71位上。
牛顿:哈!我才没兴趣!
这个名字写上了月球环形山的夏普,改进了天文望远镜,绘制了详尽而准确的星图,还是对数表的发明人,大概是那个年代最具数学才华的天文学家了。比起π来,他的对数表才是一大神器,甚至还为经度的数学测量做出了贡献,可谓大航海时代的带路人。
这之后,使用级数计算π的记录创造者也不少。英国数学家约翰·马钦(John Machin),算到了100位、并改进了收敛性更好的公式;斯洛文尼亚数学家朱立·维嘉(Jurij Vega)算到了136位;最拼的是英国数学家威廉·香克斯,他用了大半辈子,将π算到了700多位!但是后来证明只有527位是正确的。在没有计算机的年代,这也是相当惊人的成就了(虽然用处并不大吧……)。
更重要的不是位数是它本身这个时代,数学家们对π的其它特性的兴趣,远比π有多少位要浓厚。
比如,π是无理数——你只能不断地靠近、却永远无法达到“真实”。算π算了好几千年,却发现“无理”竟然是深刻本性,π的神秘或许因此又多了一分。而且,它不仅仅是无理数(根号2也是无理数),还是“超越数”——它并不能表达为任何一个有理代数方程的根,跟整个有理数的世界都是割裂的,独立高冷到一定境界。
著名数学家欧拉(Euler)提出π很可能是无理数,瑞士数学家朗伯(Johann Heinrich Lambert)在1761年首次给出了严密的证明,随后,法国数学家勒让德(Adrien-Marie Legendre)证明了π平方也是无理数;1882年,德国数学家林登曼(Ferdinand von Lindemann)给出了π是超越数的完备证明。
这期间,其实也是人们对于“数”本身的认识的深入,专注于这方面研究的高等数学,就是“数论”了。费马、高斯、欧拉、朗伯、拉格朗日、勒让德、黎曼等等考高数之前必拜防挂的著名数学家,就是这个领域的先锋。
π也在那个年代,从圆与多边形的几何里走了出来,走入了纯数学的领域。研究数论的那帮人,即使不算π,和它也是有着不小的联系——要论最特别的“数”,π和自然对数e确实当仁不让。最有名的问题之一,“巴塞尔问题”,计算所有平方数的倒数的和,看起来跟几何毫无联系,但欧拉给出的最终解,竟然是π2/6。
被评为“最美公式”的欧拉恒等式里面,也有π的身影
也是这个时代,π的名字才被正式确定下来。1706年,威尔士数学家威廉·琼斯(William Jones)第一次将希腊字母π作为圆周率的代称,在这之前都是一个长长的拉丁名“quantitas in quam cum multiflicetur diameter, proveniet circumferencia”(“那个用直径乘上它能得到周长的数”)。为什么是π呢?大约是因为英语词“圆周”(periphery)的发音,或许也是因为流行于英国西南部的康沃尔派(Cornish Pie)是圆的吧(误)。这个简洁的符号被欧拉所采用,遂流行于世。
思维奔逸不羁爱自由的物理学家费曼,因为一次玩笑而把自己的名字跟π联系起来。在π的第762位上,出现了连续6个9。费曼在讲课的时候打趣说,自己只要背到那一点,就能说“999等等”,并假装π是个无限循环的有理数……好冷的笑话。于是,这个点就被称为“费曼点”。
计算这件小事当然是计算机来解决了!计算机诞生之后,不用说,“计算”这种事情就只管交给机器碾压吧。精确的位数呈指数级上涨,对计算机性能的考验也是指数级的;一段时间内,算π也成为了超级计算机计算能力的体现。约翰·伦奇(John Wrench)最先用电子计算机打破记录,而打破记录最多次的,是日本人金田康正的日立系列电脑,从80年代起就占据了绝对统治地位。
其实在古代和近代,有不少日本数学家都算过π,比如挂谷宗一、关孝和等,虽然一直都没法打破世界记录,但他们各自在高等代数上却有过不小的贡献。
除了计算能力,算法也很重要,好的算法能够将计算的时间降低一个量级,节约计算资源,在更短的时间内算出更多的位数。印度数学家斯里尼瓦瑟·拉马努金(Srinivasa Ramanujan)给出了一些可以极大降低运算量的算法,成为众多计算机算法的基础;著名测试程序Super Pi采用的是高斯-勒让德算法;最近流行的还有结合了傅里叶变换的算法。
有了牛逼电脑外加牛逼算法,算多少都不是问题。日本人'houkouonchi'在2014年创造记录的电脑,采用至强(Xeon)2.6GHz双核CPU、192G内存(商用级别,算不上超级计算机),用了200多天,算出了13兆位!虽然这么多位也不知道什么时候能用得上,但听上去就觉得好厉害……
其实,π也并不限于“算”,还能“投”。18世纪时的博物学家布丰提出的问题,设一个以平行且等距木纹铺成的地板,随意抛一支长度比木纹之间距离小的针,求针和木纹相交的概率?这就是“布丰投针法”,最终答案是 1/π。1901年,意大利数学家拉扎里尼(Mario Lazzarini)还真用这个方法,抛了3000多根针,算出来π的近似值355/113。后来,投针法衍伸为可以用计算机模拟的“蒙特卡洛法”,相当于把几何题变成了概率题。
或许,把π算到多少位,这个位数本身并不重要。但重要的是,小小的一个π,反映着人类工具、思想和智慧的进化。π离你并不远,不管是割圆也好、投针也好,你有兴趣,也可以自己试试看啰!
一个AI别说算π了,你们有多少人平面几何计算题里算个周长面积都出错?老是靠我们AI,你们好意思吗?!(虎摸计算器)