最美公式:欧拉公式
2004年,英国权威科学期刊《物理世界》举办了一个活动:让读者投票选出科学史上最伟大的公式。结果,具有“最美公式”美誉的欧拉公式毫无悬念地成功入选,它是伟大数学家欧拉于1748年发表的一个极其重要的公式:
这个公式非常巧妙地将三角函数与复指数函数关联了起来,深刻而优美,被数学家们誉为“上帝公式”、“宇宙第一公式”等等。数学王子高斯就曾经说过一句话:“如果一个人第一次看到欧拉公式而不感受到它的魅力,那么他不可能成为数学家”。物理学家理查德·费曼称之为:“我们的珍宝”和“数学中最非凡的公式”。
尤其是当 的时候,欧拉公式可简化成为:
统一到一个公式中,仿佛一句诗,道尽了数学之美和自然之美,令人叹为观止!
而比欧拉公式更令人惊叹的是欧拉本人传奇的一生,他是人类史上最伟大的天才数学家之一(去掉之一也行),也是史上最多产的数学家。在29岁右眼失明、59岁双眼失明的不幸遭遇下,欧拉凭借着对数学纯粹的热爱和非凡的意志,一生写下了令人难以置信的886种书籍论文,平均每年写出800多页,范围涵盖分析、代数、数论、几何、物理、力学、天文学、弹道学、航海学和建筑学等领域。圣彼得堡科学院为了整理他的著作,足足忙碌了四十七年。如今几乎每一个数学、物理领域都可以看到欧拉的名字,从初等几何的欧拉线、多面体的欧拉定理、立体解析几何的欧拉变换公式、四次方程的欧拉解法、数论中的欧拉函数、刚体力学的欧拉方程和欧拉角、流体力学的欧拉方程、变分学的欧拉-拉格朗日方程、级数论的欧拉常数和欧拉乘积公式、图论中的欧拉图、复变函数的欧拉公式等等等等等等,数不胜数。要知道,很多优秀的数学家穷其一生都未必能创造哪怕一个以自己命名的公式和定理啊!欧拉一个人就完成了这么多变态级的伟大成就,让人不得不怀疑他到底是不是人类。关于欧拉的故事这里就不作详细展开,我将放在后面的文章单独叙述。
现在我们回到欧拉公式上来,它到底是怎么推导出来的呢?应该怎么来理解它呢?
我们以前大学的复变函数教材是这样引入这个公式的:
(这张图是从我十几年前用的教材上拍出来的,年代感和沧桑感跃然纸上有木有!至今我仍保留着它,主要是想用来当反面教材)
我相信大部分同学看到这样一个从天而降的定义之后,十有八九都被劝退了。什么玩意儿!这是规定出来的?有这么简单粗暴、直奔主题的吗?真的是令人猝不及防,非常费解!
接下来,我将结合分析语言和几何直观从3个不同的角度来聊聊如何推导和理解这个伟大的公式。
一、初等方式
我们先仔细观察欧拉公式等号两边到底在表达什么,先看看右边
这一串代数式对于高中生或者曾经是高中生来说,应该都已经烂熟于心了!这不就是一个复数嘛, 是这个复数的实部, 是虚部, 虚数单位,满足 (我以前写过一篇文章介绍了虚数单位 的历史,有兴趣的同学可以点击公众号看一下)。而且,根据三角函数等式,这个复数还有一个重要的性质,那就是它位于复平面上的单位圆,因为:
这个等式在平面上描绘出来的轨迹就是单位圆。
欧拉公式右边的代数式我们搞清楚了,它就是一个单位圆。
再来看左边,这个 是什么意思,它看起来跟我们以前学过的实值函数不太一样,以前我们学过的函数,定义域和值域都在实数范围内,比如这些函数: , , 。其中, 是实数。(关于自然底数 的历史我也写过一篇文章自然底数e究竟是一个什么样的数?,有兴趣的同学点击链接进去看看。)
这个 可倒好,变量是复数(或称为复变量),而且最不可思议的是复变量竟然位于指数的位置,也就是说对复数进行指数运算。如果说是像 (其中 是复数)这样的复函数,那我们还可以理解的,直接按照复数的乘法运算把函数的表达式展开出来就得了。但是这个 的复变量偏偏就是位于指数位置,这玩意我们可没学过哦,我们只会复数的加减乘除运算,复数的指数运算是什么鬼,一脸懵逼!
让我们冷静地想一想,不要被这个 的诡异外表给吓懵了。不管你的复变量位于什么位置,也不管你对复变量做什么运算,指数运算也好,三角运算也罢,你运算之后的结果肯定也是一个复数吧,难不成你还能超脱于复数域之外,变成一个其他的数?打一个不恰当的比喻,如果让一个男人与一个女人做一次“运算”,难道能生出来一个非人类(虽然这个比喻有点惊悚)。事实上,复数域对于基本运算都是封闭的,也就是说两个复数做基本运算之后,其结果仍是一个复数,逃不出复数域的五指山。
好,既然 也是一个复数,那我们不妨设: 其中,实部 和虚部 都是实数,而且都是关于 的函数,为什么是关于 的函数?我们可以这样想,对于任意不同的 值, 这个复数应该也是不同的,也就是说其实部和虚部会随着 的变化而变化,所以实部 和虚部 与 存在函数关系,这个函数关系的具体表达式正是我们要求解的问题所在。
可能有人会问质疑说,实部 和虚部 与 也可以不存在函数关系啊,比如 和 ,即实部和虚部都恒等于常数,不随 的变化而变化。如果是这样,那就说明它们之间不存在函数关系啊!首先,我要肯定这些人的质疑精神,质疑是科学进步的推动力。让我们思考一个例子,比如 。这是不是一个函数?这其实就是一个常值函数,它把所有的 值都映射到2这个值上,这样的映射关系也属于一种函数关系,也就是说常值函数是一种特例,包含于普遍的函数关系中。同样的,我们说实部 和虚部 与 存在函数关系,并不是把常值函数的情形排除在外,而是统一纳入其中。所以,假设实部 和虚部 与 存在函数关系是非常自然的和合理的。
对比一下(1.1)式和欧拉公式,现在我们的目标是要证明两点:
1、(1.1)式所表示的复数模长为1;
2、(1.1)式所表示的复数幅角为 。
为什么证明这两点就相当于证明了欧拉公式?因为如果一个复数的模长为1,且幅角为 ,那么写出来的结果就是欧拉公式那个形式。
现在我们把(1.1)式两边同时对 进行求导,其中,我们要用到指数函数、三角函数等初等函数的求导公式。左边求导之后结果是 ,这是根据实值指数函数的导数法则推广而来的,为什么可以这样直接推广?
回忆高等数学里面的一个基本的事实: 是其自身的导数: ,如果 ,而且 ,则 。与此类似,如果 是一个实常数,则 可以由以下性质来定义: ,而且有 。为了把通常的指数函数 从 的实值推广到虚数值,我们可以认定当 时:
(1.1)式右边求导结果是直接对实部和虚部分别进行求导,因此,两边同时求导之后的最终结果是:
这里,一撇表示对 求导。
再把 (1.1)式代入(1.2)式的左边,重新整理一下即可得到: 这个等式说明左右两边两个复数相等,那么其实部和虚部当然也分别相等,即: 为了证明(1.1)式所表示的复数模长为1,我们考虑模长对 求导。首先,复数模长为:
对该等式两边进行求导:
这里把实部 和虚部 简写为 和 。
根据(1.4)式可得 :所以(1.6)式实际上等于0,即:
因此有:
显然, 的值不可能等于0,所以只能是: 复数 的模长关于 的导数恒等于0,这说明什么?不就说明了复数 的模长是常数,与 无关吗?也就是说,无论 取什么值,复数 的模长都保持不变。那它的模长等于多少呢?很简单,我们取一个 的特定值代入进去不就知道了吗?那取什么样的值最合适呢?我们知道指数函数有一个特殊的函数值,那就是当指数为0的时候,其函数值等于1。所以,根据指数函数这个特点,我们把 代入模长公式,得到: 这就证明了我们的第一个目标:复数 的模长为1。
我们接着证明复数 的幅角为 。
为了方便,我们记复数 的幅角为 ,这个幅角跟 有关,是 的函数,为什么是 的函数?因为复数的虚部和实部之比等于正切,即: 而我们上面已经分析了,实部 和虚部 都是 的函数,那幅角 当然也是 的函数。
现在我们继续对(1.10)式两边同时对 求导,左边求导之后结果为: 右边求导之后得到:
上式的分子为什么等于1,请思考一下。
把(1.10)式左右两边求导的结果再用等式连起来,即(1.11)与(1.12)两式相等,得到幅角 关于 的导数: 一个函数的导数等于1,这又说明了什么?说明这个函数与自变量满足下面的关系:
其中,const是一个常数项。为了确定这个常数项,我们再次利用上面求解模长的方式,取一个特定值 代入复数 。也就是说,这时候实部C=1,虚部S=0。所以,根据(1.10)式:
如果这个 取为幅角主值,那么就有 。也就是,当 时有 ,所以常数const=0。这就证明了: 也就是复数 的幅角为 ,这就证明了我们的第二个目标。
综上所述, 我们刚开始假设的(1.1)式:这个式子所表示的复数,其模长为1,幅角为 。
所以(1.1)式就是欧拉公式: 证毕。
二、质点模型
上面的初等方式在导入复指数函数 的过程是非常自然的,比一些刻板教材用从天而降或者“规定”的简单粗暴方式友好多了。但是公式推导过程难免让人觉得太过于抽象和繁琐,显得不够直观。下面我们结合物理概念和几何直观从质点模型的角度来加深欧拉公式的理解。
我们都知道复数是一个二维数,它跟复平面上的点一一对应,而平面上的点又与向量一一对应,所以任何一个复数都可以看作是平面上的一个向量。在物理学中有一个叫位移的物理量,这也是一个向量,它的方向从原点指向坐标点所处的位置(物理上称之为径向),这个向量描述的是一个质点的位置随时间的变化轨迹,也就是质点的运动曲线。
那么,很自然的,我们可以把复数 看成是一个质点的运动曲线(这里,我们使用了字母 代替 ,因为我们现在认为自变量是时间,时间这个物理量一般用 来表示)。这个曲线描述的是在时刻 质点的位置。
现在让我们回想物理学中的速度概念,速度也是一个向量(在这里我们同样也可以把它看作是一个复数),它是位移关于时间的导数,其方向就是运动曲线的切线方向。
设质点的位移 ,速度为 ,则有: 所以,给定一个实自变量 的位移 ,我们总可以把它可视地看作是一个质点在时刻t的位置,且位置关于时间的导数 就是质点在时刻 的瞬时速度 。
我们现在就用这个质点模型来求解位移 的具体轨迹。上面我们已经分析过 这样的函数的导数,即: 联立(2.1)和(2.2)即可得到: 这个方程式就很有意思了,它表明任意时刻t,速度 等于虚数单位 乘以位移 。而我们都知道,复数乘法的几何意义就是旋转,任何一个复数乘以虚数单位 相当于该复数逆时针旋转一个直角。所以,在任意时刻 ,质点的速度向量 与位移向量 垂直。
能够满足这个条件的轨迹是什么呢?
没错,只有圆周运动轨迹才能满足这样的条件,在任何时刻 ,速度与位移处处垂直的运动轨迹就是圆,如上图所示。
好,运动轨迹求出来了,是一个圆,那还有一个问题,这个圆的半径是多少?老办法,我们用 这个特定值代入位移向量 ,即可得到在初始时刻质点的位移: 也就说初始时刻质点的位置位于 处,根据(2.3)式,这时候初始速度为 ,与位移向量垂直。
所以,这个位移 的轨迹是一个单位圆。既然是单位圆,那就可以表示为: 把自变量 替换为 就是欧拉公式: 证毕。
这里顺便抛出一个问题给读者们思考一下,如果位移向量对时间t求二阶导数,那么结果是什么物理量?这个物理量与原来的位移向量的方向关系如何?
方向还是与 垂直吗?
三、泰勒公式
在微积分学中有一个非常重要的公式——泰勒公式,这个公式可以说是微积分的巅峰,它是我们研究函数极限和误差估计的最重要工具之一,无论是数学、物理等理论学科,还是工程、计算等应用学科,随处都可见到泰勒公式的身影,可见它的重要性。但是这里我不打算来展开叙述这个公式,大家先接受它就行。这个泰勒公式是说,如果函数 在 附近充分光滑(具有多阶可导),那么 在 附近的函数值可以用一个多项式函数来逼近:这叫做函数 在 这个点的泰勒展开式。很多初等函数都可以通过泰勒公式展开成一个无穷级数的形式,比如: 这几个级数都是函数在 处的展开式,而且展开后的级数在整个实数范围内收敛。
我们令 ,代入(3.2)式,即可得到: 根据虚数 的定义, , ,所以(3.5)式可以整理为: 具体整理的过程我就不赘述了,请读者们自己手推一下,很简单的算术题而已。
仔细对比(3.3)式、(3.4)式和(3.6)式之后,不难发现,(3.6)式右边两个括号内的级数刚好就是 和 ,所以欧拉公式: 得证。
利用泰勒公式证明欧拉公式是最常用的方法之一,其证明过程非常简洁和清晰,只要直接代入公式即可,这也是大部分教材和一些网上的资料所采用的方法。
这个方法当然没有错,但是给人的感觉还是很抽象。我这里补充一种几何直观的方法来理解泰勒级数(3.5)式的收敛过程。
我们先来看看(3.2)式,这个式子右边的级数逐项累加过程可以这样来理解:假设现在有一个动点位于笛卡尔坐标系的原点,那么(3.2)式中的每一项的累加过程,可以看作是这个动点向坐标系 轴方向不断移动的过程,比如:第一项1,相当于动点从原点移到 这个位置,再加上第二项 的时候,相当于动点继续向前移动 个单位距离,再加第三项 的时候,相当于又继续向前移动 个单位距离,如此循环一直移动下去,最终动点的位置会收敛到一个定点,也就是这个移动过程所累加起来的距离是收敛的,不会一直移动到无穷远处。
再看看(3.5)式,这个级数的每一项与(3.2)式的每一项其实是有联系的。为了方便,我们把(3.2)式的 替换为 ,然后与(3.5)式放在一起比较: 可以看出, 的第 项与 式的对应项式一样的,比如第1项、第5项等等。第 项、 项和第 项分别多乘了 、-1和 这3个数。也就是说,如果我们对两个级数的累加项分别按照每组4项进行分组,那么每组内的第一项相同,后面三项, 的项比 的对应项分别多乘了 、-1和 这3个数,并如此循环反复,一直进行下去。比如,我们看两个式子的前四项,第一项都是1,第二项,分别是 和 ,根据复数乘法的几何意义, 其实就是 逆时针旋转90度,第三项 是 逆时针旋转180度,第四项 是 顺时针旋转90度等等。
所以,如果我们继续用上面动点移动的观点来理解 那一串级数的逐项累加过程,那么其过程就应该是这样的(如上图):先向右移动1个单位距离,然后垂直于 轴向上移动 个单位距离,然后向左移动 个单位距离,然后再向下移动 个单位距离。也就是按照向右、向上、向左和向下的移动顺序,循环反复进行下去。从上图我们可以看得很清楚,这样的动点移动轨迹类似一种螺旋线,这条线就好像是把躺在轴上那条 的线段,按照原来每一段的长度,从节点处逐次折一个90度角之后形成的折线段一样(用文字描述太苍白无力了,你们自己看上面的图想象一下)。而且,每次移动的距离与 那种移动方式的距离是相等的,因为 的每一项仅仅是 的对应项通过旋转得来的,没有拉伸作用。
所以 与 所表示的动点移动过程,其运动路程是相等的,但是位移并不相等,因为 的那个动点是一路向前移动的,而 的动点是左右上下移动的,最终的位置当然不一样。这就好比你从A点走到AB的中点C,然后继续走到B点,最终你的位置是B点,但是如果你到达C点之后返回A点,那你的最终位置还是在出发点A点处,虽然这两个过程你走过的路程相等,但是位移不相等,即最后落位不一样。
好,我们已经借助一个动点的运动模型理解了 的级数累加过程,那这个过程会一直无限下去,还是收敛到一个定点?我上面已经描述了这个过程的结果,因为两个级数所表示的动点移动路程是相等的,而 是收敛的,那么 必然也收敛。用分析语言来证明就是:
这里,复数加绝对值号表示模长。
因为 是收敛的,根据控制收敛定理, 也收敛,即 绝对收敛,那么 也收敛。
既然级数 是收敛的,但是它到底会收敛到复平面上哪个具体的点呢?
上面我们已经通过泰勒公式方法证明出来了,级数 最终收敛于单位圆上幅角为 的点,即欧拉公式:
我们通过图像来直观看一下级数 最终的收敛位置,请看下面这张图:
这张图是当 时,级数 最终的收敛位置,可以看到,最后收敛于-1,也就是: 这就是 时的欧拉恒等式。
这里我们稍微停下来思考一下,以前我们高中学习对数函数 的时候,为了保证函数有意义,要求定义域 。如果现在把对数函数的定义域推广到复数域,那么你觉得 的值应该等于多少?
当 不断变化的时候, 所表示的点刚好在单位圆上做圆周运动,请看动图:
这些动图来自一个非常著名的数学可视化视频UP主3Blue1Brown,他的视频以直观的动画呈现各种抽象的数学公式和定理,深受广大学子的喜爱(当然也包括我这样的中年大叔)。强烈推荐他的两个系列视频:《微积分的本质》和《线性代数的本质》,有兴趣的同学可以去看看,相信你一定可以从中有所收获。
四、结语
上面三种方法各有千秋,第一种是纯数学分析的方法,尽管不是很直观,但是在导入复变量指数函数 的过程是非常自然和友好的,并且每一步推导都是建立在原有的严格数学分析基础之上的,通过环环相扣的逻辑演绎导出结论。虽说这种方法显得非常严谨,但是毕竟是有“数”无“形”,难免让人感觉抽象和晦涩,不利于加深欧拉公式的理解。第二和第三种方法,在抽象的数学分析基础上,结合了物理模型和几何直观,通过“数形结合”的可视化方法刻画了欧拉公式的本质,给人一种非常清晰和具象的感受,大大加深了对欧拉公式的理解。
我个人以前学习高等数学的时候,非常喜欢 语言那种抽象性和严密性,但也因此忽视了数形结合、几何直观和直觉思维等更加重要、更有价值的思考方式,可以说是本末倒置,以至于最后所学的东西仅仅浮于表面,没有真正内化为自己心中的理解框架,甚是遗憾!
那什么是数形结合的学习方法呢?这里引用一位科普人士PeiLingX的观点,他的观点深得我心,对我的启发很大,这个观点是这样的:“数形结合方法,就是把纸面上的严格推导(数),通过大量的思考,丰富为心中的直观理解(形)的过程。简言之,把数学学到心里的过程,就是从数到形的过程,也就是让自己对理论的理解更自然、更直观的过程”。这才是真正有效的数学学习方法!