专栏名称: 算法与数学之美
从生活中挖掘数学之美,在实践中体验算法之奇,魅力旅程,从此开始!
目录
相关文章推荐
九章算法  ·  12月LeetCode刷题小分队正式开始啦: ... ·  2 天前  
九章算法  ·  硅谷华人爸爸,正在批量复制“码二代” ·  4 天前  
Marine Sedimentology  ·  曲线凹凸性(Concave Upward ... ·  4 天前  
51好读  ›  专栏  ›  算法与数学之美

对数与约翰.纳皮尔

算法与数学之美  · 公众号  · 算法 数学  · 2016-09-17 22:47

正文

出自51CTO

原文地址:http://book.51cto.com/art/201005/201934.htm

"看起来在数学实践中,最麻烦的莫过于大数字的乘法、除法、开平方和开立方,计算起来特别费事又伤脑筋,于是我开始构思有什么巧妙好用的方法可以解决这些问题。"

--约翰·纳皮尔,《奇妙的对数表的描述》[1](1614)

在科学史上鲜有像对数这样受到整个科学界狂热追捧的抽象数学概念。人们难以想象,这一天才的创造来源于那位似乎不太靠谱的名叫约翰·纳皮尔的人。[2]

约翰·纳皮尔于1550年(具体日期不详)出生于苏格兰爱丁堡附近的小镇梅奇斯顿堡(Merchiston Castle),是阿奇博尔德·纳皮尔(Archibald Napier)与其第一任妻子简奈特· 波斯维尔(Janet Bothwell)之子。约翰早年的生活详情现已不得而知,只知道13岁时他被送往圣·安德鲁斯大学(University of St. Andrews)学习宗教,后曾旅居国外一段时间。1571年,约翰回到故乡与伊丽莎白·斯特林(Elizabeth Stirling)成婚,他们后来生有两子。1579年伊丽莎白去世,随后约翰与艾格尼丝·奇泽姆(Agnes Chisholm)结婚,二人又育有十个子女,其中第二个儿子便是后来为约翰整理和撰写相关文著的罗伯特·纳皮尔(Robert Napier)。1608年,阿奇博尔德先生去世后,约翰回到了梅奇斯顿堡,并成为该堡的第八世领主,直至终老。[3]

纳皮尔早年的职业几乎与他后来在数学上的创举毫无瓜葛。彼时,他热衷于宗教,是个宗教能动主义者。作为一个狂热的新教徒和教皇的坚定反对者,他在著作《圣·约翰启示录的新发现》中发表了自己的观点,直接将矛头指向天主教教堂,指责罗马教皇是反基督者,并且要求苏格兰国王詹姆士六世(后来成为英格兰国王詹姆士一世)清除皇室和宫廷里所有的"天主教徒、无神论者和无信仰人士"[4]。与此同时,他还预测最后审判日将会在1688年至1700年间降临。这本书先后被翻译成多种语言,共有21个版本(在他的有生之年就有10个版本),这也让他意识到自己还是能够"名垂青史"的。

然而,纳皮尔的兴趣并不仅仅局限于宗教。作为一个地主,他还需要关心如何提高农作物及禽畜的产量,为此他尝试用不同的盐份和肥料来使土壤变得肥沃。1579年,他发明了一种可以控制煤矿中水位的水压泵。他的另一个浓厚的兴趣则是军事,也难怪传言西班牙国王菲利普二世即将侵略英格兰的时候,他企图依照1800年前阿基米德保卫锡拉库扎的计划设计出使敌舰着火焚烧的巨镜。他假想建造一种可以"清除方圆4英里之内所有高度超过1英尺的生物"的大炮、一种可以"清除周遭所有障碍物"的"带有可移动火力点"的战车,甚至还有一种"潜行于水下、自带驱动和其他破敌设施"的装置[5]。尽管迄今为止我们都无法得知当时他是否成功地造出了哪种武器,但毋庸置疑,这些武器已经具备了现代兵器的雏形。

也正因为纳皮尔具有如此广泛的兴趣,他成为了许多传说故事的主人公。他似乎是个爱争论的人,经常卷入与邻里或房客的纠纷中。有一个故事说的是,邻居家的鸽子飞到纳皮尔的地里偷食,纳皮尔为此极为愤怒,于是警告邻居,如果再管不住这些鸽子,他就会逮了它们。邻居并不买账,回应纳皮尔"悉随尊便"。次日,邻居便发现他家的鸽子都半死不活地躺在纳皮尔家的草坪上,原来,鸽子吃过被纳皮尔用烈酒泡过的谷物后全部醉倒。还有一个故事,纳皮尔怀疑他的仆人暗地里偷他的东西,为了找出小偷,纳皮尔宣称自己的黑公鸡有识别罪犯的特异功能。随后,他要求仆人按顺序进小黑屋轻拍黑公鸡的背,当然他已私下将黑公鸡涂了一层烟灰。等所有的仆人出门后摊开双手的那一刻,小偷自然原形毕露,因为只有他的手是干净的--不知情的小偷害怕自己的劣迹被发现而不敢触摸那只神奇的"黑公鸡"。[6]

人们早已淡忘了纳皮尔的这些事迹,包括他狂热的宗教信仰。如果说纳皮尔已经名垂青史的话,那决不是因为他那本畅销书或是他在机械设计方面的天赋,而是他花费了20年才形成的抽象数学概念--对数。

16世纪至17世纪初,各领域的科学知识急速发展。地理、物理、天文等突破了古老教条的束缚,急剧地改变着人们的世界观。哥白尼(Copernicus)的"日心说"在经过近一个世纪与教会的斗争后终于渐渐为人们所接受。1521年,麦哲伦(Magellan)的环球旅行宣告了游遍地球每个角落的崭新航海探险时代的到来。1569年格哈德·麦卡托(Gerhard Mercator)发表了为世人所称道的新版世界地图,这对当时的航海定向技术产生了巨大的影响。而在同一时期,意大利人伽利略(Galileo Galilei,1564-1642)正在奠定力学的基础,德国人约翰尼斯·开普勒(Johannes Kepler)创立了行星运动三大定律,从此彻底颠覆了中世纪希腊的地心说。这些科学发展也带来了庞大的数学计算需求,科学家们不得不花大量时间专注于繁琐的数字运算,他们迫切地需要一种新发明,能够将他们从这些繁琐的运算中解放出来。而此时纳皮尔挺身而出,勇挑重担。

我们无法知道纳皮尔开始时是如何想到这一发明的。他既然精通三角学,无疑也应该对下面的公式非常熟悉。

 

这个公式及类似的 和 公式就是大家所熟知的积化和差(来自希腊语Prosthaphaeretic,意思是"加法与减法")公式。这一公式的重要性体现在:两个三角函数的乘积(如 )可以用其他三角函数的和或者差表示出来(如 )。而加减运算比乘除运算简便得多,因此这个公式也提供了一种原始的运算优化方法。或许就是这个公式激发了纳皮尔的灵感。

与纳皮尔发明有关的另一个更为直接的因素与几何级数有关,几何级数就是有固定公比的、连续的数值序列。例如序列1, 2, 4, 8, 16,…就是一个以2为公比的几何级数。如果我们将公比表示为q,则从1开始构建得到几何级数1,  ,第n项为 。其实在纳皮尔之前很久,人们就注意到几何级数的各项与相应的幂(或指数)存在简单的对应关系。德国数学家迈克尔·斯蒂弗尔(Michael Stifel,1487-1567)在他1544年的专著《整数算术》(Arithmetica Integra)中将这种关系表述为:如果将序列1, q,  ,…中的任意两项相乘,其结果与我们直接将指数相加所得到的值相同。[7]例如: ,而直接将指数2和3相加,我们也会得到相同的结果。与此类似,在两个数相除的时候,将指数相减即可,例如,   。因此,我们得到 。

但随之出现了另外一个问题:当指数项相减时,减数比被减数大,如 ,按照上述法则表达为 ,而这一情形我们在前文中并未定义。因此,为了解决这一问题,我们定义 即为 ,于是 ,这样也就与上述结果保持一致了。[8]同时,我们还定义,在m=n时,  。这样一来,我们就可以在两个方向上将几何级数扩展为无穷大: 。由此可以看出,数列中的每一项都可以分别表示为公比q的…,  3,  2,  1, 0, 1, 2, 3, …(等差级数,相邻项相差1)次幂。这就是对数背后的主要思想,但斯蒂弗尔仅仅考虑到指数为整数的情况,而纳皮尔则将指数的范围拓展为连续的值。

他对这一规律的描述为:假如我们能将任何正数写成某个固定值(后来称为底数)的幂,那么计算数的乘除法就可以转换为计算它们指数的加减法。进而,计算一个数的n次幂(该数自乘n次),等效于将指数相加n次(即指数乘以n);而对一个数开n次方则等效于做n次减法(即指数除以n)。简而言之,一切算术运算都可以降级为比该运算次一级的运算,从而极大地降低数据运算的复杂度。

为了更形象地描述这一法则的运算规律,我们以2为底进行进一步的说明。表1-1给出的是以2为底,以n= 3到12之间的整数为指数所构成的几何级数。假设我们要用32乘以128,通过查表我们找到相对应的指数分别为5和7,二者之和为12;在表中反过来寻找指数为12的数对应为4 096,这就是我们想要的答案。再举一个例子,如果要计算45,我们会发现4对应的指数为2,因此我们只要用2乘以5得到10,然后从表中我们可以找到10对应的数为1 024。所以结果毋庸置疑就是 。

表1-1 2的幂

n

-3

-2

-1

0

1

2

3

4

5

6

7

8

9

10

11

12

2n

1/8

1/4

1/2

1

2

4

8

16

32

64

128

256

512

1 024

2 048

4 096

当然,这样精密的计算对纯整数运算而言是没必要的,但对包括整数和分数在内的任意数的计算则非常实用,前提是要找到一个庞大到无所不包的数表。实现这一方法有两种途径:一是以分数作为指数;二是找到一个足够小的数作为底数,使得相应的幂缓慢增长。以分数指数为例,我们定义 。但纳皮尔时代还没有认识到这一点[9],因此他只能选择第二种途径。问题是,选择多小的底数呢?显然不能太小,否则它的幂增长太慢,数表同样会失去实用价值。似乎选择一个接近1但又不等于1的数比较合适。经过数年的斟酌,纳皮尔决定选用0.999 999 9,即 。

但为何偏偏选这个数呢?答案似乎可以解释为纳皮尔想尽量避免使用小数。分数到了纳皮尔时代大概已经被使用了几千年了,只不过都写成简分数,即整数比的形式。而小数--它将十进制记数法扩展到了小于1的数值--在当时的欧洲才刚刚出现[10],人们还不适应它。为了避免使用小数,纳皮尔采用了与我们今天将1美元分成100美分或将1公里分成1000米相似的做法:他将一个单位分成了许多个子单位,并将每个子单位视为新的单位。由于他的主要目的是减少三角运算中繁琐的劳动,他依据实际需要将单位圆的半径分成了10 000 000即107份。所以当我们从一个完整的单位中取走它的 分之一,那么就会得到一个与1非常接近的数,也就是 或0.999 999 9。之后,这个数就成了纳皮尔在构建他的表格时使用的公比(他称之为"比例")。

 

今天,这样的工作当然可以用计算机来完成,即便用计算器也只需几个小时就可以算完。但纳皮尔只能用笔和纸来完成所有计算工作,这也让人理解了为何他尽量避免使用小数。用他自己的话说,就是:"在计算这个级数(第三张表中所有项 )的过程中,鉴于计算第一张表的首项10 000 000.000 00和末项9 995 001.222 927的比值非常麻烦,所以在计算这21个数时就使用了10 000∶9 995这个简单的比例,与上述比值还是非常接近的。如果不出现计算错误,那最后一项应当是9 900 473.578 08。"[11]

 

参考文献:

[1] As quoted in George A. Gibson, "Napier and the Invention of Logarithms,"in Handbook of the Napier Tercentenary Celebration, or Modern Instruments and Methods of Calculation, ed. E. M. Horsburgh (1914; rpt. Los Angeles: Tomash Publishers, 1982), p. 9。

[2] 纳皮尔的名字有Napair、Neper、Naipper等多个版本,确切的拼写方法已无法考证。参见Gibson的"Napier and the Invention of Logarithms",p.3。

[3] 家谱是约翰的一位后人Mark Napier记录的,名为Memoirs of John Napier of Merchiston: His Lingeage, Life, and Times(Edinburgh,1834)。

[4] P. Hume Brown, "John Napier of Merchiston," in Napier Tercentenary Memorial Volume, ed. Cargill Gilston Knott (London: Longmans, Green and Company, 1915), p. 42。

[5] 同上,p.47。

[6] 同上,p.45。

[7] See David Eugene Smith, "The Law of Exponents in the Works of the Sixteenth Century," in Napier Tercentenary Memorial Volume, p. 81。

[8] 早在14世纪就有一些数学家提出了负指数和分数指数,不过这些概念在数学中的广泛使用还得归功于英国数学家约翰·瓦利斯(1616-1703),以及在1676年提出现代记法 的牛顿。参见Florian Cajori发表于Elementary Mathematics(1928; rpt. La Salle, III.: Open Court, 1951)第1卷的"A History of Mathematical Notations",pp.354-356。

[9] 见注解[8]。

[10] 经佛兰德科学家Simon Stevin(即Stevinius,1548-1620)介绍引入。

[11] Quoted in David Eugene Smith, A Source Book in Mathematics ( 1929; rpt. New York: Dover, 1959), p. 150。

[12] 关于纳皮尔对数其他一些方面的讨论见附录1。

粉丝福利

Science》大力推荐的书籍美丽数学

    详情请查看原文链接


 征稿启示

attention

本号现公开征集算法、数学相关的文章!您可以将文章发送至邮箱[email protected] 或联系微信号hengzi5809,一经选用,基础稿费100元加阅读量分成,千元稿酬等着您!