从一到多

大凡做研究,往往都是从一到多的过程,先理解最简单的“一”,再扩展到“二”,再把二的规律试试看用在“三”上行不行,如果没问题,那就直接总结得到了“n”的规律了。

道生一,一生二,二生三,三生万物。 ——《道德经》

微积分也不例外,当我们研究完最简单的“一元函数”,就不禁要想,“多元函数”的微积分是什么样子的呢?

空间中的曲面——二元函数 z(x,y)

偏导数

前面咱们讲过了导数,知道了导数的几何意义就是斜率。

理解微积分真谛:导数与微分

咱们还用 MATLAB 计算导数:

y=diff(fun,x)

当时咱们说,要写上 x 表示是对 x 求导,而函数中如果有其它的字母就都当成是常数,不管它们。

其实,这就是多元函数中的——

偏导数

重复一下,对 x 的偏导数,就是把除 x 外的其它变量都当成常量,再求导。

由此也能猜出来,在 MATLAB 中,求偏导还是用这个 diff 函数。

偏导数几何解释

我用 Solidworks(一款三维建模软件)画了一个八分之一球,表示一个二元函数——

z = z(x,y)

想求: z 对 x 的偏导函数。

这时,可以认为 y 是一个常量,那么就沿着 “y = 任意值”切一刀,**切出了一条美妙的曲线,**函数变成了 z=z(x),就变成学过的曲线求导了。

所以,为什么叫“偏”导数,就是说,**求导数的时候“偏心眼”**了,只觉得一个变量是“亲变量”,而其它的变量看都不看,直接当常量抛弃了。

z 对 x 的偏导 与 z 对 y 的偏导 分别表示为:

全微分

微积分的核心思想,就是先求一个变量的微分,再对其进行积分,前面咱们学习了一元函数的导数,后来又学习了积分,综合学过的理解,我们总结一下微分的意义:

dy = y’ dx

y 的变化=y 受 x 的影响 * x 的变化

那么,如何对一个多元函数进行微分呢?

比如,z = z(x,y),那么 dz 如何表示呢?

其实非常简单,跟一元函数完全一样,大概意思是:

z 的变化 = z 受 x 的影响x 的变化 + z 受 y 的影响y 的变化

就是这么简单,别管你是几元函数,分别把每一元对 z 产生的影响效果相加,就行了!

表示为:

SO EASY!

画成几何图就是这样:

全微分的几何理解

几何意义是:画出一个平面四边形,来近似代替原来的曲面,这个平面四边形最远点抬高的距离就是 dz,而这个距离恰好等于中间两点抬高距离的和。

梯度

多元函数微分学中,除了偏导数和全微分,第三重要的概念,就是“梯度”了。

梯度——最速下降方向

其实,上面我们讲过的偏导数,仅仅只是两个方向的

斜率,即 x 方向和 y 方向; 对于一个曲面,其实可以从许多方向“切一刀”都会形成一个曲线及其导数,其中,最大的导数的那一刀的方向,称为:

梯度方向

而由此形成的最大的导数,称为:

梯度导数

实际上,我们一般会把两者(一个方向,一个数量)结合在一起,表示成一个向量,这个向量称为:

梯度

好,严谨一点:多元函数 u(P) 在 P 点的梯度是个向量,其方向为 u 的最大变化率的方向,其模等于这个变化率的值。

记为:grad u

其实,说起“梯度”这个词,咱们很容易想到——

梯田

梯田——梯度的最好比喻

其实,梯田就是一个多元函数曲面了,一圈一圈的就是“等高线”,那么,什么方向是从农民兄弟从梯田上面下来的最短路径呢?

当然是垂直于等高线方向了,这就是梯度方向。

多元函数微分学的核心概念就只有它们三个:

偏导数 全微分 梯度

微积分核心思想

本节是专栏最后一课,让我们再来回顾总结一下微积分核心思想:

(划重点了)

“整体分解为局部-》局部可以线性化分析-》近似过程的极致就是精确”。

微积分四步:

分割 作积 求和 极限

多元函数定积分

从一到多,有了一元函数的定积分,自然有多元函数的定积分,只不过咱们好像没怎么听过这个词“多元函数定积分”,是因为数学课本给起了一些奇怪的名字:

黎曼积分 第二型曲线积分 第二型曲面积分

说实话,如果不是经常用到这些概念的专业人士,谁能看到这些名字就知道什么意思呢。

其实,“多元函数定积分”根据这个“多元函数”的形式,就分为两类:

数量场定积分 & 向量场定积分

理解“场”的概念非常重要

分别解释一下:

**数量场定积分:**数量场,顾名思义,在场中每一点都对应一个数量,这类积分也就是所谓的“黎曼积分”。

**向量场定积分:**向量场,就是在场中每一点都对应一个向量,积分时要考虑方向的作用,这就是所谓的“第二型曲线积分 第二型曲面积分”,有方向的参与就比较复杂,后面我们再展开。

这样,是不是清晰多了?

数量场定积分——二重积分

直接上例子,我们前面学过一元函数的定积分,可以计算一个一元函数 y=f(x)所代表的曲线下方的面积,那么二元函数 z=f(x,y) 的下方的体积也是类似的,表示为:

其中,σ 表示这个体积的“底面”,也就是 x y 的积分范围。

两个积分号合在一起写,表示这是一个对两个变量的积分,所以也可以写成:

所以也叫做“二重积分”。

数量场定积分——三重积分

思考一个问题,有一个物体,如果它的密度均匀,那么

质量=密度 x 体积

但如果它的密度不均匀呢?比如密度分布为 μ(x,y,z),这时质量可以表示为:

显然,三个积分号合在一起,表示“三重积分”。

小结一下

“二重积分”的被积区域是是二维平面;

“三重积分”的被积区域是是三维立体。

所以上面这两种积分区域,可以叫做等维积分区域。

还有另一种数量场积分区域——“低维积分区域”:

弧上积分 & 面上积分

它们两者的积分的区域分别是二维或三维的弧线和三维的曲面。

数量场定积分——弧上积分

举例,一根这对密度的绳子,密度为 μ(l) ,其中 l 代表弧长,则绳子质量表示为:

这里只用了一个积分号,其实是在告诉我们,弧上积分是可以化为一元函数积分的,这得益于它的积分区域是一个弧,虽然可以用二维空间甚至三维空间去表示,但弧线终归是一个“一维元素”——“线”。

这类积分在课本上叫做:“对弧长的曲线积分”或“第一型曲线积分”。

数量场定积分——面上积分

思考,一个曲面薄板 S 上分布着不均匀的电荷,电荷密度为 μ(P),则 S 上的总电量表示为:

这里只用了两个积分号,其实是在告诉我们,曲面上积分可以化为二重积分,这得益于它的积分区域是一个曲面,虽然可以用三维空间去表示一个曲面,但曲面终归是一个“二维元素”——“面”。

这类积分在课本上叫做:“对面积的曲面积分”或“第一型曲面积分”。

向量场定积分-第二型曲线积分

举个例子就很容易理解什么是向量场积分:

比如我用向前的 F 大小的力,拉着箱子向前走了长度 l 的直线距离,那么我做的功能为:

W=Fl

但是情况有可能会更复杂,我使用的力是方向与大小都在变化的向量 F,而且箱子的位移也可以是曲线 l,这时就要用到“第二型曲线积分”,表示为:

注意到,这里的 F 和 r 都是加粗的向量。

也许你会想,如果我把每时每刻的力都向位移投影,这不就又变成了数量积分了么?

是的!我们可以把第二型曲线积分看成一种特殊的第一型曲线积分,它的被积函数与积分曲线的方向有关。

向量场定积分-第二型曲面积分

试问这样一个问题,在一个流体场中,流速为一个向量场 v,求单位时间通过 一个曲面片 G 的流体体积,表示为:

向量场定积分-环量与通量

上面我们的积分区域是曲线与曲面,其实,当曲线首尾相接形成一个闭环,当曲面首尾相接形成一个球面时,就可以定义两个好玩的量——环量与通量。

初学时候,很不好理解,其实说起来没那么复杂:

环量,就是上面的第二型曲线积分,只不过呢,积分区域是一个首尾相接形成一个闭环,所以在表达上多画一个圈而已:

通量,就是上面的第二型曲面积分,只不过呢,积分区域是一个曲面首尾相接形成的闭合球面,所以在表达上也是多画一个圈而已:

没什么新鲜的。

“太阳下面无新事。” ——黑格尔

上节课我们讲过方向导数有一个度量叫做梯度。

其实,对应于环量与通量也有相应的度量,分别叫做

旋度 & 散度。

旋度和散度是流体力学中非常常用的概念

数学里,“度”代表度量,一般都是一个极值量。

“空间”一词耳熟能详,“场”的概念时时可见。可是,我们真的能理解它们的内涵吗? 让我们从数学分析的角度,借助梯度、散度、旋度的概念,来理解空间、理解场,从而更深一步地理解这个世界。

“空间”与“时间”

“空间”这个词,第一感觉,就是与时间对应的那个我们生活着的地方。空间与时间一同组成了宇宙。

世,为长久的时间;界,为广阔的空间。“世界”一词,即包含了时间与空间。

我们通常认为,我们生活的世界是“三维的空间”(x,y,z)加“一维的时间”(t),有时统称为“四维时空”。在四维时空中的物理量可以表示成函数**u(x,y,z,t)**的形式,从这种表达中并没有发现时间 t 有什么特殊性,因此也有一种角度可以将时间也理解为空间中的一个维度,所以也有直接称为“四维空间”的。

在经典物理中,我们一般都以三维空间加一维时间为理论的基础。比如普通力学、传热学、声学、光学、电磁学等,都在四维时空中有非常完备的理论,构建起了人类科技的大厦。

关于“时间究竟是什么”这个话题,就比较有趣了,科技千里眼会在其它的文章中和大家一同探讨。

数学中的“空间”

除了通常意义上的空间外,咱们向上抽象一层,就进入了数学的世界。

为什么在数学书中会经常出现“空间”一词呢?

其实,在数学中,“空间”就代表一类对象的集合。比如,所有实数的集合,就是“实数空间”;所有复数的集合,就是“复数空间”。当我们要研究某个问题时,就先要规定好,这个问题中的研究对象都属于实数还是都属于复数,所以,必须提前规定一个空间。

换言之,所有数学问题中的模型,都必须是某个空间中的对象;这时,其它空间中的一切都与我无关了。

如果有编程基础的同学,可以将空间理解为一个“类”;把空间中的一个个事物,理解为“对象”;把从对象向对象的变换,理解为“方法”。

向量空间 =  线性空间

在数学中,有一类非常神奇又极有用的空间,想必你也听说过,那就是“线性空间”,其实也就是“向量空间”。

比如,[1 0 -1]是一个三维向量,那么它与其它所有三维的向量在一起,就组成了“三维向量空间”。换言之,这个空间中每一个对象都是一个三元素的向量,同时可以用**“点”的形式**画在 x-y-z 坐标系中。

所以,数轴其实就是一个“一维向量空间”,当然了,也就是一个“实数标量空间”;平面,就是一个“二维向量空间”,在平面上,所有点都对应一组[x,y];立体空间即“三维空间”;同理,当向量的维度多达4 维、5 维时,当然也对应着“四维空间”、“五维空间”。

4 维空间已经不太容易直观地表达出来了

物理上的多维空间的概念,是非常难以理解的,超弦理论认为,世界是十维时空,像这类前沿的物理学问题,不在本专栏的讨论范围内,有机会再与大家探讨。

线性空间的现实应用

其实,线性空间(向量空间)在现实生活中存在大量的应用;只要我们理解空间的概念,也是非常容易应用的。

想想看,只要是研究的对象可以表示为**“向量”(一串数字)**的形式,就都属于线性空间的范畴。

比如,我们评价篮球运动员时,会列出一组数字:

[身高,体重,三分球命中率,出场率]

这就是一组典型的“四维向量”,只不过平时我们不用这样数学的语言罢了。

数字表格,就是线性空间

所以,凡是我们能列出的数字化的表格的,都是线性空间中的一个个“点”,每一列都是一个对象,每一行都是一个维度。

因此,数学中用来分析向量与空间的一切方法,都有可能成为你分析问题的神器。

场——熟悉又陌生的概念

“气场”一词,我们总能听到;“引力场”,也是耳熟能详的物理词汇。然而,“场”究竟是什么呢?

其实非常简单而清晰,场就是在空间中分布的量。比如,在三维空间中,关于坐标 x-y-z 分布着一个量 u,这个 u(x,y,z)就可以称为“u 场”。如果量是物理量,当然就可以称为物理场,比如温度场;如果这个量是其它的量,比如上面说的运动员向量,就是“运动员场”。

所以说,场只是我们人类为了理解世界而抽象出来的一个概念而已。

实际上,人类所能认知的一切都是抽象出来的概念,就连“物质”也是人类抽象出来的概念。

原子由原子核与电子组成,电子本身只是“一个点”,没有半径,它围绕着原子核转动。原子核直径是原子的十万分之一左右,它由质子与中子组成,而质子与中子都是由 3 个夸克组成,而这个夸克也只是一个点而已,没有直径,不是实体!

看到这里,我们才真正第一次明白了,什么叫“万物皆空”,因为原子本身只是由一些“点”组成的,原子是“空”的,万物也是“空”的!

“色即是空,空即是色。”——《心经》

所以说,场也是一样,只是抽象的概念而已。只不过这个概念非常重要,围绕着场而展开的数学分析方法也非常完善,如果我们能够掌握,必将发挥出重大的威力。

标量场与向量场

本专栏介绍最常用的两类场——“标量场”与“向量场”。

其实从上面的叙述中,我们已经理解到了,当场中的“量”是标量时,就是标量场,比如在三维空间中的温度分布,称为温度场 T(x,y,z);当场中的“量”为向量时,就是向量场,比如三维空间中流体速度的分布,称为速度场v(x,y,z)。(粗体字表示向量)

温度场:用颜色来表示温度的高低

换言之,在三维空间 x-y-z 中,每个点对应一个标量,则为标量场;而每个点对应一个向量,则为向量场。

这里我们用到了“对应”一词,在数学中,准确地说,叫做“映射”。**标量场是从向量映射到标量,向量场是从向量映射到向量。**每句话中前面的向量,就是指空间中的点。

即,场是从向量空间到标量或向量空间的一种映射,这种映射被表示成诸如 T(x,y,z)或v(x,y,z)的形式。

向量分析学

这里,我们可以把点(x,y,z)代换为向量p,即 point,从而上述表达式变成 T(p)或v(p),这样看起来,是不是清晰一些啦?与我们熟悉的“函数”非常像,对吧?

既然是函数,那么,我们是不是可以用研究函数的微积分方法,来研究向量的函数呢?当然。这就是数学分析学的一个重要分支,称为“向量分析学”。它是描述经典物理学领域最基本的数学工具,如今现代物理学中所用的“场论”是笛卡儿微分学与张量分析为基础的,而其特殊情况,就是咱们要讲的这个“向量分析”啦。

我们需要这样一种分析学,它具有几何特征,并且像代数学表示量那样直接地描述物理现象 。——莱布尼茨

本专栏,其实就是用一种容易理解的方式,结合直观的数学工具,面向物理学的现象,辅以哲学的独特视角,与大家一起,破译向量分析学,理解空间与场,掌握梯度、散度、旋度的概念,进而更深刻地理解这个大千世界。

今天我们来讲——“梯度”。在正式进入梯度之前,咱们小小地复习一下关于微积分的意义理解。

导数是事物变化的原因

在以前的微积分专栏中,咱们详细解析过导数与原函数之间的关系,即“导数代表变化的原因”,“原函数代表变化的结果”,比如速度 v 与位移 s 之间的关系——

v=s’,v 是 s 的原因,也就是说,速度是导致位移变化的原因,而位移则是速度产生的结果。好理解吧 ~

那么,“积分”是什么含义呢?积分就是用原因的积累来求结果,当然了,一定别忘了要从“初始状态”开始计算——

所以,导数就是变化率,就是“因”;原函数是导数的积分,是变化率的累积,代表事物变化的结果。

所以,我们知道了,为什么自然科学统统都以“微分方程”为基础,因为微分方程就是表示出了导数与原函数的关系,这就表征了“因果关系”呀 ~

对微积分的本质理解感兴趣的同学,可以移步科技千里眼的微积分专栏。

梯度就是“三维导数”

梯度(gradient)的数学定义是这样的:

解释一下,对于一个标量场 u(x,y,z),在它的每一点上,分别对 x/y/z 求偏导,组成的向量,就是梯度,写成  grad u。(图中的倒三角符号∇咱们后面再说)

从这个定义,我们能看出来,在每个点(x,y,z)上,都有一个标量值 u,它对应一个向量grad u,这个向量就是该点处的“梯度向量”,而所有点的梯度组合而成的,就形成了一个“梯度场”,这个梯度场是一个向量场。

但是,从公式中看不出什么来,偏导数不直观,那么,咱们把空间从三维降到二维再降到一维,看一下——

发现什么了?一维梯度就是咱们最熟悉的导数呀 ~

那么,从一维到三维反推可知,三维梯度就是三维空间的导数!

换言之,梯度场就是原标量函数场的“原因”。

这样,咱们一下就理解了梯度究竟是什么了。

梯度向量的方向

但是,当梯度从一维升维到二维、三维后,从标量变成了向量,这又如何理解呢?

其实,在一维空间中,梯度(导数)也是有方向的,这就是数轴的方向,只不过在一维空间中,方向的概念已经坍塌,因而不提罢了。

在二维、三维空间中,必然要指明“量的作用方向”,这就是梯度的方向。

咱们可以用“梯田”的形象来理解一下。这里要提醒大家的是,如果说梯田的高度值是标量函数的话,其实梯田的高度值是一个二维标量场,我们看到的高度维度其实是标量的值。显然,假设我们站在某一个位置上,走同样的距离,最快爬高的方向,就是梯度的方向了。

梯田

梯田其实也是最形象地展示“等高线”的例子了,相当于把一座山上,那些高度相同的点连成了线。

画一个梯度场看看吧 ~

咱们在 MATLAB 中写一个 u(x,y)函数作为一个二维的标量场——

在 MATLAB 中,几句代码就能把标量场、梯度场求出来并作图——

x = -2:0.2:2; y = x';
u = x .* exp(-x.^2 - y.^2);
[px,py] = gradient(u);
contour(x,y,u) %  等值线
hold on
quiver(x,y,px,py) %  向量图

作图如下:

我们看到,等高线显示这个标量场是一个“凹谷”(左)和一个“山峰”(右),用暖色表示大值,用冷色表示小值;梯度场(就是那些箭头)就表示每个位置的最大导数及方向,比如峰与谷之间的那些箭头最长,表明这里是梯度值最大(变化率)的区域。

使用 MATLAB 等数学工具,不仅可以快速计算与作图,而且在编程过程中利于我们理解数学概念与原理,感兴趣的同学也可移步科技千里眼 MATLAB 专栏,或搜索科技千里眼出版图书《MATLAB 程序设计——重新定义科学计算工具学习方法》。

倒三角算子 -  哈密顿算子

填一个坑,上面的公式中提到的倒三角算子  ∇,是非常重要而优美的一个算子,官方的名字叫做“哈密顿算子”,其实有个更直接的名称,叫做“向量微分算子”,读做 Nabla(音纳博拉),比如  ∇u,就读作 Nabla u。定义为:

其实就是带着方向的导数运算,所以说名称“向量微分算子”还挺直接的。

咱们在二维空间中画一画就更形象了——

看,∇u 就是空间导数,所以倒三角符号∇与微分符号 d 有些相似。

其实还有另一种表示梯度的方式也很好——

这种方式就表明,u 的梯度就是在 r 方向上的偏导数,那么,r 方向是什么方向呢,其实就还是上面所说的变化率最大的那个方向了。

重力势能与重力场

下面咱们用熟悉的重力来进一步解释梯度(多维导数)与其原函数的关系。

比如我们在地面上,以水平面为原点,竖直向上建立坐标系 h,越高处重力势能越大,可以表示为 U=mgh,这就是一个标量场;咱们给 U 求导,则 U’=mg。这里要注意,我们的坐标系是向上的,也就是说 U’=mg 的方向是向上的,这与重力 G 的方向恰好差一个负号——

此图中的 g 为标量

也就是说,势能的梯度与力差一个负号。这也容易理解,我们在一个山坡上,由静止放开一个球,球一定会向下坡运动,这就是力的方向,而高度场的梯度却是指向上坡的。

换言之,力是从高势指向低势,梯度是从低势指向高势。(势场,有时候也常常称为“势函数”)

所以,标量势场的梯度是一个向量力场。(这里的力是广义上的类似于力的一类向量)

从图中,我们看到一个新的信息,从导数与原函数的因果关系,我们可以推论出,力是势的原因,势是力的结果。也就是说,重力造成了重力势能,引力造成了引力势能,等等。

其实,能量只是人类的一种想象中的概念,就像场一样,是为了理解这个世界而创造的。

梯度场=有势场=无旋场

“梯度场”与“有势场”是等价概念,也可以说,梯度场一定有势。这个“势”就是上面讲的势场/势函数。

这也很好理解,因为梯度场  grad U = - F,标量场 U 与向量场F,一定是同时存在的。

那么,如果我们已知了 U 的梯度场为F,那么能否反求出 U 呢?

其实,咱们只要按照上面讲过的与标量微积分的对应关系,就应该可以想到求解方法——

也就是说,通过梯度F反求其势 U,就是一个向量的积分过程,当然了,同标量微积分一样,得到的结果是一组势函数,它们之间相差一个常数 C。

其实,如果说我们以前学习的“一元函数微积分”可以称为“标量函数微积分”的话,那么,现在给大家介绍的,就属于“多元函数微积分”,也可以称为“向量函数微积分”,也称为“向量分析”。

那么,为什么说“梯度场”又等价与“无旋场”呢?

这里,“旋”是指旋度,是本专栏后面要介绍的内容,这里给大家大致画出来一看便知——

左侧为梯度场,右侧为旋度场。每个箭头都是从低势指向高势,如果能通过这些箭头求解出一个势场,则这个向量场就是有势场。显示,右侧的有旋场,产生了 a>b>c>d>a 的矛盾,是无法求解出 U 的,因此,有旋则无势。

所以说,梯度场有势而无旋。

在本专栏的上一篇文章中,我们讲解了“梯度”,知道了其实梯度就是多维空间中标量的导数,而梯度的逆运算就是“求势”,所以说,“梯度场”与“有势场”是等价的。

那么,既然多维空间中的标量 U 可以求导数grad U(∇U),并且可以借用我们对于导数和积分的因果意义来理解——

