铅笔,纸皮

通过 布莱恩·海斯(Brian Hayes)

在1850年代,大量的pi贝投超出了手动算术的极限;弄清楚哪里出了问题需要法医数学。

电脑 数学

当前的问题

这篇文章从发行

2014年9月至10月

第102卷第5期
第342页

DOI: 10.1511 / 2014.110.342

威廉·尚克斯(William Shanks)是维多利亚时代最出色的贝投机之一 电脑 表示不是机器,而是算术熟练的人。他的专长是数学常数,他最雄心勃勃的项目是pi的创纪录贝投。从1850年开始,他以20多年的时间间隔返回任务,他最终发布了一个pi值,该值从大家熟悉的数字3.14159开始,一直到707位小数。

布莱恩·海斯(Brian Hayes)的插图。

广告权利

从21世纪的角度来看,Shanks是一个令人发指的人物。他所有的耐心劳动都减少了。拥有笔记本电脑的任何人都可以在几微秒内贝投出数百位数的pi。而且,笔记本电脑会给 正确 数字。 Shanks从小数点530开始犯了一系列错误,破坏了他的其余工作。

我一直对Shanks和他的707位数字感到好奇。这个伟大的人机是谁?是什么使他进行了算术冒险?他如何应对pi贝投的后勤挑战:数字的摇摇欲坠,乘法和除法的艰巨回合?在工作的后期阶段出了什么问题?

回答这些问题的一种方法是买几张纸,削铅笔,然后尝试回想一下Shanks的脚步。我没有这个耐力,甚至没有预期寿命。但是通过改编一些铅笔驱动的算法以在硅贝投机上运行,​​我对Shanks的处理过程有了一个大概的了解。我想我也知道他的几个错误在哪里蔓延,但是还有更多的原因无法解释。

休闲间隔短

关于威廉·尚克斯的传记细节很难得到。众所周知,他出生于1812年,1846年结婚,并于1882年去世。他来自英格兰东北部靠近苏格兰边界的村庄科森赛德(Corsenside)。结婚后,他住在东北东北一个小镇霍顿勒斯普林(Houghton-le-Spring),在那里经营一所寄宿学校。

一些消息来源将Shanks视为数学家William Rutherford的学生,他曾在皇家军事学院任教,还涉猎pi贝投。尚克确实在卢瑟福学习,但这不是研究生与论文指导老师的关系。当Shanks在1853年出版了一本关于pi的小书时,他将其献给了Rutherford,“我从中获得了最早的数字课程。”事实证明,卢瑟福在1820年代在离科森赛德(Corsenside)不远的一所学校任教。那时,尚克是10岁或12岁的男孩,他一定是卢瑟福的学生之一。

我还没有学到有关Shanks继续教育的任何知识;没有提及大学学位。卢瑟福仍然是一名导师,并成为了合作者。这两个人交叉检查了他们对pi的贝投,并联合发表了一些结果。

现有证据表明,Shanks是数学界的业余爱好者和边缘人物,但不是曲柄。他发表了15篇论文 皇家学会会议录。尽管他从来都不是会员,但他说服研究员代表他提交手稿显然没有问题。这些赞助商(其中一些也被列为他1853年著作的订户)包括英国科学和数学领域的杰出人物:乔治·斯托克斯,乔治·B·艾里,威廉·惠威尔,奥古斯都·德摩根。

铅笔和纸张贝投在19世纪比现在更受重视。但是,即使到那时,将pi的小数点后一位除以707仍然是绝技,而不是对数学研究的贡献。 Shanks似乎已经了解了他的项目的临界状态。他写的关于他的贝投的书开始了:

到1850年末,作者首先形成了将圆整化到300个小数位以上的设计。那时他完全意识到,实现自己的目标对他作为数学家的名声几乎没有增加或什至没有增加,尽管可能作为贝投机。金钱补偿形式的任何东西都根本无法产生如此冗长的贝投量。他渴望用一些原始的东西来填补很少的闲暇时间,而与此同时,这既不应该使他承受巨大的思想张力,也不应该使他查阅书籍。

对于名望和资金的有限回报,他肯定是正确的。我希望他设法避免思想紧张。

Pi的食谱

有许多贝投pi的方法,但是几乎所有19世纪的贝投器都选择了反正切公式。这些方法从对半径为1且圆周为2pi的圆进行几何观察开始。如下图所示,在圆心处绘制的角度既定义了沿圆周的圆弧,也定义了带有边的直角三角形 a, b c。反正切函数关系边的长度 b (与角度相反的一侧)到弧的长度。特别是当 b 长度为1,圆弧为圆周的八分之一,等于pi / 4。公式arctan 1 = pi / 4是贝投pi的关键。如果可以为arctan 1分配一个数值,则近似为pi / 4;将此数字乘以4可得到pi本身的值。

布莱恩·海斯(Brian Hayes)的插图。

下一个问题是如何贝投反正切。微积分的先驱者设计了一个无穷级数,给出了arctan的价值 x 对于任何值 x 在–1和+1之间:

对于 x = 1,该系列采用特别简单的形式:

因此,要贝投pi,只需将这个系列的项加起来即可,即连续奇数的倒数,带有交替的正负号,直到总和达到所需的精度为止。

可悲的是,这个计划行不通。在 x= 1,arctan级数以极慢的速度收敛。要得到 n pi的位数,您需要总计大约10n 系列的条款。小腿本来必须评估10个以上700 术语,甚至连最勇敢的维多利亚式涂鸦手都无法做到。

一切都不会丢失。对于的值 x 接近零时,arctan级数收敛更快。然后,诀窍是将多个arctan贝投相结合,这些贝投的总和与arctan 1相同。Shanks使用以下公式,由英国数学家John Machin于1706年发现:

他不得不评估两个arctan系列而不是一个,但是这两个系列的收敛速度更快。

下图说明了对arctan 1/5和arctan 1/239的序列的前三个术语的评估,保留了五个小数位精度。 pi的贝投值的误差为0.00007。不需要特殊的算术技能即可手动执行此贝投。但是现在想象将其扩展到几百个术语和几百个小数位。基本操作保持不变,但是保持所有数字笔直成为文书上的噩梦。

布莱恩·海斯(Brian Hayes)的插图。

在贝投arctan 1/5时,Shanks评估了506个项,每个项占709个小数位。他极有可能对正词和负词进行了单独的求和。如果他试图一次写下这样一个加法问题,即253行709位数字,或总共将近180,000位数字,它将填满一张两米宽,一米高的纸。将任务分解成较小的部分会使它在物理上不那么笨拙,但会带来其他成本:中间结果的额外复制,转移进位数字,出现列或行未对齐的风险。

Shanks爱好者Erwin Engert通过对Machin的arctan公式进行20位和40位评估,测试了铅笔和纸张贝投的艰辛。结果在他的网站上 http://engert.us/erwin/Miscellaneous.html。保持数字对齐的挑战变得非常严峻,以至于Engert会打印出规则的表格以进行更大的贝投。尽管我们没有直接的证据,但小腿很可能做了同样的事情。

铅笔友好算法

电脑,总和 n arctan系列的术语x 只需要几行代码:

对于每个整数 k 从0到 n–1,程序生成一个奇数整数 m 以及arctan系列的相应术语, xm/m。表达式(–1)k 设置术语的符号-偶数加 k,减为奇数。循环完成后,该函数将返回 n 条款。这里唯一隐藏的微妙之处在于,数字变量必须能够容纳任意大小和精度的数字。

没有人会用铅笔进行算术运算。每次循环之后,程序都会丢弃除变量之外的所有工作 k ,然后从头开始构建系列的下一个术语。体力劳动者一定会节省价值 xm 作为贝投下一个幂的起点, xm+2。人机如何跟踪交替的符号,而不是使–1幂。

不难将程序转换为更方便使用的程序,避免不必要的重新贝投并保存中间结果以备将来使用。此外,可以对贝投机进行编程,以使用逐位算法(这是我们在小学时就学到的,不久之后就忘记了的算法)进行乘法和长除法。但是,这些改动仍然无法捕捉到精明的人类推算员的一些重要实践。

arctan 1/5系列中的大多数术语都是在短时间内重复小数。例如,术语(1/5)9/ 9等于0.000000056888…。一个幼稚的贝投机程序会继续逐个数字地除以精度极限,但是Shanks肯定只是填充了8s的字符串。

基数10的特殊性也要考虑在内。为了生成1/5的奇数幂序列,基本步骤是除以25。Engert建议除以100(小数点的移位)再乘以4。另一种选择是贝投(1/5) m as 2 m/10m (这里,除以10的幂只是一个小数点移位)。我提到后一种可能性是因为Shanks关于pi贝投的书包括2到2的幂的表721。他是使用这些数字来贝投其1/5的幂,还是仅用于检查以其他方式贝投出的值?

Shanks对他的贝投方法并没有太多透露,我仍然不确定他的策略的几个方面。例如,arctan 1/5系列中的一个术语可以写为(1/5)m/m 或为1 /(m5m)。从数学上讲,这些表达式是相同的,但是它们暗示着不同的贝投。在第一种情况下,您要对长的十进制小数进行乘除。在第二个中,您构建一个大整数,然后取其倒数。 Shanks采取了哪种方式?他没有说。如果要尝试复制他的作品,由于许多短周期重复,我可能会坚持使用arctan 1/5的小数,但是我可能会选择arctan 1/239的倒数方法,因为取倒数是比其他形式的划分更容易。

他错在哪里

就像托尔斯泰所说的那样,所有正确的贝投都是相似的,但是每个错误都会以自己的方式犯错。本着这种精神,Shanks结果中的错误数字比正确的数字提供的信息要多得多。如果没有别的,他们可能会透露出他的贝投在何处以及如何偏离轨道。

Shanks分三个阶段发布了pi的价值。 1853年1月的一篇文章(在卢瑟福的旁注下)包括530个小数位;这些数字中的440个已由卢瑟福(Rutherford)确认,除少数印刷错误和四舍五入引起的后两位数字差异外,其余数字均正确。

1853年春,Shanks将贝投结果从530小数点扩展到了607小数点,并将这些结果发布到一本私人印刷的书中, 对数学的贡献,主要包括对607个小数位的校正。这就是错误的根源。他的arctan 1/5的值在旧贝投和新贝投之间的边界处的第530个小数位出错。因为在Machin公式中将arctan 1/5乘以16,所以误差传播回pi值的第528个小数位。小腿的arctan 1/239的总和也不正确,从第592个小数位开始。

提出他的书后,Shanks将pi搁置了20年。当他在1873年再次承担任务时,他将两个arctan系列扩展到709个小数位,将pi扩展到707。由于这些贝投是建立在有缺陷的早期工作之上的,因此从一开始就注定了失败。直到75年后,错误才被发现,当时D. F. Ferguson使用机械台式贝投器,将pi的新贝投范围扩展到了700位数以上。

布莱恩·海斯(Brian Hayes)的插图。

试图发现Shanks出了错的地方是法医数学中的一个有趣练习。通常,人们会努力找到问题的正确答案。此处的目的是得到错误的答案-但是 错误的答案。我们想获取一个正确的值,并找到某种修改它的方法,该方法将产生Shanks报告的特定错误输出。这就像在您的支票簿与银行对帐单不同意时,寻找可疑交易,除了我们无权访问各个支票簿条目,只有最终余额。

为了寻找arctan 1/5系列中的错误,我贝投了真实值和Shanks值之间的差,然后从该系列的506个术语中减去了这一差异。在大多数情况下,结果没有提供任何信息,但在第248个术语中,我的眼睛被这种模式吸引了:

电话: 7444668008 0 48 3 89738430583501

S: 7444668008483897384305835010

顺序 T 来自真实的反正切和,从小数点后520开始;顺序 S 减去差异后,是相同的区域。在前10个位置中,两个数字一致,但此后 S 是的移位版本 T,方法是省略红色标记的0,让其余数字向左滑动一位。 (几位之后也有一个替换,其中2变成3。)

没有更多的书面证据,就不可能证明这一点标志着Shanks的第一个错误,但它无疑是一个合理的假设。当Shanks将此术语从530位扩展到609位时,他不需要进行任何实际的算术运算。该术语是一个重复的十进制数,周期为210位,因此他只需要复制序列中较早的一段即可。他似乎在复制时错过了0位数。我不是第一个发现此错误的人。 Erwin Engert在我这样做之前就已经确定了它。

如果将这个一位数的移位误差注入到arctan贝投中,则输出将与小数点530后的区域中的Shanks值匹配,但协议不会一直持续到最后。在十进制569处,两个序列再次分开。显然还有另一个错误。

我也不是第一个注意到这个问题的人。 1946年,弗格森(Ferguson)提请注意术语72中的异常,并建议Shanks从569位置开始省略了该术语的所有数字。我相信弗格森(Ferguson)正确地确定了故障点,但是他的诊断并不完全正确。以此方式截断项72不会将正确的总和转换为Shanks值。但是,另一个简单的更改确实起作用:在位置569处省略五个数字,并将该术语的其余部分向左移动。

有了这两个“ 联合国 我们可以将arctan 1/5的真实值通过小数点后的位置601转换为Shanks值。在这一点上肯定还有另一个错误,但情况令人困惑。 1853年发布的609位值的最后八位数字与1873年列出的相应数字不同。我没有发现产生任何一个版本的简单错误。 arctan 1/239中的错误也仍然无法解释。

奇怪的是,Shanks产生了近530个完美的pi数字,然后在接下来的80个数字中至少犯了四个错误。所有这四个错误的日期都是1853年3月或4月,它们似乎是文书上的而不是数学上的。我只能推测一下这种突然出现的粗心大意的原因。也许Shanks急着将他的书交到订户手中。或者也许是在41岁时,他正经历老花眼的早期症状。

关于小腿的故事往往集中在错误上。我们在所有细致的算术运算页面上以怜悯和惊恐的眼光回过头,这些细致的运算因铅笔的滑动而变得毫无价值。但是我会说,即使有错误,Shanks对pi的贝投也是令人印象深刻的。他的527位正确数字近一个世纪以来没有得到改善。奥古斯都·德·摩根(Augustus De Morgan)是该时代的杰出数学家之一,他对Shanks的作品表示怀疑,但他也赞美地说到“贝投的力量,以及……面对劳动的勇气”。


有关Shanks的更多材料,包括探索其贝投的参考资料和程序,请参见 http://bit-player.org/shanks.

©布莱恩·海斯(Brian Hayes)

美国科学家评论政策

保持话题。尊重。我们保留删除评论的权利。

请阅读我们的 评论政策 评论之前。