其实,人们认识到e的过程还是很曲折的,不像认识并理解π那样简单明了。有的普及文章认为,人们是通过“利滚利”的高利贷,并不断缩短计息周期而发现e的。从我了解的数学历史情况来看,应该不是这样。事实上,利滚利的极限应该是在人们发现了e之后才认识到的,而不是相反。
人们认识到e,还要从认识到对数说起。我们今天知道,对数是指数的逆运算,可是,人们最早认识并朴素的定义出对数的时候,还完全没有意识到这是指数的逆运算。人们是为了简化计算(特别是天文计算)而发现对数的!
今天,当我们计算一些复杂数字的时候是很容易的。智能手机中的计算器app、一些办公室常用的计算器等,都可以非常方便的计算加减乘除和开方、乘方的结果。可是,如果我们把时钟调回500年前,那时的人们要想计算一些复杂数字还是很不容易的。
比如,要手工计算0.258819*0.984808的结果,需要多次计算乘法、加法。当然,只算一次这样的数还可以,如果有成百上千次的类似手工计算,显然是让人崩溃的。
聪明的人们在认识到三角函数以后,就利用三角函数表和三角函数之间的关系,发明了一种将乘除计算转化为加减计算的方法,被称之为“加减术”。还以上面两个数字相乘为例:
已知2sinA⋅cosB=sin(A+B)+sin(A−B)
查三角函数表得,0.258819≈sin15∘,0.984808≈cos10∘
于是得到0.258819×0.984808≈sin15∘×cos10∘=12(sin25∘+sin5∘)
再查三角函数表得,sin25∘≈0.422618,sin5∘≈0.087156
于是,人们将乘除法的计算通过查找三角函数表转化为了加减法的计算,得到
0.258819×0.984808≈0.422618+0.0871562=0.254887
这个计算结果和直接用计算器计算得到的结果0.254887021752是一致的。
通过这种“加减术”,在大量计算的时候,人们可以节省一半以上的工作量。这在当时那个时代,是一种巨大的进步。当然,这个进步的基础,是要制作出足够精确的三角函数表。
约翰.纳皮尔是苏格兰数学家、天文学家,出生于1550年,过世于1617年。他为了简化天文计算,一直潜心研究简化计算的方法。大概在1594年,他从一个国王的御医那里了解到了丹麦天文学家、数学家第谷采用的“加减术”,受到了启发,并最终给出了关于“对数”的构想。他的关于对数的著作《奇妙的对数表说明书》(英文名《A Description of the Wonderful Table of Logarithms》,原文名《Mirifici logarithmorum canonis descriptio》)于1614年6月出版,他也因此一举成名。
纳皮尔用来描述他所定义的对数的方式是很有意思的,到今天,人们也没有弄清楚到底是基于怎样的思考,纳皮尔竟然用几何运动相关的模型来描述对数。以下是纳皮尔用来描述对数的“运动模型”:
纳皮尔构造了两个粒子的运动,粒子b在一条无穷长的射线上做匀速运动;粒子β在一条固定长度线段上做变速运动,其运动速度在数值上与β粒子到线段终点的距离相同。两个粒子的初始运动速度相同。(参见下图)
纳皮尔构造运动模型定义对数的示意图【此图来源于Kathleen M. Clark (The Florida State University) and Clemency Montelle (University of Canterbury)在MMA上的文章《Logarithms: The Early History of a Familiar Function》】
纳皮尔定义,在某一时刻b粒子所运动的距离(例如上图中的y=AG)是β粒子到线段终点距离(对应上图中的 x=ηω)的“对数”。后来,人们把这个“对数”关系叫做纳皮尔对数。
下面,我们用现代数学来计算一下,到底“纳皮尔对数”是个啥?
设β粒子运动的线段长度为p0,那么β粒子一开始距终点的距离就是p0,β粒子运动的初始速度也是p0,根据纳皮尔的设定,b粒子运动的初始速度(也就是b粒子的持续运动速度)也是p0。
再设β粒子在t时刻距终点的距离(也就是t时刻β粒子的速度)为x=p(t)。
于是,t时刻β粒子所走过的路程就是p0−p(t),对这个路程微分就得到了t时刻β粒子的速度,这个速度应该等于p(t)。由此列出的微分方程如下,
d(p0−p(t))dt=−dp(t)dt=p(t)
把这个微分方程变换一下,得
−dp(t)p(t)=dt
两边做不定积分,得
−∫dp(t)p(t)=∫dt⇒−ln(p(t))=t+C
将t=0时p(0)=p0带入,计算得到C=−ln(p0),于是有
t=ln(p0)−ln(p(t))=ln(p0p(t))
再看b粒子,它在t时刻走过的路程为y=p0⋅t,于是我们可以得到y与x的关系为
y=p0⋅t=p0⋅ln(p0p(t))=p0⋅ln(p0x)... ...(1)
这个关系就是纳皮尔给出的“纳皮尔对数”。我们由此定义纳皮尔对数为
NapLog(x)=p0⋅ln(p0x)
如果我们再把式(1)变换一下,得到
yp0=ln(p0x)=−ln(xp0)=loge(xp0)loge1e=log1exp0
也就是说,纳皮尔对数其实是以1e为底数的对数。
纳皮尔费这么大劲搞出来的纳皮尔对数,是要用来化简计算的。纳皮尔大约从1590年就研究纳皮尔对数,花了20多年的时间,在1614年才发表其结果,主要原因是大部分时间都用来计算并制作纳皮尔对数表了。由此可见,那个时代,算数即是一项重要工作,也是一项艰难的工作,今天的我们是很难有切身体会的。
纳皮尔取p0=107,并由此逐一计算了x从10000000开始,使得纳皮尔对数值y为0、1、2、3、......的一系列x值,形成了纳皮尔对数表。之所以取p0=107,是因为纳皮尔还深深受到三角函数表的影响,当时的割圆术计算三角函数取值的表中,可以把圆分为107份,计算精度大概也是小数点后6~7位。而且纳皮尔在自己的对数表中,还把xp0对应回正弦函数。按照纳皮尔的工作,我大概整理了纳皮尔对数表的示例如下。
纳皮尔费尽心血整理的对数表,可以用来简化乘积开方运算。比如上图中,如果需要计算8184478.5×2135938.9,那么就可以找到这两个数的纳皮尔对数,分别是2003456和15436788,然后将这两个纳皮尔对数求和再除以二,得到(2003456+15436788)/2=8720122。之后再去纳皮尔对数表中找到纳皮尔对数为8720122对应的x,得到4181093.8,这个数字就是要计算的开方结果,和我们用计算器计算得到的开方结果4181093.8765非常接近。
至于为什么是这样,根据上面得到的纳皮尔对数的现代数学关系,学过指数和对数的中学生应该就可以推导得出了,我就不再赘述了。
当然,与纳皮尔同时期的一位瑞士的教师比尔吉(Joost Bürgi,1552-1632)也曾经(实际上可能更早些)制作出了对数表。不过,他的成果是在1620年发表的,比纳皮尔晚了6年。不像纳皮尔,比尔吉是通过代数的方法得出对数关系的。
关于谁才是对数的发明人,数学史学家们有过一些争论,但是现在主流的观点认为,纳皮尔正式发表成果在先,而且纳皮尔的著作传播得更广,纳皮尔对数的概念也更加深刻一些,因此,公认纳皮尔为对数的发明人。当然,也有认为纳皮尔和比尔吉都是对数的发明人的。
有朋友会问了,你说了这半天,e到底在哪里呢?
其实纳皮尔在手工计算对数的时候,所用到底数(当然,那时候完全没有底数这个概念)就是(1−10−7)107,有了现代数学概念,我们很容易知道这个数非常接近1/e。事实上,前面已经介绍了,本质上纳皮尔对数就是以1/e为底数的一种对数。只不过纳皮尔还没有清楚的认识到伟大的“e”。
比尔吉在他的对数表中所涉及到的底数是(1+10−4)104,这个数字非常接近e了。当然,比尔吉也没有认识到伟大的“e”。
所以,e被人们认识并不是一蹴而就的。
当然,考究历史非常困难,我们今天很难确定“e”被人们认识的准确过程。
首先,在1665-1668年,大科学家牛顿、尼古拉斯·麦卡托分别独立得到了e的无穷级数,也即e=10!+11!+12!+...(当时还没有明确地用字母e来表示这个数字)。麦卡托还在1668年出版的《Logarithmotechnia》(《对数术》)中提到了“自然对数”这个名字。
其次,在卡约里的《数学符号史》中提到,1690-1691年间,莱布尼兹给惠更斯的信中提到了今天e这个常数,不过当时莱布尼兹使用的字母是b。这说明当时e的表示方式尚未得到确定,大家各自用自己想用的字母来表示e。
之后,在大数学家欧拉的1727-1728年手稿中,专门使用了字母e表示了这个常数,并且给出了这个常数的数值2.7182817...。在1731年11月25日,欧拉写给哥德巴赫的信中,又一次明确提到了e,并且指出e是使双曲对数(就是今天的自然对数)值为1的那个数(“e denotes that number whose hyperbolic logarithm is = 1.”)
到了1742年,终于由英国数学家琼斯给出了实数范围内对数的定义,这也正是我们今天关于对数的定义:已知a是不等于1的正数,如果a的b次幂等于N,那么b叫做以a为底的N的对数。
从上述历史过程可以看到,e被人们认识是伴随着对数被人们日益清楚的认识而自然而然发生的。历史上人们至少从两个角度不断推进对e的认识的。
可能有朋友问,问什么纳皮尔要选择p0=107这么大呢?这是因为如果选择太小的p0,那么制作出来的对数表的数据密度就会很低,很多数字从中找不到,不能很好的发挥计算工具的作用。
比如,如果选择2为对数的底数,那么对数值为1-10这10个数字的时候,对应的指数原值就从20=1快速增长到210=1024,那么如果希望用到798这样的数字,就找不到接近的对数原值了。
因此,选择对数的底数制作对数表的时候,理想情况是选择一个比1稍大一点点的数。后来,人们在制作对数表的时候,就越来越倾向于选择1+110n这样的底数。n选择的越大,数据密度(某种意义上也体现了计算精度)就越大,利用价值就越大。
于是,就必然出现y=log(1+10−n)x的对数。当y取到10n时,反推出来的x就会等于(1+110n)10n。人们自然就会发现,随着n不断增加,这个数越来越趋向于一个确定的值,从而认识到这个数列存在极限,也就是e。
另一个角度是在研究对数函数的微分时候认识到e的。
令y=logax,当我们求y的导数的时候,会得到
dydx
=limΔx→0loga(x+Δx)−logaxΔx
=limΔx→01Δxlogax+Δxx
=limΔx→0loga(1+Δxx)1Δx
=limΔx→01xloga(1+Δxx)xΔx
=1xlogalimΔx→0(1+Δxx)xΔx
于是,又一次出现了类似的极限limΔx→0(1+Δxx)xΔx=limn→∞(1+1n)n。
当然,大家都知道,这个极限就是e。因此,如果把对数的底数a取为e的时候,就会得到最简洁、自然的形式,(logex)′=1x。于是,人们把logex定义为lnx,并取名叫做自然对数,因为这样取底数得到的导数最简洁、最自然。
无论通过哪个角度,人们最终认识到了自然对数的底数——e。随着数学不断发展,人们日益发现e的身影无处不在,e的作用伟大而神奇。终于,e在人类认识到的各种常数中脱颖而出,成为了和圆周率π齐名的伟大的数学常数!
对数的发现过程中,最奇怪的一点就是,当时欧洲的代数学还十分“落后”(指相对于现在),连指数、底数这些基本的概念都还没有建立,因此,人们根本不是基于ax=b这样的代数关系发现对数的。事实上,纳皮尔是从几何运动的角度发现了对数关系的;比尔吉是从代数的级数对应角度发现对数关系的。
我们今天很容易理解的对数,初中学生就已经开始学习的对数,在那个年代是非常深奥、复杂的数学概念和理论。有数学史学家曾经指出“对数的发现早于指数的应用这个事实,是数学史上的反常现象之一。”
纪念纳皮尔的文集的序言中写道“这项发明是孤立的,它没有借助其他智力工作,也没有遵循原有的数学思想路线,就突然闯到人类思想中来了。”
作为一篇数学科普文章,既然提到了e的极限定义公式,如果不给出些证明,似乎不太够意思。下面,提供一个相对巧妙的方法,证明limn→∞(1+1n)n存在。因为只有这个极限存在,才能定义其为常数e。
第一步,我们证明一个不等式,
对于任意满足b>a>0的实数a和b,不等式bn−an<(b−a)nbn−1成立。
这是因为bn−an=(b−a)(bn−1+bn−2a+bn−3a2+...+b⋅an−2+an−1)
又因为a<b,所以将上式中第二个括号内的a全部换成b,必会使结果变大,从而待证明不等式成立。
再将此不等式整理为an>bn−1[b−(b−a)n]...... (2)
第二步,设整数n>1,令a=1+1n,b=1+1n−1,此时仍满足b>a>0的前提条件,则式(2)仍成立。将其带入式(2),得到
(1+1n)n>(1+1n−1)n−1
这说明(1+1n)n随着n单调递增。
第三步,令a=1,b=1+12(n−1),带入式(2),得到
2>(1+12(n−1))n−1,两边平方,得到
4>(1+12(n−1))2(n−1)
因为n是大于1的任意整数,说明此数列有上界。
单调递增数列有上界,则极限必存在。
由此,我们可以定义e=limn→∞(1+1n)n。
与e有关的数学定理、公式太多了,可以说多如牛毛、数不胜数。这也是为什么e已经成为科学各学科领域中最重要的常数之一了。
eiπ+1=0,欧拉公式,号称最优美数学恒等式,它将e、π、i、1和0组合在了一起,简洁、优美,含义深刻。
limx→∞π(x)x/lnx=1,或者limx→∞π(x)∫2xdxlnx=1。这两个式子是等价的,π(x)是小于等于x的素数的个数。这个公式中虽然没有显式出现e,但是出现了ln,其实就是隐式的出现了e。素数和e的这种联系很奇特,要知道素数是整数范畴的概念,属于离散数学,而e是分析范畴,属于极限和连续领域。它们之间居然有这么紧密的联系,很不寻常。
正态分布的概率密度f(x)=(2π⋅σ)−1⋅e−(x−a)22σ2,其中a是正态分布的平均值,σ是标准差,σ2是方差。正态分布用处太广泛了,而且根据中心极限定理,任何大量的独立变量之和都趋于正态分布。这里面e当仁不让的占据着核心地位。
除了数学领域,物理学领域也有大量的公式和定律中出现e。例如麦克斯韦速率分布定律、气体在重力场中的玻尔兹曼分布、布朗运动规律、放射性元素衰变等等等等。
e是一个美妙而神奇的常数,而且是不容易被发现和认识到的常数。感谢历史上诸多伟大的数学家,使我们了解了这样一个神奇的常数,并且推动着科学不断向前发展。