导数表示原因,积分表示结果;梯是势的原因,势是梯的结果。(详见上节专栏)

我们不禁要问,多维空间中的向量是否也可以求导数呢?

可以!

我们在多维空间中,定义的“向量的全方向导数”,就称为“散度”——

散度(divergence)表示为  div V,注意到 2 点:

  1. 字母V用了粗体字,因为V表示向量;
  2. 符号 div 用了细体字,因为散度是一个标量,你看上面的公式是几个数求和。

如何理解散度的定义式?

首先,V是一个向量——

而我们上节课中讲过的 Nabla 算子∇,也可以表示为一个向量的形式——

那么,散度可以表示为两个向量的“内积”——

div V = ∇ · V

(偶尔能把公式打出来还挺不习惯的,还是写一下)

所以,散度是一个内积。

“内积”到底是什么?

两个向量相乘得到一个标量,我们把这样一种乘法定义为内积——

注意到,我这里在最后还写出了一种用“矩阵乘法”形式来表示的“向量内积”。它们显然是相等的,因为咱们讲过矩阵乘法的记忆法则——将乘号左边的矩阵下沉,然后与右侧连线对应位置相乘再相加——

这是记忆矩阵乘法的一种最速方法,如图——

感兴趣的同学可参见——

理解线性代数核心算法:矩阵乘法就是“方法乘以对象”

正如上一行文章的标题所说,乘法就是将方法施加在对象上,在内积公式中,a与b是完全对称的,因此我们可以说内积a·b的意义是——

对a进行b变换 OR  对b进行a变换

也就是说,向量既可以表示一种对象,也可以表示一种方法(变换)。

究竟是什么变换?

内积变换 =  投影 +  缩放

因为,我们知道——

如果我们把其中一个向量特殊化,比如变为一个单位向量e,那么a与这个单位向量的内积,就变成了只有投影没有缩放了——

这里思考一个概念:“投影”究竟是什么?

向量 a 对向量 e 的投影,其实就是表示为 a 的对象,在表示为 e 的坐标轴上的值。简言之,投影就是坐标。a 对 e 的投影,就是把 e 当作坐标轴后,a 的这个坐标轴上的表示值。

所以,内积是什么?

内积是投影坐标。

散度是一个坐标轴上的投影坐标

这里稍微回顾一下上面的内容:

  1. 散度 div 是内积的形式:∇·V
  2. 与 e 的内积表示以 e 为坐标轴的投影坐标

此时我们不难得出一个推论,散度应该是某个坐标轴上的坐标!

为什么说是“应该”呢?因为毕竟 Nabla 算子(∇)只是表示成向量的形式,它本身严格地说并不是一个线性空间中的向量。

但是,我们完全可以去这样理解——∇与V的内积 ∇·V,即为“向量V向坐标轴∇的投影坐标”。

既然是坐标轴上的坐标,那么散度就肯定是标量了。

这个 Nabla 坐标轴究竟是什么呢?

Nabla 坐标轴:全方向导数

全方向,意思是说所有方向上,如果我们是在二维空间(平面)上来理解,那就是在一个圆周上,如果所有位置的向量都是向“外”发射,则这个圆内部的向量场有正的导数,即散度为正。如果我们想准确地求某一个点的散度,其实不用找到圆周上所有的向量,而只需要找到两个正交方向,比如画一个正方形——

注意到,这两个正交方向可以任意,当方形足够小时,这 4 个向量就有足够的代表性。

进一步,我们按 xy 正方向将 4 个箭头画出,显然要想求向外的导数,那么需要分方向求差,再相加——

所以,散度就是某点附近微小区域内,向量向外的发散程度。

即,散度是向量在全方向导数轴上的投影,换言之,散度是向量的全方向导数。

散度场——重要的信息视角

向量场中每一个点位都可以求出一个散度值,放在一起就成为一个“散度场”,因为散度场是标量场,所以很容易想到用“颜色”来表示大小——

从此图中可以看出,箭头都远离的点位,散度值为正,图中颜色最浅的位置就是散度最大的位置。箭头都逼近的点位,散度值为负。

从这张图,我们明显能看得出来,这个场中有两个特殊的点位——

一处好像是在向外发射,一处好像是在向内吸收。

这两处,我们称为“源”,表示向量无中生有的源泉。

散度,是“源”的强度

在向量场中,所有散度不为零的点位,均为“源”。散度为正,则为正源;散度为负,则为负源。

习惯上我们常常用彩色表示散度,一般暖色(红)表示正,冷色(蓝)表示负,这样我们就能明显地看出场中各处散度的正负,也就是源的强度了——

如果,向量表示流体的流速的话,那么某处向量的散度为正就表示该处的流体分子都在向外流动,因而密度会降低;反之,如果散度为负,则表示分子都在聚焦,则密度升高。

如果整个流场中所有的点位散度都为 0,则没有正源也没有负源,这时称为“无源场”,那么所有位置的密度都是均一不变的,称为“不可压缩流动”。

向量求散度即为源,表示为公式为:div V = ρ。那么,如何已知散度(源)来反求向量呢?

其实,从上一节的梯度与势的关系我们不难想到,一个散度场可以对应无数个源场,这些源场之间差一个什么呢?差一个旋度场。关于旋度场,咱们下节展开讲解。

散度的另一种 Nabla 算子表示

其实,散度用 Nabla 算子(∇)有两种表示方法,写出来是这样的——

div V = ∇·V

如果把点乘号去掉,如果不是写错了的话,∇V表示“并矢”或“张量矢”。

这样我们在看一些文献时,就不会被搞晕了。

前两篇专栏文章分别解析了“梯度”与“散度”,我们理解了,梯度是标量场的空间导数,散度是向量场全方向导数。显然,今天要讲“旋度”了,旋度也是导数吗?

怪异的定义式

旋度(curl),也是作用于向量的一种算法,定义为:

这样的形式看起来有点复杂,可以写为:

这样,旋度被表示为两种形式:

  1. Nabla 算子与向量的叉乘(外积);
  2. 一个怪异的行列式。

这种形式,看起来怪异,但是理解以后,就会发现它的美妙之处。

快速记忆旋度公式

首先介绍一种快速记忆三阶行列式的计算方法:如图,将第二行与三行向两侧周期性扩展(蓝字),然后,按口诀“捺减撇”(紫色捺线上的乘积减去绿色撇线上的乘积),即可快速记住行列式计算方法——

感兴趣可参见“线性代数专栏”

这样,我们很容易知道,当第一行换为ijk时,就很自然写出外积的形式了——

这其中体现了一种“三元对称”的思路,x 后面是 y,y 后面是 z,而 z 后面又是 x——

如果降维到二维,则外积为:

表示,在 xy 平面内的两个向量相乘,外积仍然是向量并指向 z 轴方向。

外积:向量在法向轴上的投影

上节课我们知道了,e与a的内积表示a向e坐标轴上投影的坐标,即内积表示轴上投影。那么,外积是什么涵义呢?

我们知道,向量a与向量b的外积,可以写成夹角正弦的形式——

像上一课一样,咱们取其中一个向量为单位向量 e,这样能表示得更本质一些——

画成图像——

我们发现,e与a的外积,其实是a向着一个与e垂直的方向的投影,当然,最终这个投影的值要表示在另一个向量k的方向上,这个k同时与a和e垂直。

想说的就是一句话,外积表示在垂直方向上的投影。

旋度就是法向导数——“角速度 ×2”

好了,铺垫到这里,我们可以猜想到这样的推论:

向量V与 Nabla 算子(∇)的外积,也即旋度,表示向量 V 在其法向上的导数。

其实,“法向导数”的说法显然是不正宗的,毕竟从来没有数学教材这样去讲过。为什么我要这样讲呢?

因为,旋度就是角速度的 2 倍——(改用位移的字母 S,是为了更方便理解)

也就是说,旋度与角速度代表着场的同一性质,而角速度是我们在理论力学中就熟悉的概念,其方向是向量场的“法向”。

虽然不太严谨,但是我们体会到了旋度的真切的意义,那就是角速度。

形象一点,一个场中放几个小风车,旋转得快的旋度(角速度)就是大呀——

至于为什么会差一个 2 倍的关系,欢迎大家自己思考总结。

旋度的计算——更实际地感知

让我们用实际的计算再来感知一下旋度的意义吧。

咱们在 MATLAB 中输入代码:

[x,y] = meshgrid(-4:4,-4:4);
Fx = -y*2;
Fy = x*2;
quiver(x,y,Fx,Fy) %  生成箭头向量图

得到图像——

这是一个围绕着中心旋转的场,使用 curl()函数来求旋度与角速度——

[curlz,cav] = curl(x,y,Fx,Fy)

旋度(Z 方向)的结果为:

我们看到,整个场中所有点的旋度都是 4。有同学就会问了,场中越向边缘就越没有旋转的感觉,怎么旋度还是一样的呢?这里就要纠正一个误区了,旋度并不是看起来有旋转的感觉,别忘了,旋度就是角速度的 2 倍呀。所以,这个场可能是一个大圆盘,正在围绕着中心旋转,自然,整个圆盘上所有点的角速度及旋度都保持一致。

