-
1 课文阅读
-
2 我来读你来听
-
3 趣读链接
如何从麦克斯韦方程组推出电磁波?(没有图的页面是耍流氓!想看原版请自己去)
原创: 长尾科技 长尾科技
在前两篇文章里,长尾君给大家介绍了麦克斯韦方程组的积分和微分形式。大家也都知道麦克斯韦从这套方程组里推导出了电磁波,然后通过计算发现电磁波的速度正好等于光速。于是,麦克斯韦就预言“光是一种电磁波”,这个预言后来被赫兹证实。
电磁波的发现让麦克斯韦和他的电磁理论走上了神坛,也让人类社会进入了无线电时代。你现在可以随时给远方的朋友打电话,能用手机刷长尾科技的文章,都跟电磁波有着密切的关系。那么,麦克斯韦到底是怎么从麦克斯韦方程组推导出电磁波方程的呢?这篇文章我们就来一起见证这一奇迹的时刻。
01什么是波?
要理解电磁波,首先我们得了解什么是波?有些人可能觉得这个问题有点奇怪,什么是波这还用问么?我丢一块石头到水里,水面上就会形成一个水波;我抖动一根绳子,绳子上就会就会出现一个波动。生活中还有很多这种波动现象,我虽然读书少,但是什么是波还是知道的。
没错,水波、绳子上的波动这些都是波,我在这里抛出“什么是波?”这个问题并不是想来掰指头数一数哪些东西是波,哪些不是,而是想问:所有这些叫作波的东西有什么共同的特征?我们如何用一套统一的数学语言来描述波?
我们研究物理,就是从万千变化的自然界的各种现象里总结出某种一致性,然后用数学的语言定量、精确的描述这种一致的现象。现在我们发现了水波、绳子上的波等许多现象都有这样一种波动现象,那我们自然就要去寻找这种波动现象背后统一的数学规律,也就是寻找描述波动现象的方程,即波动方程。
为了寻找统一的波动方程,我们先来看看最简单的波:抖动一根绳子,绳子上就会出现一个波沿着绳子移动,以恒定的频率抖动就会出现连续不断的波。
为了更好地研究绳子上的波动,我们先建立一个坐标系,然后把注意力集中到其中的一个波上。于是,我们就看到一个波以一定的速度v向x轴的正方向(右边)移动,如下图:
那么,我们该如何去描述这种波动呢?
首先,我们知道一个波是在不停地移动的,上图只是波在某个时刻的样子,它下一个时刻就会往右边移动一点。移动了多少也很好计算:因为波速为v,所以Δt时间以后这个波就会往右移动v·Δt的距离。
另外,我不管这个时刻波是什么形状的曲线,反正我可以把它看成一系列的点(x,y)的集合,这样我们就可以用一个函数y=f(x)来描述它(函数就是一种对应(映射)关系,在函数y=f(x)里,每给定一个x,通过一定的操作f(x)就能得到一个y,这一对(x,y)就组成了坐标系里的一个点,把所有这种点连起来就得到了一条曲线)。
然后,y=f(x)只是描述某一个时刻的波的形状,如果我们想描述一个完整动态的波,就得把时间t考虑进来。也就是说我们的波形是随着时间变化的,即:我绳子上某个点的纵坐标y不仅跟横轴x有关,还跟时间t有关,这样的话我们就得用一个二元函数y=f(x,t)来描述一个波。
这一步很好理解,它无非告诉我们波是随时间(t)和空间(x)变化的。但是这样还不够,世界上到处都是随着时间、空间变化的东西,比如苹果下落、篮球在天上飞,它们跟波的本质区别又在哪呢?
02波的本质
仔细想一下我们就会发现:波在传播的时候,虽然不同时刻波所在的位置不一样,但是它们的形状始终是一样的。也就是说前一秒波是这个形状,一秒之后波虽然不在这个地方了,但是它依然是这个形状,这是一个很强的限制条件。有了这个限制条件,我们就能把波和其它在时间、空间中变化的东西区分开了。
我们这样考虑:既然用f(x,t)来描述波,那么波的初始形状(t=0时的形状)就可以表示为f(x,0)。经过了时间t之后,波速为v,那么这个波就向右边移动了vt的距离,也就是把初始形状f(x,0)往右移动了vt,那么这个结果可以这样表示:f(x-vt,0)。
为什么把一个函数的图像往右移动了一段vt,结果却是用函数的自变量x减去vt,而不是加上vt呢?这是一个中学数学问题,我这里稍微帮大家回顾一下:你们想,如果我把一个函数图像f(x)往右移动了3,那么我原来在1这个地方的值f(1),现在就成了4这个地方的函数值。所以,如果你还想用f(x)这个函数,那肯定就得用4减去3(这样才能得到f(1)的值),而不是加3(4+3=7,f(7)在这里可没有什么意义)。
所以,如果我们用f(x,t)描述波,那么初始时刻(t=0)的波可以表示为f(x,0)。经过时间t之后的波的图像就等于初始时刻的图像往右移动了vt,也就是f(x-vt,0)。于是,我们就可以从数学上给出波运动的本质:
也就是说,只要有一个函数满足f(x,t)=f(x-vt,0),满足任意时刻的形状都等于初始形状平移一段,那么它就表示一个波。水波、声波、绳子上的波、电磁波、引力波都是如此,这也很符合我们对波的直观理解。
这里我们是从纯数学的角度给出了波的一个描述,下面我们再从物理的角度来分析一下波的形成原因,看看能不能得到更多的信息。
03张力
一根绳子放在地上的时候是静止不动的,我们甩一下就会出现一个波动。我们想一想:这个波是怎么传到远方去的呢?我们的手只是拽着绳子的一端,并没有碰到绳子的中间,但是当这个波传到中间的时候绳子确实动了,绳子会动就表示有力作用在它身上(牛爵爷告诉我们的道理),那么这个力是哪里来的呢?
稍微分析一下我们就会发现:这个力只可能来自绳子相邻点之间的相互作用,每个点把自己隔壁的点“拉”一下,隔壁的点就动了(就跟我们列队报数的时候只通知你旁边的那个人一样)这种绳子内部之间的力叫张力。
张力的概念也很好理解,比如我们用力拉一根绳子,我明明对绳子施加了一个力,但是这根绳子为什么不会被拉长?跟我的手最近的那个点为什么不会被拉动?
答案自然是这个点附近的点给这个质点施加了一个相反的张力,这样这个点一边被我拉,另一边被它邻近的点拉,两个力的效果抵消了。但是力的作用又是相互的,附近的点给端点施加了一个张力,那么这个附近的点也会受到一个来自端点的拉力,然而这个附近的点也没动,所以它也必然会受到更里面点的张力。这个过程可以一直传播下去,最后的结果就是这跟绳子所有的地方都会张力。
而且,我们还可以断定:如果绳子的质量忽略不计,绳子也没有打结没有被拉长,那么绳子内部的张力处处相等(只要有一个点两边的张力不等,那么这个点就应该被拉走了,绳子就会被拉变形),这是个很重要的结论。
通过上面的分析,我们知道了当一根理想绳子处于紧绷状态的时候,绳子内部存在处处相等的张力。当一根绳子静止在地面的时候,它处于松弛状态,没有张力,但是当一个波传到这里的时候,绳子会变成一个波的形状,这时候就存在张力了。正是这种张力让绳子上的点上下振动,所以,分析这种张力对绳子的影响就成了分析波动现象的关键。
04波的受力分析
那么,我们就从处于波动状态的绳子中选择很小的一段AB,我们来分析一下这个小段绳子在张力的作用下是如何运动的。放心,我们这里并不会涉及什么复杂的物理公式,我们所需要的公式就一个,大名鼎鼎的牛顿第二定律:F=ma。
牛顿第一定律告诉我们“一个物体在不受力或者受到的合外力为0的时候会保持静止或者匀速直线运动状态”,那么如果合外力不为0呢?牛顿第二定律就接着说了:如果合外力F不为零,那么物体就会有一个加速度a,它们之间的关系就由F=ma来定量描述(m是物体的质量)。也就是说,如果我们知道一个物体的质量m,只要你能分析出它受到的合外力F,那么我们就可以根据牛顿第二定律F=ma计算出它的加速度a,知道加速度就知道它接下来要怎么动了。
牛顿第二定律就这样把一个物体的受力情况(F)和运动情况(a)结合起来了,我们想知道一个物体是怎么动的,只要去去分析它受到了什么力就行了,所以它牛。
再来看我们的波,我们从处于波动状态的绳子里选取很小的一段AB,我们想知道AB是怎么运动的,就要分析它受到的合外力。因为不考虑绳子的质量,所以就不用考虑绳子的重力,那么,我们就只要分析绳子AB两端的张力T就行了。
如上图,绳子AB受到A点朝左下方的张力T和B点朝右上方的张力T,而且我们还知道这两个张力是相等的,所以才把它都记为T。但是,我们知道波动部分的绳子是弯曲的,那么这两个张力的方向是不一样的,这一点从图中可以非常明显的看出来。我们假设A点处张力的方向跟横轴夹角为θ,B点跟横轴的夹角就明显不一样了,我们记为θ+Δθ。
因为绳子上的点在波动时是上下运动,所以我们只考虑张力T在上下方向上的分量,水平方向上的就不考虑了。那么,我们把AB两点的张力T都分解一下,稍微用一点三角函数的知识我们就能发现:A点出向上的张力为T·sin(θ+Δθ),B点向下的张力为T·sinθ。那么,整个AB段在竖直方向上受到的合力就等于这两个力相减:F=T·sin(θ+Δθ)-T·sinθ。
好了,按照牛顿第二定律F=ma,我们需要知道物体的合外力F、质量m和加速度a,现在我们已经知道了合外力F,那么质量m和加速度a呢?
05波的质量分析
质量好说,我们假设绳子单位长度的质量为μ,那么长度为Δl的绳子的质量就是μ·Δl。
但是,因为我们取的是非常小的一段,我们假设A点的横坐标为x,B点的横坐标为x+Δx,也就是说绳子AB在横坐标的投影长度为Δx,那么,当我们取的绳长非常短的时候,我们就可以近似用Δx代替Δl,这样绳子的质量就可以表示为:μ·Δx(本来我在考虑这里要不要再解释一下微积分思想,但是一想,会看这篇电磁波篇的,必须是已经提前看了麦克斯韦方程组的积分篇和微分篇,而我在那两篇里已经介绍过这种思想了,那这里就不说了~)。
质量搞定了,剩下的就是加速度a了。你可能以为我已经得到了合外力(F= T·sin(θ+Δθ)-T·sinθ)和质量m(μ·Δx),那么剩下肯定就是用合外力F除以质量m得到加速度a(牛顿第二定律),不不不,这样就不好玩了。我们还可以从另一个角度来得到加速度a,然后把它们作为拼盘拼起来。从哪里得到加速度呢a?从描述波的函数f(x,t)里。
06波的加速度分析
不知道大家还记得我们在前面说的这个描述波的函数y=f(x,t)么?这个函数的值y表示的是在x这个地方,时间为t的时候这一点的纵坐标,也就是波的高度。我们现在要求的也就是AB上下波动时的加速度,那么,怎么从这个描述点位置的函数里求出加速度a呢?
这里我们再来理解一下加速度a,什么叫加速度?从名字就可以感觉到,这个量是用来衡量速度变化快慢的。加速度嘛,肯定是速度加得越快,加速度的值就越大。假如一辆车第1秒的速度是2m/s,第2秒的速度是4m/s,那么它的加速度就是用速度的差(4-2=2)除以时间差(2-1=1),结果就是2m/s²。
再来回想一下,我们是怎么求一辆车的速度的?我们是用距离的差来除以时间差的。比如一辆车第1秒钟距离起点20米,第2秒钟距离起点50米,那么它的速度就是用距离的差(50-20=30)除以时间差(2-1=1),结果就是30m/s。
不知道大家从这两个例子里发现了什么没有?我用距离的差除以时间差就得到了速度,我再用速度的差除以时间差就得到了加速度,这两个过程都是除以时间差。那么,如果我把这两个过程合到一块呢?那是不是就可以说:距离的差除以一次时间差,再除以一次时间差就可以得到加速度?
这样表述并不是很准确,但是可以很方便的让大家理解这个思想。如果把距离看作关于时间的函数,我们对这个函数求一次导数(就是上面的距离差除以时间差,只不过趋于无穷小)就得到了速度的函数,对速度的函数再求一次导数就得到了加速度的表示。所以,我们把一个关于距离(位置)的函数对时间求两次导数,就可以得到加速度的表达式。
波的函数f(x,t)不就是描述绳子上某一点在不同时间t的位置么?那我们对f(x,t)求两次关于时间的导数,自然就得到了这点的加速度a。因为函数f是关于x和t两个变量的函数,所以我们只能时间的偏导∂f/ ∂t,再求一次偏导数就加个2上去。于是我们就可以这样表示这点的加速度a=∂²f/ ∂t²(关于偏导数的介绍,微分篇里有详细叙述,这里不再说明)。
这样,我们就把牛顿第二定律F=ma的三要素都凑齐了:F= T·sin(θ+Δθ)-T·sinθ,m=μ·Δx,a=∂²f/ ∂t²。把它们集合在一起就可以召唤神,阿不,就可以写出AB的运动方程了:
这个用牛顿第二定律写出来的波动方程,看起来怎么样?嗯,似乎有点丑,看起来也不太清晰,方程左边的东西看着太麻烦了,我们还需要对它进行一番改造。那怎么改造呢?我们可以先把sinθ给干掉。
07方程的改造
为了能够顺利地干掉sinθ,我们先来回顾一下基本的三角函数:
如上图,右边是一个直角三角形abc,那么角θ的正弦值sinθ等于对边c除以斜边a,正切值tanθ等于对边c除以邻边b。
当这个角度θ还很大的时候,a比b要明显长一些。但是,一旦角度θ非常非常小,可以想象,邻边b和斜边a就快要重合了。这时候我们是可以近似的认为a和b是相等的,也就是a≈b,于是就有c/b≈c/a,即tanθ≈sinθ。
也就是说,在角度θ很小的时候,我们可以用正切值tanθ代替正弦值sinθ。我们假设这跟绳子的扰动非常小,形变非常小,那么θ和θ+Δθ就都非常小,那么它们的正弦值就都可以用正切值代替。于是,那个波动方程左边的sin(θ+Δθ)-sinθ就可以替换为:tan(θ+Δθ)-tanθ。
为什么我们要用正切值tanθ代替正弦值sinθ呢?因为正切值tanθ还可以代表一条直线的斜率,代表曲线在某一点的导数。想想正切值的表达式tanθ=c/b,如果建一个坐标系,那么这个c刚好就是直线在y轴的投影dy,b就是在x轴的投影dx,它们的比值刚好就是导数dy/dx,也就是说tanθ=dy/dx。
然而,因为波的函数f(x,t)是关于x和t的二元函数,所以我们只能求某一点的偏导数,那么正切值就等于它在这个点的偏导数:tanθ=∂f/ ∂x。那么,原来的波动方程就可以写成这样:
这里我稍微解释一下偏导数的符号,我们用∂f/ ∂x表示函数f(x,t)的偏导数,这是一个函数,x可以取各种各样的值。但是如果我加一个竖线|,然后在竖线的右下角标上x+Δx就表示我要求在x+Δx这个地方的导数。
再来看一下这个图,我们已经约定了A点的横坐标为x,对应的角度为θ;B点的横坐标是x+Δx,对应的角度为θ+Δθ。所以,我们可以用x+Δx和x这两处的偏导数值代替θ+Δθ和θ这两处的正切值tan(θ+Δθ)和tanθ,所以波动方程才可以写成上面那样:
接着,如果我们再对方程的两边同时除以Δx,那左边就变成了函数∂f/ ∂x在x+Δx和x这两处的值的差除以Δx,这其实就是∂f/ ∂x这个函数的导数表达式。也就是说,两边同时除以一个Δx之后,左边就变成了偏导数∂f/ ∂x对x再求一次导数,那就是f(x,t)对x求二阶偏导数了。
上面我们用我们已经用∂²f/ ∂t²来表示函数对t的二阶偏导数,那么这里自然就可以用∂²f/ ∂x²来表示函数对x的二阶偏导数。然后两边再同时除以T,得到方程就简洁多了:
把方程左边的tan(θ+Δθ)-tanθ变成了函数f(x,t)对空间x的二阶偏导数,这个过程非常的重要,大家可以好好体会一下这个过程。正切值tanθ就是一阶导数,然后两个正切值的差除以自变量的变化就又产生了一次导数,于是总共就有了两阶,所以我们才能得到上面那个简洁的式子。
08经典波动方程
再看看方程右边的μ/T,如果你仔细去算一下μ/T的单位,你会发现它刚好就是速度的平方,也就是说如果我们把一个量定义成μ/T的平方根,那么这个量的单位刚好就是速度的单位。可以想象,这个速度自然就是这个波的传播速度v:
这样定义速度v之后,我们最终的波动方程就可以亮相了:
这个方程就是我们最终要找的经典波动方程,为什么把它作做经典的波动方程呢?因为它没有考虑量子效应啊,在物理学里,经典就是非量子的同义词。如果我们要考虑量子效应,这个经典的波动方程就没用了,我们就必须转而使用量子的波动方程,那就是大名鼎鼎的薛定谔方程。
薛定谔就是从这个经典波动方程出发,结合德布罗意的物质波概念,硬猜出了薛定谔方程。这个方程让物理学家们从被海森堡的矩阵支配的恐惧中解脱了出来,重新回到了微分方程的美好世界。薛定谔方程虽然厉害,但是它并没有考虑狭义相对论效应,而高速运动(近光速)的粒子在微观世界是很常见的,我们也知道当物体接近光速的时候就必须考虑相对论效应,但是薛定谔方程并没有做到这一点。
最终让薛定谔方程相对论化是狄拉克,狄拉克把自己关在房间三个月,最终逼出了同样大名鼎鼎的狄拉克方程。狄拉克方程首次从理论上预言了反物质(正电子),虽然当时的科学家们认为狄拉克这是在胡闹,但是我国的物理学家赵忠尧先生却几乎在同时就首次在实验室里观测到了正负电子湮灭的情况。
另外,狄拉克的工作也推动了量子场论的诞生,打开了一扇让人无比神往的新世界大门。物理学家们沿着这条路驯服了电磁力、强力、弱力,建立起了粒子物理的标准模型,于是四海清平,天下大定,除了那该死的引力。这些精妙绝伦的故事我们后面再讲,如果把这些故事写成一本《量子英雄传》,嗯,一定不比金庸的武侠逊色~
好了,回归正题,看到这个经典波动方程到后面还能掀起那么大的浪来,是不是突然就对它肃然起敬了呢?我们这样一顿操作推导出了经典波动方程,有的朋友可能有点懵,没关系,我们再来捋一下。这个看着很复杂的,包含了二阶偏导数的方程其实就只是告诉我们:我们把这跟绳子极小的一段看作一个质点,那么这个质点满足牛顿第二定律F=ma,仅此而已。
09复盘
我们整个推导过程不过就是去寻找F=ma中的这三个量。我们把绳子的张力在竖直方向做了分解,然后得到了它在竖直方向上的合力F(T·sin(θ+Δθ)-T·sinθ);我们定义了单位长度的质量μ,然后就可以计算那小段绳子的质量m(μ·Δx);我们通过对波的函数f(x,t)的分析,发现如果对这种表示距离(位移)的函数对时间求一次偏导数就得到了速度,再求一次偏导数就得到了加速度,于是我们就得到了这段绳子的加速度a(∂²f/ ∂t²)。然后我们就把这些量按照牛顿第二定律F=ma拼了起来。
在处理问题的过程中,我们做了很多近似:因为我们是取得很小的一段,那么我们就可以用Δx近似代替绳子的长度Δl;假设扰动很小,绳子偏离x轴很小,那么角度θ就很小,我们就近似用正切值tanθ代替正弦值sinθ。很多人乍一看,觉得这么严格的推导怎么能这么随意的近似呢?你这里近似那里近似,得到的最终结果还是准确的么?
要理解这个问题,就得正式去学习微积分了,我现在告诉你微积分的核心思想就是一种以直代曲的近似,你信么?微积分里就是用各种小段小段的直线去近似的代替曲线,但是得到的结果却是非常精确的。因为我们可以把这些线段取得非常非常的小,或者说是无穷小,那么这个误差也就慢慢变成无穷小了。所以我们在分析这跟绳子的时候,也都强调了是取非常小的一段,给一个非常小的扰动,得到一个非常小的角度θ。
另外,tanθ就是一次导数,然后它们的差再除以一次Δx,就又出现了一次导数,所以方程的左边就出现了f(x,t)对位置x的两次偏导数。方程的右边就是函数f(x,t)对时间t求两次偏导数得到的加速度a(求一次导数得到速度,求两次就得到加速度)。
所以,虽然我们看到的是一个波动方程,其实它只是一个变装了的牛顿第二定律F=ma。理解这点,波动方程就没什么奇怪的了。我们再来仔细的审视一下这个方程:
这个波动方程的意义也很直观,它告诉我们f(x,t)这样一个随时间t和空间x变化的函数,如果这个二元函数对空间x求两次导数得到的∂²f/ ∂x²和对时间t求两次导数得到的∂²f/ ∂t²之间满足上面的那种关系,那么f(x,t)描述的就是一个波。
如果我们去解这个方程,我们得到的就是描述波的函数f(x,t)。而我们前面对波做数学分析的时候得到了这样一个结论:如果一个函数f(x,t)描述的波,那么就一定满足f(x,t)=f(x-vt,0)。所以,波动方程的解f(x,t)肯定也都满足前面这个关系,这一点感兴趣的朋友可以自己下去证明一下。
好了,经典的波动方程我们就先讲到这里。有了波动方程,你会发现我们通过几步简单的运算就能从麦克斯韦方程组中推导出电磁波的方程,然后还能确定电磁波的速度。
10真空中的麦克斯韦方程组
麦克斯韦方程组的微分形式是这样的:
这组方程的来龙去脉长尾科技在上一篇文章《最美的公式:你也能懂的麦克斯韦方程组(微分篇)》里已经做了详细的介绍,这里不再多说。这组方程里,E表示电场强度,B表示磁感应强度,ρ表示电荷密度,J表示电流密度,ε0和μ0分别表示真空中的介电常数和磁导率(都是常数),▽是矢量微分算子,▽·和▽×分别表示散度和旋度:
接下来我们的任务,就是看如何从这组方程里推出电磁波的方程。
首先,如果真的能形成波,那么这个波肯定就要往外传,在远离了电荷、电流(也就是没有电荷、电流)的地方它还能自己传播。所以,我们先让电荷密度ρ和电流密度J都等于0,当ρ=0,J=0时,我们得到的就是真空中的麦克斯韦方程组:
有些人觉得你怎么能让电荷密度ρ等于0呢?这样第一个方程就成了电场的散度▽·E=0,那不就等于说电场强度E等于0,没有电场了么?没有电场还怎么来的电磁波?
很多人初学者都会有这样一种误解:好像觉得电场的散度▽·E等于0了,那么就没有电场了。其实,电场的散度等于0,只是告诉你通过包含这一点的无穷小曲面的电通量为0,电通量为0不代表电场E为0啊,因为我可以进出这个曲面的电通量(电场线的数量)相等。这样有多少正的电通量(进去的电场线数量)就有多少负的电通量(出来的电场线数量),进出正负抵消了,所以总的电通量还是0。于是,这点的散度▽·E就可以为0,而电场强度E却不为0。
所以这个大家一定要区分清楚:电场E的散度为0不代表电场E为0,它只是要求电通量为0而已,磁场也一样。
这样我们再来审视一下真空中(ρ=0,J=0)的麦克斯韦方程组:方程1和2告诉我们真空中电场和磁场的散度为0,方程3和4告诉我们电场和磁场的旋度等于磁场和电场的变化率。前两个方程都是独立的描述电和磁,后两个方程则是电和磁之间的相互关系。我们隐隐约约也能感觉到:如果要推导出电磁波的方程,你肯定得把上面几个式子综合起来,因为波是要往外传的,而你上面单独的方程都只是描述某一点的旋度或者散度。
有一个很简单的把它们都综合在一起的方法:对方程3和方程4两边同时再取一次旋度。
方程3的左边是电场的旋度▽×E,对它再取一次旋度就变成了▽×(▽×E);方程3的右边是磁场的变化率,对右边取一次旋度也可以得到磁场B的旋度▽×B,这样不就刚好跟方程4联系起来了么?对方程4两边取旋度看起来也一样,这看起来是个不错的兆头。
可能有些朋友会有一些疑问:你凭什么对方程3和4的两边取旋度,而不取散度呢?如果感兴趣你可以两边都取散度试试,你会发现电场E的旋度取散度▽·(▽×E)的结果恒等于0。
这一点你看方程3 的右边会更清楚,方程3的右边是磁场的变化率,你如果对方程左边取散度,那么右边也得取散度,而右边磁场的散度是恒为0的(▽·B=0就是方程2的内容)。这样就得不出什么有意义的结果,你算出0=0能得到什么呢?
所以,我们现在的问题变成了:如何求电场E的旋度的旋度(▽×(▽×E))?因为旋度毕竟和叉乘密切相关,所以我们还是先来看看叉乘的叉乘。
11叉乘的叉乘
在积分篇和微分篇里,我已经跟大家详细介绍了矢量的点乘和叉乘,而且我们还知道点乘的结果A·B是一个标量,而叉乘的结果A×B是一个矢量(方向可以用右手定则来判断,右手从A指向B,大拇指的方向就是A×B的方向)。
而点乘和叉乘都是矢量之间的运算,那么A·B的结果是一个标量,它就不能再和其它的矢量进行点乘或者叉乘了。但是,A×B的结果仍然是一个矢量啊,那么按照道理它还可以继续跟新的矢量进行点乘或者叉乘运算,这样我们的运算就可以有三个矢量参与,这种结果我们就称为三重积。
A·(B×C)的结果是一个标量,所以这叫标量三重积;A×(B×C)的结果还是一个矢量,它叫矢量三重积。
标量三重积A·(B×C)其实很简单,我在微分篇说过,两个矢量的叉乘的大小等于它们组成的平行四边形的面积,那么这个面积再和一个矢量点乘一把,你会发现这刚好就是三个矢量A、B、C组成的平行六面体的体积。
这个大家对着上面的图稍微一想就会明白。而且,既然是体积,那么你随意更换它们的顺序肯定都不会影响最终的结果。我们真正要重点考虑的,还是矢量三重积。
矢量三重积A×(B×C),跟我们上面说电场E旋度的旋度▽×(▽×E)形式相近,密切相关。它没有上面标量三重积那样简单直观的几何意义,我们好像只能从数学上去推导,这个推导过程,哎,我还是直接写结果吧:
A×(B×C)=B(A·C)-C(A·B)。
结果是这么个东西,是不是很难看?嗯,确实有点丑。不过记这个公式有个简单的口诀:远交近攻。什么叫远交近攻呢?当年秦相范雎,啊不,A×(B×C)里的A距离B近一些,距离C远一些,所以A要联合C(A·C前面的符合是正号)攻打B(A·B前面的符号是负号),这样这个公式就好记了,感兴趣的可以自己去完成推导的过程。
12旋度的旋度
有了矢量三重积的公式,我们就来依样画葫芦,来套一套电场E的旋度的旋度▽×(▽×E)。我们对比一下这两个式子A×(B×C)和▽×(▽×E),好像只要把A和B都换成▽,把C换成E就行了。那么,矢量三重积的公式(A×(B×C)=B(A·C)-C(A·B))就变成了:
▽×(▽×E)=▽(▽·E)-E(▽·▽)。
嗯,▽(▽·E)表示电场E的散度的梯度,散度▽·E的结果是一个标量,标量的梯度的有意义的,但是后面那个E(▽·▽)是什么鬼?两个▽算子挤在一起,中间还是一个点乘的符号,看起来好像是在求▽的散度(▽·),可是▽是一个算子,又不是一个矢量函数,你怎么求它的散度?而且两个▽前面有一个电场E,怎么E还跑到▽算子的前面去了?
我们再看一下矢量三重积的公式的后面一项C(A·B)。这个式子的意思是矢量A和B先进行点乘,点乘的结果A·B是一个标量,然后这个标量再跟矢量C相乘。很显然的,如果是一个标量和一个矢量相乘,那么这个标量放在矢量的前面后面都无所谓(3C=C3),也就是说C(A·B)=(A·B)C。
那么,同样的,E(▽·▽)就可以换成(▽·▽)E,而它还可以写成▽²E,这样就牵扯出了另一个大名鼎鼎的东西:拉普拉斯算子▽²。
13拉普拉斯算子▽²
拉普拉斯算子▽²在物理学界可谓大名鼎鼎,它看起来好像是哈密顿算子▽的平方,其实它的定义是梯度的散度。
我们假设空间上一点(x,y,z)的温度由T(x,y,z)来表示,那么这个温度函数T(x,y,z)就是一个标量函数,我们可以对它取梯度▽T,因为梯度是一个矢量(梯度有方向,指向变化最快的那个方向),所以我们可以再对它取散度▽·。
我们利用我们在微分篇学的▽算子的展开式和矢量坐标乘法的规则,我们就可以把温度函数T(x,y,z)的梯度的散度(也就是▽²T)表示出来:
再对比一下三维的▽算子:
所以,我们把上面的结果(梯度的散度)写成▽²也是非常容易理解的,它跟▽算子的差别也就是每项多了一个平方。于是,拉普拉斯算子▽²就自然可以写成这样:
从拉普拉斯算子▽²的定义我们可以看到,似乎它只能对作用于标量函数(因为你要先取梯度),但是我们把▽²稍微扩展一下,就能让它也作用于矢量函数V(x,y,z)。我们只要让矢量函数的每个分量分别去取▽²,就可以定义矢量函数的▽²:
定义了矢量函数的拉普拉斯算子,我们稍微注意一下下面的这个结论(课下自己去证明):
然后再看看中间的那个东西,是不是有点眼熟?
我们在求电场旋度的旋度的时候,不就刚好出现了(▽·▽)E这个东西么?现在我们就可以理直气壮地把它替换成▽²E了,于是,电场旋度的旋度就可以写成这样:
▽×(▽×E)=▽(▽·E)-(▽·▽)E=▽(▽·E)-▽²E。
至此,我们利用矢量的三重积公式推电场E的旋度的旋度的过程就结束了,然后我们就得到了这个极其重要的结论:
它告诉我们:电场的旋度的旋度等于电场散度的梯度减去电场的拉普拉斯。有了它,电磁波的方程立马就可以推出来了。
14见证奇迹的时刻
我们再来看看真空中的麦克斯韦方程组:
它的第三个方程,也就是法拉第定律是这样表示的:
我们对这个公式两边都取旋度,左边就是上面的结论,右边无非就是对磁感应强度B取个旋度,即:
你看看这几项,再看看真空中的麦克斯韦方程组:方程1告诉我们▽·E=0,方程4告诉我们▽×B=μ0ε0(∂E/ ∂t),我们把这两项代入到上面的式子中去,那结果自然就变成了:
μ0、ε0都是常数,那右边自然就变成了对电场E求两次偏导。再把负号整理一下,最后的式子就是这样:
嗯,于是我们就神奇般的把磁感应强度B消掉了,让这个方程只包含电场E。我们再对比一下我们之前唠叨了那么多得出的经典波动方程:
我们在推导经典波动方程的时候只考虑了一维的情况,因为我们只考虑波沿着绳子这一个维度传播的情况,所以我们的结果里只有∂²f/ ∂x²这一项。如果我们考虑三维的情况,那么不难想象波动方程的左边应该写成三项,这三项刚好就是f的三维拉普拉斯:
所以我们的经典波动方程其实可以用拉普拉斯算子写成如下更普适的形式:
再看看我们刚刚从麦克斯韦方程组中得到的电场方程:
嗯,我们推出的电场的方程跟经典波动方程的形式是一模一样的,现在我们说电场E是一个波,你还有任何异议么?
我们把电场E变成了一个独立的方程,代价是这个方程变成了二阶(方程出现了平方项)的。对于磁场,一样的操作,我们对真空中麦克斯韦方程组的方程4(▽×B=μ0ε0(∂E/∂t))两边取旋度,再重复一次上面的过程,就会得到独立的磁感应强度B的方程:
这样,我们就发现E和B都满足波动方程,也就是说电场、磁场都以波动的形式在空间中传播,这自然就是电磁波了。
15电磁波的速度
对比一下电场和磁场的波动方程,你会发现它们是形式是一模一样的(就是把E和B互换了一下),这样,它们的波速也应该是一样的。对比一下经典波动方程的速度项,电磁波的速度v自然就是这样:
我们去查一下μ0、ε0的数值,μ0=4π×10^-7N/A²,ε0=8.854187818×10^ -12 (F/m),代入进去算一算:
再查一下真空中的光速 c=299792458m/s。
前者是我们从麦克斯韦方程组算出来的电磁波的速度,后者是从实验里测出来的光速。有这样的数据做支撑,麦克斯韦当年才敢大胆的预测:光就是一种电磁波。
当然,“光是一种电磁波”在我们现在看来并不稀奇,但是你回顾一下历史:科学家们是在研究各种电现象的时候引入了真空介电常数ε0,在研究磁铁的时候引入了真空磁导率μ0,它们压根就跟光无关。麦克斯韦基于理论的美学和他惊人的数学才能,提出了位移电流假说(从推导里我们也可以看到:如果没有麦克斯韦加入的位移电流这一项,是不会有电磁波的),预言了电磁波,然后发现电磁波的速度只跟μ0、ε0相关,还刚好就等于人们测量的光速,这如何能不让人震惊?
麦克斯韦一直以为自己在研究电磁理论,但是当他的电磁大厦落成时,他却意外地发现光的问题也被顺手解决了,原来他一直在盖的是电磁光大厦。搞理论研究还可以买二送一,打折促销力度如此之大,惊不惊喜,意不意外?
总之,麦克斯韦相信自己的方程,相信光是一种电磁波,当赫兹最终在实验室里发现了电磁波,并证实它的速度确实等于光速之后,麦克斯韦和他的理论获得了无上的荣耀。爱因斯坦后来却因为不太相信自己的方程(认为宇宙不可能在膨胀)转而去修改了它,于是他就错失了预言宇宙膨胀的机会。当后来哈勃用望远镜观测到宇宙确实在膨胀时,爱因斯坦为此懊恼不已。
16结语
回顾一下电磁波的推导过程,我们就是在真空麦克斯韦方程组的方程3和方程4的两边取旋度,然后就很自然的得出了电磁波的方程,然后得到了电磁波的速度等于光速c。这里有一个很关键的问题:这个电磁波的速度是相对谁的?相对哪个参考系而言的?
在牛顿力学里,我们说一个物体的速度,肯定是相对某个参考系而言的。你说高铁的速度是300km/h,这是相对地面的,你相对太阳那速度就大了。这个道理在我们前面讨论的波那里也一样,我们说波的速度一般都是这个波相对于它所在介质的速度:比如绳子上的波通过绳子传播,这个速度就是相对于绳子而言的;水波是在波在水里传播,那么这个速度就是相对水而言的;声波是波在空气里传播(真空中听不到声音),声波的速度就自然是相对空气的速度。
那么,电磁波呢,从麦克斯韦方程组推导出的电磁波的速度是相对谁的?水?空气?显然都不是,因为电磁波并不需要水或者空气这种实体介质才能传播,它在真空中也能传播,不然你是怎么看到太阳光和宇宙深处的星光的?而且我们在推导电磁波的过程中也根本没有预设任何参考系。
于是当时的物理学家们就假设电磁波的介质是一种遍布空间的叫作“以太”的东西,于是大家开始去寻找以太,但是怎么找都找不到。另一方面,电磁波的发现极大地支持了麦克斯韦的电磁理论,但是它跟牛顿力学之间却存在着根本矛盾,这种情况像极了现在广义相对论和量子力学之间的矛盾。怎么办呢?
1879年,麦克斯韦去世,同年,爱因斯坦降生,这仿佛是两代伟人的一个交接仪式。麦克斯韦电磁理论与牛顿力学之间的矛盾,以及“以太”这个大坑都被年轻的爱因斯坦搞定了,爱因斯坦搞定它们的方法就是大名鼎鼎的狭义相对论。其实,当麦克斯韦把他的电磁理论提出来之后,狭义相对论的问世就几乎是必然的了,因为麦克斯韦的电磁理论其实就是狭义相对论框架下的理论,这也是它跟牛顿力学冲突的核心。所以,爱因斯坦才会把他狭义相对论的论文取名为《论动体的电动力学》。
麦克斯韦的电磁理论结束了一个时代,却又开启了一个新时代(相对论时代),它跟牛顿力学到底有什么矛盾?为什么非得狭义相对论才能解决这种矛盾?这些将是我后面要讨论的重点。我会尽力让大家看到科学的发展有它清晰的内在逻辑和原因,并不是谁拍拍脑袋就提出一个石破天惊的新理论出来的。
此外,电磁理论和牛顿力学的融合是人类解决两个非常成功却又直接冲突理论的一次非常宝贵的经验,这跟我们现在面临的问题(广义相对论和量子力学的冲突)非常类似。我希望能够通过这种叙述给喜欢科学的少年们一些启示,让他们以后面对广义相对论和量子力学冲突的时候,能够有一些灵感。
嗯,没错,我在期待未来的爱因斯坦~
相关文章: