一文读懂Nabla算子
∇ \nabla ∇算子的介绍
∇ \nabla ∇称作Nabla算子或del算子(算子是一种映射,可以理解为特殊的函数), ∇ \nabla ∇算子从功能上来看,被称作矢量微分算子,又因为它是被哈密顿引入的,因此也称哈密顿算子。其他名称还有劈形算子、倒三角算子等等,不过这都不重要。
那么这个
∇
\nabla
∇算子到底是什么呢,我们先来看它在三维情况下的定义:
∇
=
(
∂
∂
x
,
∂
∂
y
,
∂
∂
z
)
=
e
⃗
x
∂
∂
x
+
e
⃗
y
∂
∂
y
+
e
⃗
z
∂
∂
z
\nabla=\left(\frac{\partial}{\partial x}, \frac{\partial}{\partial y}, \frac{\partial}{\partial z}\right)=\vec{e}_{x} \frac{\partial}{\partial x}+\vec{e}_{y} \frac{\partial}{\partial y}+\vec{e}_{z} \frac{\partial}{\partial z}
∇=(∂x∂,∂y∂,∂z∂)=ex∂x∂+ey∂y∂+ez∂z∂
只看定义的话不难发现, ∇ \nabla ∇算子本身似乎并没有什么明确的意义,它有偏导符号也有一个指向不明的方向,但我们似乎说不出它对谁求导以及它指向何处,就像微分算子 D = d d x D=\frac{d}{dx} D=dxd一样, ∇ \nabla ∇必须作用于函数才有意义。那么 ∇ \nabla ∇算子应当如何作用于其他函数呢?
梯度、散度和旋度
那么我们来观察一下 ∇ \nabla ∇的性质以确定其如何作用于函数,根据其定义我们可以发现, ∇ \nabla ∇算子与矢量的形式 A ⃗ = e x ⃗ a + e y ⃗ b + e z ⃗ c \vec{A}=\vec{e_x}a+\vec{e_y}b+\vec{e_z}c A=exa+eyb+ezc也有一定的相似性,虽然它本身并不是矢量,但我们仍可以将其当做矢量进行使用,那么与矢量类似, ∇ \nabla ∇算子也应当有三种乘法。
矢量 A ⃗ \vec{A} A的三种乘法 1. 与标量 a a a相乘得 a A ⃗ a\vec{A} aA;2. 与另一个矢量 B ⃗ \vec{B} B点乘得 A ⃗ ⋅ B ⃗ \vec{A}\cdot\vec{B} A⋅B;3. 与另一个矢量叉乘得 A ⃗ × B ⃗ \vec{A}\times\vec{B} A×B。
所以我们将 ∇ \nabla ∇算子也作用于标量函数 u u u上得 ∇ u \nabla u ∇u,那么根据 ∇ \nabla ∇算子的定义有, ∇ u = ( ∂ ∂ x , ∂ ∂ y , ∂ ∂ z ) u = ∂ u ∂ x e x ⃗ + ∂ u ∂ y e y ⃗ + ∂ u ∂ z e z ⃗ \nabla u=\left(\frac{\partial}{\partial x}, \frac{\partial}{\partial y}, \frac{\partial}{\partial z}\right)u = \frac{\partial u}{\partial x}\vec{e_x}+ \frac{\partial u}{\partial y}\vec{e_y}+ \frac{\partial u}{\partial z}\vec{e_z} ∇u=(∂x∂,∂y∂,∂z∂)u=∂x∂uex+∂y∂uey+∂z∂uez,回忆一下高数内容可以发现,这不就是梯度的表达式么,所以 ∇ \nabla ∇算子作用于标量函数 ∇ \nabla ∇即可得到标量函数的梯度, ∇ u = g r a d u \nabla u=grad\ u ∇u=grad u。
接下来如法炮制将 ∇ \nabla ∇算子与矢量函数 f ⃗ \vec{f} f点乘,那么我们可以得到 ∇ ⋅ f ⃗ = ( ∂ ∂ x , ∂ ∂ y , ∂ ∂ z ) ⋅ ( f x , f y , f z ) = ∂ f x ∂ x e x ⃗ + ∂ f y ∂ y e y ⃗ + ∂ f z ∂ z e z ⃗ \nabla\cdot\vec{f}=\left(\frac{\partial}{\partial x}, \frac{\partial}{\partial y}, \frac{\partial}{\partial z}\right)\cdot\left(f_x, f_y, f_z\right)=\frac{\partial f_x}{\partial x}\vec{e_x}+ \frac{\partial f_y}{\partial y}\vec{e_y}+ \frac{\partial f_z}{\partial z}\vec{e_z} ∇⋅f=(∂x∂,∂y∂,∂z∂)⋅(fx,fy,fz)=∂x∂fxex+∂y∂fyey+∂z∂fzez,这被称作 f ⃗ \vec{f} f的散度,高斯定律就是电场的散度为0,散度表征空间各点矢量场发散的强弱程度, ∇ ⋅ f ⃗ = d i v f \nabla\cdot \vec{f}=div\ f ∇⋅f=div f。
再将 ∇ \nabla ∇算子与矢量函数 A ⃗ \vec{A} A叉乘,则 ∇ × A ⃗ = ( ∂ ∂ x , ∂ ∂ y , ∂ ∂ z ) × ( A x , A y , A z ) = ∣ e ⃗ x e ⃗ y e ⃗ z ∂ ∂ x ∂ ∂ y ∂ ∂ z A x A y A z ∣ \nabla\times\vec{A}=\left(\frac{\partial}{\partial x}, \frac{\partial}{\partial y}, \frac{\partial}{\partial z}\right)\times\left(A_x, A_y, A_z\right)=\left|\begin{array}{ll}\vec{e}_{x}\ \ \quad \vec{e}_{y}\ \ \quad \vec{e}_{z} \\ \frac{\partial}{\partial x} \quad \frac{\partial}{\partial y} \quad \frac{\partial}{\partial z} \\ A_{x} \quad A_{y} \quad A_{z}\end{array}\right| ∇×A=(∂x∂,∂y∂,∂z∂)×(Ax,Ay,Az)=∣∣∣∣∣∣ex ey ez∂x∂∂y∂∂z∂AxAyAz∣∣∣∣∣∣,这被称作 A ⃗ \vec{A} A的旋度,旋度表示向量场对某一点附近的微元造成的旋转程度, ∇ × A ⃗ = r o t A ⃗ \nabla\times\vec{A}=rot\ \vec{A} ∇×A=rot A。
散度反映的是无穷小曲面的通量和闭合曲面体积的比值,这里借用长尾科技的比喻体会散度的物理意义:在电场中,把电场线都想象成水流,然后拿一个非常轻的圆形橡皮筋放到这里,如果这个橡皮筋的面积变大,我们就说这个点的散度为正,反之为负。
旋度的定义就是无穷小非闭合曲面的环流和这个曲面的面积之比。旋度的物理意义:我们把一个小风车放在某一点上,如果这个风车能转起来,就说明这点的旋度不为0。
![]()
对于旋度、散度这两个概念来源不清楚的同学可以观看参考文献[2]的文章,想要更直观了解散度、旋度物理意义的同学可以在参考文献及视频[3]中观看3b1b的可视化视频,可以直接从14:11处开始。
不同坐标系下 ∇ \nabla ∇算子的形式
我们在定义中给出的是 ∇ \nabla ∇算子在三维直角坐标系下的定义 ∇ = ( ∂ ∂ x , ∂ ∂ y , ∂ ∂ z ) = e ⃗ x ∂ ∂ x + e ⃗ y ∂ ∂ y + e ⃗ z ∂ ∂ z \nabla=\left(\frac{\partial}{\partial x}, \frac{\partial}{\partial y}, \frac{\partial}{\partial z}\right)=\vec{e}_{x} \frac{\partial}{\partial x}+\vec{e}_{y} \frac{\partial}{\partial y}+\vec{e}_{z} \frac{\partial}{\partial z} ∇=(∂x∂,∂y∂,∂z∂)=ex∂x∂+ey∂y∂+ez∂z∂。
向量微分算子的形式化定义为: ∇ = d d r \nabla=\frac{d}{dr} ∇=drd,在 n n n维空间中,分母 r r r 即为含 n n n个分量的变量,在二维情况下 ∇ \nabla ∇算子即为 ∇ = ( ∂ ∂ x , ∂ ∂ y , ) = e ⃗ x ∂ ∂ x + e ⃗ y ∂ ∂ y + e ⃗ z \nabla=\left(\frac{\partial}{\partial x}, \frac{\partial}{\partial y}, \right)=\vec{e}_{x} \frac{\partial}{\partial x}+\vec{e}_{y} \frac{\partial}{\partial y}+\vec{e}_{z} ∇=(∂x∂,∂y∂,)=ex∂x∂+ey∂y∂+ez,以此类推,可以得到任意高维的 ∇ \nabla ∇算子的形式。
在正交曲线坐标系下有
∇
=
e
⃗
1
1
h
1
∂
∂
x
1
+
e
⃗
2
1
h
2
∂
∂
x
2
+
e
⃗
3
1
h
3
∂
∂
x
3
∇
φ
=
e
⃗
1
1
h
1
∂
φ
∂
x
1
+
e
⃗
2
1
h
2
∂
φ
∂
x
2
+
e
⃗
3
1
h
3
∂
φ
∂
x
3
∇
⋅
A
⃗
=
1
h
1
h
2
h
3
[
∂
∂
x
1
(
h
2
h
3
A
1
)
+
∂
∂
x
2
(
h
3
h
1
A
2
)
+
∂
∂
x
3
(
h
2
h
1
A
3
)
]
\begin{aligned} &\nabla=\vec{e}_{1} \frac{1}{h_{1}} \frac{\partial}{\partial x_{1}}+\vec{e}_{2} \frac{1}{h_{2}} \frac{\partial}{\partial x_{2}}+\vec{e}_{3} \frac{1}{h_{3}} \frac{\partial}{\partial x_{3}} \\ &\nabla \varphi=\vec{e}_{1} \frac{1}{h_{1}} \frac{\partial \varphi}{\partial x_{1}}+\vec{e}_{2} \frac{1}{h_{2}} \frac{\partial \varphi}{\partial x_{2}}+\vec{e}_{3} \frac{1}{h_{3}} \frac{\partial \varphi}{\partial x_{3}} \\ &\nabla \cdot \vec{A}=\frac{1}{h_{1} h_{2} h_{3}}\left[\frac{\partial}{\partial x_{1}}\left(h_{2} h_{3} A_{1}\right)+\frac{\partial}{\partial x_{2}}\left(h_{3} h_{1} A_{2}\right)+\frac{\partial}{\partial x_{3}}\left(h_{2} h_{1} A_{3}\right)\right] \end{aligned}
∇=e1h11∂x1∂+e2h21∂x2∂+e3h31∂x3∂∇φ=e1h11∂x1∂φ+e2h21∂x2∂φ+e3h31∂x3∂φ∇⋅A=h1h2h31[∂x1∂(h2h3A1)+∂x2∂(h3h1A2)+∂x3∂(h2h1A3)]
其中
h
i
=
(
∂
x
∂
x
i
)
2
+
(
∂
y
∂
x
i
)
2
+
(
∂
z
∂
x
i
)
2
(
i
=
1
,
2
,
3
)
h_{i}=\sqrt{\left(\frac{\partial x}{\partial x_{i}}\right)^{2}+\left(\frac{\partial y}{\partial x_{i}}\right)^{2}+\left(\frac{\partial z}{\partial x_{i}}\right)^{2}} \quad(i=1,2,3)
hi=(∂xi∂x)2+(∂xi∂y)2+(∂xi∂z)2(i=1,2,3)
称度量系数(或拉梅系数), 正交坐标系可完全由三个拉梅系数
h
1
,
h
2
,
h
3
h_{1}, h_{2}, h_{3}
h1,h2,h3 来描述。
∇ \nabla ∇算子运算律
通过之前的分析,我们可以发现 ∇ \nabla ∇算子既是一个微分算符,同时也具有矢量形式,初学者往往不知道该在什么条件下使用何种性质,所以运算起来会比较复杂。
下面给出简单的运算律与相应的记忆方法
根据前面提到的具有的微分运算性质与具有矢量形式的性质可以将它的运算拆分为两部分:
- 微分运算,即按照乘积的微分(导数)公式: d d x ( f g ) = d f d x g + f d g d x \frac{\mathrm{d}}{\mathrm{d} x}(f g)=\frac{\mathrm{d} f}{\mathrm{~d} x} g+f \frac{\mathrm{d} g}{\mathrm{~d} x} dxd(fg)= dxdfg+f dxdg 变形;
- 变形之后只要当作矢量去化简就好了,相当于已经考虑完了微分的性质,化简就是想办法利用标量矢量混合运算让 ∇ \nabla ∇ 作用在该作用的地方。
下面我们对几个常用公式进行推导
首先简单体会一下微分运算的变形
∇
(
φ
ψ
)
=
∇
(
φ
ψ
c
)
+
∇
(
φ
c
ψ
)
=
ψ
∇
φ
+
φ
∇
ψ
\nabla(\varphi \psi)=\nabla\left(\varphi \psi_{c}\right)+\nabla\left(\varphi_{c} \psi\right)=\psi \nabla \varphi+\varphi \nabla \psi
∇(φψ)=∇(φψc)+∇(φcψ)=ψ∇φ+φ∇ψ
中间部分就是微分的作用,下标
c
c
c 的意思是
∇
\nabla
∇ 不作用于它,当它是常数。
然后就是第二步:
∇
\nabla
∇ 是个矢量,
φ
,
ψ
\varphi, \psi
φ,ψ 都是标量所以就只要让
∇
\nabla
∇ 作用在该作用的部分即可。
引入向量后再次体会微分运算
∇
⋅
(
φ
f
⃗
)
=
∇
⋅
(
φ
f
⃗
c
)
+
∇
⋅
(
φ
c
f
⃗
)
=
∇
φ
⋅
f
⃗
+
φ
∇
⋅
f
⃗
∇
×
(
φ
f
⃗
)
=
∇
×
(
φ
f
⃗
c
)
+
∇
×
(
φ
c
f
⃗
)
=
∇
φ
×
f
⃗
+
φ
∇
×
f
⃗
\begin{aligned} &\nabla \cdot(\varphi \vec{f})=\nabla \cdot\left(\varphi \vec{f}_{c}\right)+\nabla \cdot\left(\varphi_{c} \vec{f}\right)=\nabla \varphi \cdot \vec{f}+\varphi \nabla \cdot \vec{f} \\ &\nabla \times(\varphi \vec{f})=\nabla \times\left(\varphi \vec{f}_{c}\right)+\nabla \times\left(\varphi_{c} \vec{f}\right)=\nabla \varphi \times \vec{f}+\varphi \nabla \times \vec{f} \end{aligned}
∇⋅(φf)=∇⋅(φfc)+∇⋅(φcf)=∇φ⋅f+φ∇⋅f∇×(φf)=∇×(φfc)+∇×(φcf)=∇φ×f+φ∇×f
第一步,先让
∇
\nabla
∇ 分别作用,然后第二步,
∇
\nabla
∇ 与
f
⃗
\vec{f}
f 是矢量,
φ
\varphi
φ 是标量,按照传统的运算手段整理它们即可。
接下来的例子为微分+矢量运算
∇
⋅
(
f
⃗
×
g
⃗
)
=
∇
⋅
(
f
⃗
×
g
⃗
c
)
+
∇
⋅
(
f
⃗
c
×
g
⃗
)
=
(
∇
×
f
⃗
)
⋅
g
⃗
−
(
∇
×
g
⃗
)
⋅
f
⃗
\nabla \cdot(\vec{f} \times \vec{g})=\nabla \cdot\left(\vec{f} \times \vec{g}_{c}\right)+\nabla \cdot\left(\vec{f}_{c} \times \vec{g}\right)=(\nabla \times \vec{f}) \cdot \vec{g}-(\nabla \times \vec{g}) \cdot \vec{f}
∇⋅(f×g)=∇⋅(f×gc)+∇⋅(fc×g)=(∇×f)⋅g−(∇×g)⋅f
我们看第二步,这就是前面提到的想办法利用标量矢量混合运算让
∇
\nabla
∇ 作用在该作用的地方。大家都是矢量,那就要按照矢量的规则来,这是混合积,具有轮换对称性。
同样是微分+矢量运算,且需要配合矢量公式计算
∇
×
(
f
⃗
×
g
⃗
)
=
∇
×
(
f
⃗
×
g
⃗
c
)
+
∇
×
(
f
⃗
c
×
g
⃗
)
=
(
g
⃗
⋅
∇
)
f
⃗
−
(
∇
⋅
f
⃗
)
g
⃗
+
(
∇
⋅
g
⃗
)
f
⃗
−
(
f
⃗
⋅
∇
)
g
⃗
\begin{aligned} \nabla \times(\vec{f} \times \vec{g}) &=\nabla \times\left(\vec{f} \times \vec{g}_{c}\right)+\nabla \times\left(\vec{f}_{c} \times \vec{g}\right) \\ &=(\vec{g} \cdot \nabla) \vec{f}-(\nabla \cdot \vec{f}) \vec{g}+(\nabla \cdot \vec{g}) \vec{f}-(\vec{f} \cdot \nabla) \vec{g} \end{aligned}
∇×(f×g)=∇×(f×gc)+∇×(fc×g)=(g⋅∇)f−(∇⋅f)g+(∇⋅g)f−(f⋅∇)g
由矢量公式:
A
⃗
×
(
B
⃗
×
C
⃗
)
=
B
⃗
(
C
⃗
⋅
A
⃗
)
−
C
⃗
(
A
⃗
⋅
B
⃗
)
\vec{A}\times(\vec{B}\times\vec{C})=\vec{B}(\vec{C}\cdot\vec{A})-\vec{C}(\vec{A}\cdot\vec{B})
A×(B×C)=B(C⋅A)−C(A⋅B),先对上式进行微分变形,再使用矢量公式即可得到最后公式。
很好,继续下一个例子,仍是微分+矢量运算,并配合矢量公式
∇
(
f
⃗
⋅
g
⃗
)
=
∇
(
f
⃗
⋅
g
⃗
c
)
+
∇
(
f
⃗
c
⋅
g
⃗
)
=
[
(
g
⃗
c
⋅
∇
)
f
⃗
−
g
⃗
c
×
(
f
⃗
×
∇
)
]
+
[
(
f
⃗
c
⋅
∇
)
g
⃗
−
f
⃗
c
×
(
g
⃗
×
∇
)
]
=
(
g
⃗
⋅
∇
)
f
⃗
+
g
⃗
×
(
∇
×
f
⃗
)
+
(
f
⃗
⋅
∇
)
g
⃗
+
f
⃗
×
(
∇
×
g
⃗
)
\begin{aligned} \nabla(\vec{f} \cdot \vec{g}) &=\nabla\left(\vec{f} \cdot \vec{g}_{c}\right)+\nabla\left(\vec{f}_{c} \cdot \vec{g}\right) \\ &=\left[\left(\vec{g}_{c} \cdot \nabla\right) \vec{f}-\vec{g}_{c} \times(\vec{f} \times \nabla)\right]+\left[\left(\vec{f}_{c} \cdot \nabla\right) \vec{g}-\vec{f}_{c} \times(\vec{g} \times \nabla)\right] \\ &=(\vec{g} \cdot \nabla) \vec{f}+\vec{g} \times(\nabla \times \vec{f})+(\vec{f} \cdot \nabla) \vec{g}+\vec{f} \times(\nabla \times \vec{g}) \end{aligned}
∇(f⋅g)=∇(f⋅gc)+∇(fc⋅g)=[(gc⋅∇)f−gc×(f×∇)]+[(fc⋅∇)g−fc×(g×∇)]=(g⋅∇)f+g×(∇×f)+(f⋅∇)g+f×(∇×g)
所需矢量公式为:
C
⃗
(
A
⃗
⋅
B
⃗
)
=
(
A
⃗
⋅
C
⃗
)
B
⃗
−
A
⃗
×
(
B
⃗
×
C
⃗
)
\vec{C}(\vec{A} \cdot \vec{B})=(\vec{A} \cdot \vec{C}) \vec{B}-\vec{A} \times(\vec{B} \times \vec{C})
C(A⋅B)=(A⋅C)B−A×(B×C),先对上式进行微分变形,然后使用矢量公式做进一步变形,对其进行整理则可得最后公式。
∇ \nabla ∇的微分运算性质并不只在 d d x ( f g ) = d f d x g + f d g d x 变 \frac{\mathrm{d}}{\mathrm{d} x}(f g)=\frac{\mathrm{d} f}{\mathrm{~d} x} g+f \frac{\mathrm{d} g}{\mathrm{~d} x}变 dxd(fg)= dxdfg+f dxdg变形时使用,例如变形 ( A ⃗ ⋅ ∇ ) A ⃗ = ∇ ( A ⃗ 2 2 ) (\vec{A}\cdot\nabla)\vec{A}=\nabla(\frac{\vec{A}^2}{2}) (A⋅∇)A=∇(2A2) 中就使用了其微分性质。
通过前面介绍的运算律,我们可以推导更多 ∇ \nabla ∇算子相关公式,接下来给出总表。
∇ \nabla ∇算子常用公式
∇ ( φ ψ ) = ψ ∇ φ + φ ∇ ψ \nabla(\varphi \psi)=\psi \nabla \varphi+\varphi \nabla \psi ∇(φψ)=ψ∇φ+φ∇ψ;
∇ ⋅ ( φ f ⃗ ) = ∇ φ ⋅ f ⃗ + φ ∇ ⋅ f ⃗ \nabla \cdot(\varphi \vec{f})=\nabla \varphi \cdot \vec{f}+\varphi \nabla \cdot \vec{f} ∇⋅(φf)=∇φ⋅f+φ∇⋅f;
∇ × ( φ f ⃗ ) = ∇ φ × f ⃗ + φ ∇ × f ⃗ \nabla \times(\varphi \vec{f})=\nabla \varphi \times \vec{f}+\varphi \nabla \times \vec{f} ∇×(φf)=∇φ×f+φ∇×f;
∇ ⋅ ( f ⃗ × g ⃗ ) = ( ∇ × f ⃗ ) ⋅ g ⃗ − ( ∇ × g ⃗ ) ⋅ f ⃗ \nabla \cdot(\vec{f} \times \vec{g})=(\nabla \times \vec{f}) \cdot \vec{g}-(\nabla \times \vec{g}) \cdot \vec{f} ∇⋅(f×g)=(∇×f)⋅g−(∇×g)⋅f;
∇ × ( f ⃗ × g ⃗ ) = ( g ⃗ ⋅ ∇ ) f ⃗ − ( ∇ ⋅ f ⃗ ) g ⃗ + ( ∇ ⋅ g ⃗ ) f ⃗ − ( f ⃗ ⋅ ∇ ) g ⃗ \nabla \times(\vec{f} \times \vec{g})=(\vec{g} \cdot \nabla) \vec{f}-(\nabla \cdot \vec{f}) \vec{g}+(\nabla \cdot \vec{g}) \vec{f}-(\vec{f} \cdot \nabla) \vec{g} ∇×(f×g)=(g⋅∇)f−(∇⋅f)g+(∇⋅g)f−(f⋅∇)g;
∇ ( f ⃗ ⋅ g ⃗ ) = f ⃗ × ( ∇ × g ⃗ ) + ( f ⃗ ⋅ ∇ ) g ⃗ + g ⃗ × ( ∇ × f ⃗ ) + ( g ⃗ ⋅ ∇ ) f ⃗ \nabla(\vec{f} \cdot \vec{g})=\vec{f} \times(\nabla \times \vec{g})+(\vec{f} \cdot \nabla) \vec{g}+\vec{g} \times(\nabla \times \vec{f})+(\vec{g} \cdot \nabla) \vec{f} ∇(f⋅g)=f×(∇×g)+(f⋅∇)g+g×(∇×f)+(g⋅∇)f;
∇ ⋅ ( f ⃗ g ⃗ ) = ( ∇ ⋅ f ⃗ ) g ⃗ + ( f ⃗ ⋅ ∇ ) g ⃗ \nabla\cdot(\vec{f}\vec{g})=(\nabla\cdot\vec{f})\vec{g}+(\vec{f}\cdot\nabla)\vec{g} ∇⋅(fg)=(∇⋅f)g+(f⋅∇)g;
∇ ⋅ ∇ φ ≡ ∇ 2 φ \nabla \cdot \nabla \varphi \equiv \nabla^{2} \varphi ∇⋅∇φ≡∇2φ;
∇ × ( ∇ × f ⃗ ) = ∇ ( ∇ ⋅ f ⃗ ) − ∇ 2 f ⃗ \nabla \times(\nabla \times \vec{f})=\nabla(\nabla \cdot \vec{f})-\nabla^{2} \vec{f} ∇×(∇×f)=∇(∇⋅f)−∇2f;
∇ ⋅ ( f ⃗ g ⃗ ) = ∇ ⋅ ( f ⃗ g ⃗ c ) + ∇ ⋅ ( f ⃗ c g ⃗ ) = ( ∇ ⋅ f ⃗ ) g ⃗ + ( f ⃗ ⋅ ∇ ) g ⃗ \nabla \cdot(\vec{f} \vec{g})=\nabla \cdot\left(\vec{f} \vec{g}_{c}\right)+\nabla \cdot\left(\vec{f}_{c} \vec{g}\right)=(\nabla \cdot \vec{f}) \vec{g}+(\vec{f} \cdot \nabla) \vec{g} ∇⋅(fg)=∇⋅(fgc)+∇⋅(fcg)=(∇⋅f)g+(f⋅∇)g;
∇ φ = ∇ ⋅ ( φ I ↔ ) \nabla \varphi=\nabla\cdot(\varphi\overleftrightarrow{I}) ∇φ=∇⋅(φI );
∇ ⋅ I ↔ = ∂ ∂ x ( e ⃗ x ⋅ I ↔ ) + ∂ ∂ y ( e ⃗ y ⋅ I ↔ ) + ∂ ∂ z ( e ⃗ z ⋅ I ↔ ) \nabla \cdot \overleftrightarrow{I}=\frac{\partial}{\partial x}\left(\vec{e}_{x} \cdot \overleftrightarrow{I}\right)+\frac{\partial}{\partial y}\left(\vec{e}_{y} \cdot \overleftrightarrow{I}\right)+\frac{\partial}{\partial z}\left(\vec{e}_{z} \cdot \overleftrightarrow{I}\right) ∇⋅I =∂x∂(ex⋅I )+∂y∂(ey⋅I )+∂z∂(ez⋅I );
I ↔ \overleftrightarrow{I} I 是张量。
∇ \nabla ∇算子相关的常用公式
∇ × ( ∇ φ ) ≡ 0 ∇ ⋅ ( ∇ × A ⃗ ) ≡ 0 ∇ f ( u ) = ( ∇ u ) d f d u ∇ ⋅ A ⃗ ( u ) = ( ∇ u ) ⋅ d A ⃗ d u ∇ × A ⃗ ( u ) = ( ∇ u ) × d A ⃗ d u ∇ 2 1 r = − 4 π δ ( r ) \begin{aligned} &\nabla \times(\nabla \varphi) \equiv 0 \\ &\nabla \cdot(\nabla \times \vec{A}) \equiv 0 \\ &\nabla f(u)=(\nabla u) \frac{\mathrm{d} f}{\mathrm{~d} u} \\ &\nabla \cdot \vec{A}(u)=(\nabla u) \cdot \frac{\mathrm{d} \vec{A}}{\mathrm{~d} u} \\ &\nabla \times \vec{A}(u)=(\nabla u) \times \frac{\mathrm{d} \vec{A}}{\mathrm{~d} u} \\ &\nabla^{2} \frac{1}{r}=-4 \pi \delta(r) \end{aligned} ∇×(∇φ)≡0∇⋅(∇×A)≡0∇f(u)=(∇u) dudf∇⋅A(u)=(∇u)⋅ dudA∇×A(u)=(∇u)× dudA∇2r1=−4πδ(r)
最后一行也可是 ∇ ⋅ ( r ⃗ r 3 ) = 4 π δ ( r ) \nabla \cdot\left(\frac{\vec{r}}{r^{3}}\right)=4 \pi \delta(r) ∇⋅(r3r)=4πδ(r)
补充内容
我们前面提到 ∇ \nabla ∇直接作用于标量函数 u u u表示求其梯度,求梯度的结果为一个向量(梯度有方向嘛,所以结果自然是向量),而 ∇ \nabla ∇也可以作用于向量函数 A ⃗ \vec{A} A,这种运算同样是叫做求向量函数 A ⃗ \vec{A} A的梯度,对向量求梯度的结果为二阶张量。
∇ 2 ≡ ∂ 2 ∂ x 2 + ∂ 2 ∂ y 2 + ∂ 2 ∂ z 2 = ∇ ⋅ ∇ \nabla^{2} \equiv \frac{\partial^{2}}{\partial x^{2}}+\frac{\partial^{2}}{\partial y^{2}}+\frac{\partial^{2}}{\partial z^{2}}=\nabla \cdot \nabla ∇2≡∂x2∂2+∂y2∂2+∂z2∂2=∇⋅∇称为拉普拉斯算符/算子, ∇ 2 u = ∇ ⋅ ( ∇ u ) \nabla^{2} u=\nabla \cdot(\nabla u) ∇2u=∇⋅(∇u)
在任意方向
l
⃗
\vec{l}
l 上移动线元距离
d
l
d l
dl,
φ
\varphi
φ 的增量
d
φ
d \varphi
dφ 称为方向微分,即
d
φ
=
∂
φ
∂
l
d
l
=
∇
φ
⋅
d
l
⃗
d \varphi=\frac{\partial \varphi}{\partial l} d l=\nabla \varphi \cdot d \vec{l}
dφ=∂l∂φdl=∇φ⋅dl。显然,任意两点
φ
\varphi
φ 值差为
φ
B
−
φ
A
=
∫
A
B
∇
φ
⋅
d
l
⃗
\varphi_{B}-\varphi_{A}=\int_{A}^{B} \nabla \varphi \cdot d \vec{l}
φB−φA=∫AB∇φ⋅dl
( A ⃗ ⋅ ∇ ) ϕ (\vec{A}\cdot \nabla)\phi (A⋅∇)ϕ是什么?
( A ⃗ ⋅ ∇ ) ϕ = A ⃗ ⋅ ( ∇ ϕ ) (\vec{A}\cdot\nabla)\phi=\vec{A}\cdot(\nabla\phi) (A⋅∇)ϕ=A⋅(∇ϕ),是标量场 ϕ \phi ϕ在 A ⃗ \vec{A} A方向上的方向导数的 ∣ A ⃗ ∣ \mid\vec{A}\mid ∣A∣倍。
( A ⃗ ⋅ ∇ ) B ⃗ (\vec{A}\cdot \nabla)\vec{B} (A⋅∇)B是什么?
很多初学者会被 ( A ⃗ ⋅ ∇ ) B ⃗ (\vec{A}\cdot \nabla)\vec{B} (A⋅∇)B这样的公式所迷惑,尤其是其中的 A ⃗ ⋅ ∇ \vec{A}\cdot\nabla A⋅∇,这可能会导致这样的误解,难道 ∇ \nabla ∇还可以作用于左边的函数吗?其实 ∇ \nabla ∇左乘矢量有结果,但结果就和 ∇ \nabla ∇一样是一种算子,必须作用在具体的函数上才有意义。
令 A ⃗ = ( A x , A y , A z ) , ∇ = ( ∂ ∂ x , ∂ ∂ y , ∂ ∂ z ) \vec{A}=(A_x,A_y,A_z), \nabla=\left(\frac{\partial}{\partial x}, \frac{\partial}{\partial y}, \frac{\partial}{\partial z}\right) A=(Ax,Ay,Az),∇=(∂x∂,∂y∂,∂z∂),因此两者点乘为 A ⃗ ⋅ ∇ = ( A x ∂ ∂ x , A y ∂ ∂ y , A z ∂ ∂ z ) \vec{A}\cdot\nabla=\left(A_x\frac{\partial}{\partial x}, A_y\frac{\partial}{\partial y}, A_z\frac{\partial}{\partial z}\right) A⋅∇=(Ax∂x∂,Ay∂y∂,Az∂z∂),那么这就是新的算子 A ⃗ ⋅ ∇ \vec{A}\cdot\nabla A⋅∇,所以 ( A ⃗ ⋅ ∇ ) B ⃗ = ( A x ∂ B x ∂ x , A y ∂ B y ∂ y , A z ∂ B z ∂ z ) (\vec{A}\cdot \nabla)\vec{B}=\left(A_x\frac{\partial B_x}{\partial x}, A_y\frac{\partial B_y}{\partial y}, A_z\frac{\partial B_z}{\partial z}\right) (A⋅∇)B=(Ax∂x∂Bx,Ay∂y∂By,Az∂z∂Bz)。
同时在涉及到 ∇ \nabla ∇的运算中还需考虑到 ∇ \nabla ∇在对谁作用,这点至关重要。
例如在 A ⃗ × ( ∇ × B ⃗ ) \vec{A}\times(\nabla\times\vec{B}) A×(∇×B),我们不能将其按照矢量公式直接变形为 ∇ ( A ⃗ ⋅ B ⃗ ) − ( A ⃗ ⋅ ∇ ) B ⃗ \nabla(\vec{A}\cdot\vec{B})-(\vec{A}\cdot\nabla)\vec{B} ∇(A⋅B)−(A⋅∇)B,而是要写为 ∇ B ( A ⃗ ⋅ B ⃗ ) − ( A ⃗ ⋅ ∇ ) B ⃗ \nabla_B(\vec{A}\cdot\vec{B})-(\vec{A}\cdot\nabla)\vec{B} ∇B(A⋅B)−(A⋅∇)B, ∇ B \nabla_B ∇B表示 ∇ \nabla ∇算子只作用于 B B B。
PS:这点是笔者临时补充进来的,暂时还没有严谨易懂的证明方法,读者中有大佬的可以在评论区内留言补充。
感谢您的观看,如果您觉得我的文章有帮助,可以点个关注哦,顺便可以留个赞😁,如果对我的文章有什么建议,也欢迎在评论区留言讨论。
更多相关内容传送门:数学物理方法专栏阅读指南
参考文献及视频
[1] 长尾科技 最美的公式:你也能懂的麦克斯韦方程组(微分篇)
[2] 3Blue1Brown 散度与旋度:麦克斯韦方程组、流体等所用到的语言
[3] 東雲正樹 Nabla 算符 ∇ 的运算律以及常用公式
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!