涡——向量场的旋度场

还是来看二维的简单情况,这时旋度可以看成是标量(因为毕竟向量的方向均指向 Z),我们可以用颜色深浅来表示旋度的大小——

这就非常形象了,场中存在一个极大值中心和一个极小值中心,类似于散度形成的源场,此处就表示为旋度形成的涡场。“旋涡”一词再形象不过了。

通过本专栏的前 4 篇文章,我们已经对空间、梯度、散度、旋度的意义有了直观的理解,今天我们把它们放到一起,从整体的概念上,来理解空间的奥秘。

总结回顾

先回顾一下梯度(grad)、散度(div)、旋度(curl)的定义与表达,它们分别可以表示为 Nabla 算子(∇)与对象的“直接作用”、“内积”、“外积”——

可能有同学注意到了,梯度(grad)、散度(div)、旋度(curl)中有的符号被加粗了,这就表示它们代表着向量,总结三者的作用性质——

grad(标量) =  向量 div(向量) =  标量 curl(向量) =  向量

画了一张小图,更清晰一些——

意义理解

回顾前面三节的思路,我们从 Nabla 算子(∇)表达法来入手,来理解梯度、散度、旋度的意义。先写一下我为大家设计的表达式:

∇U = -F ∇·V =  ρ ∇×V =  2ω

其实,这里的表达式字母是精心选择,是有意义的,比如:

  • -F  为梯度场,是类力场,加了个负号后,U 就表示“势”
  • ρ  为散度场,是类密度场,称为“源”
  • 2ω  为旋度场,是类角速度场,称为“涡”

当然,负号与系数 2 都乘上了一个常数,更有利于对意义的理解。(具体理由见前面几篇文章)

那么,Nabla 算子(∇)与对象的“直接作用”、“内积”、“外积”是什么涵义呢?

  • 直接作用——∇U

∇与对象直接作用时,∇就是一个微分符号,相当于普通微分符号 d。

所以,梯度∇U 就表示标量场 U 的“空间导数”。

  • 内积作用——∇·V

线性空间中,e·a 表示向量a向e坐标轴上的投影,当把e换成∇后,由于∇是微分算子,所以∇·V表示“全方向导数”。

  • 外积作用——∇×V

线性空间中,e×a 表示向量a向e的法向坐标轴上的投影,当把e换成∇后,由于∇是微分算子,所以∇×V表示“法方向导数”,也即“角速度”。

以上这三种理解,解释了为什么梯散旋会有这样的 Nabla 算子表达形式,我们也可以看出:梯散旋三者均表示某一种条件下的导数意义,这也是为什么它们都需要用微分算子的原因。

导数是什么?在微积分专栏中我们讲过,导数表示原因,积分表示结果,所以说——

梯度、散度、旋度其实就是不同视角下的“场”的“原因”。

对微积分的意义理解感兴趣的同学可参见——

理解微积分真谛:导数与微分

两个恒零式的理解

上面都是一阶微分,其实还有二阶微分。其中有两个恒为零的二阶微分——

  • 梯度场的旋度为零
  • 旋度场的散度为零

即:

curl(grad U) = 0

div(curl V) = 0

如何理解呢?

  • 梯度场的旋度为零

换言之,梯度场无旋。因为,梯度场是类似于力场的有势场,它的势既然有高有低,那么相对的高低在整体中就不能出现“矛盾”,如下图所示,右侧的有旋场,产生了 a>b>c>d>a 的矛盾——

梯度场无旋有一个形象的理解就是,下图这种无限循环的楼梯是不可能制造出来的——

我们假设图片中的楼梯能制造出来,那么放一个小球上去,它将无限地加速移动,这不就成了永动机了?所以梯度场无旋反映的就是能量守恒的基本规律。

  • 旋度场的散度为零

换言之,旋度场无源。

首先,再次深入理解一下“源”的概念。我给大家准备了一个动图,这张动图中,每个小球的运动即由向量场表示,那么,小球在中心点处不断“产生”的这个动作,就反映了中心点处有一个源。这个源就如同是从四维空间来的一样,是无中生有的。

为什么旋度场就不能“无中生有”呢?如下面这张简图所示,左侧是有源点,当区域无限小时,v1 与 v2 也会有一个差(微分),这是“源”造成的;而右侧的量是角速度 ω,当区域无限小时,ω1 与 ω2 表示这个无限小区域的角速度,那么一定是相等的,所以无源。

当我们从概念上、从直观的形象上,去理解空间、理解场,我们对梯度、散度、旋度有了自己的解读,对于势、源、涡这些词汇就有了意义感,这样我们再去学习数学公式就会有新的、更深刻的理解。