拉普拉斯算子的疑惑--拉普拉斯算子作用于矢量和定义Hessian矩阵时遇到的问题

拉普拉斯算子的疑惑

国内许多工科教材在讲到有关拉普拉斯算子( Δ \Delta Δ)与哈密顿算子( ∇ \nabla )的内容时含混不清,忽略了许多重要定义,使得一些进一步的推导难以理解

现记录我发现的两个主要问题,并予以解答,希望可以帮助到学习国内教材时有相似疑惑的同学

1. 拉普拉斯算子作用于矢量

1.1 课本中的定义

课本在介绍拉普拉斯算子时,一般会有如下定义:

f \displaystyle f f为二阶可微的实函数,那么有:

Δ f = ∇ 2 f = ∇ ⋅ ∇ f \Delta f = \nabla^2f = \nabla \cdot \nabla f Δf=2f=f

紧接着,教材通常还会将其在直角坐标系下展开,也即

∇ 2 f = ∑ i = 1 n ∂ 2 f ∂ x i 2 \nabla^2f=\sum_{i=1}^n{\frac{\partial^2 f}{\partial x_i^2}} 2f=i=1nxi22f

同时,教科书中常常还会在这里进一步解释它的含义是: 对一实值函数求其梯度的散度

1.2 疑问

但是,在许多进一步的推导中,我们又常常可以看到如下过程,例如在波动方程(亥姆霍兹方程)的推导中有如下内容

∇ 2 E + ω 2 μ ϵ E = 0 \nabla^2 \boldsymbol E + \omega ^2\mu\epsilon\boldsymbol E =0 2E+ω2μϵE=0

其中E为矢量,或者说场量

这就奇了棒棒锤的怪了,说好的求梯度的散度呢?对于矢量我该如何进行计算 ∇ 2 E \nabla ^2 \boldsymbol E 2E

1.3 真正的定义

其实,对矢量进行拉普拉斯算子,其定义与标量下并不相同,在Wolfram(https://mathworld.wolfram.com/VectorLaplacian.html)中可以查找到如下定义

Vector Laplacian
A vector Laplacian can be defined for a vector A \mathbf{A} A by
∇ 2 A = ∇ ( ∇ ⋅ A ) − ∇ × ( ∇ × A ) \nabla^{2} \mathbf{A}=\nabla(\nabla \cdot \mathbf{A})-\nabla \times(\nabla \times \mathbf{A}) 2A=(A)×(×A)
where the notation ˙ \dot{ } ˙ is sometimes used to distinguish the vector Laplacian from the scalar Laplacian ∇ 2 \nabla^{2} 2 (Moon and Spencer 1988 , p . 3 1988, \mathrm{p} .3 1988,p.3 ). In tensor notation, A \mathbf{A} A is written A μ A_{\mu} Aμ, and the identity becomes

∇ 2 A μ = A μ ; λ ; λ = ( g λ x A μ ; λ ) ; κ = g λ κ ; κ A μ ; λ + g λ x A μ ; λ x \begin{aligned} \nabla^{2} A_{\mu} &=A_{\mu ; \lambda} ; \lambda \\ &=\left(g^{\lambda x} A_{\mu ; \lambda}\right)_{; \kappa} \\ &=g^{\lambda} \kappa_{; \kappa} A_{\mu ; \lambda}+g^{\lambda x} A_{\mu ; \lambda x} \end{aligned} 2Aμ=Aμ;λ;λ=(gλxAμ;λ);κ=gλκ;κAμ;λ+gλxAμ;λx

A tensor Laplacian may be similarly defined.
In cylindrical coordinates, the vector Laplacian is given by

上面的定义式,在国内教材中通常作为一个张量运算的性质给出,但是在国外的许多资料中,则是拉普拉斯算子作用于矢量时的定义

显然,在这样的定义下,对矢量进行拉普拉斯算子运算已经失去了梯度的散度的含义。而之所以这样定义,我的理解是为了方便进一步的数学运算,例如在直角坐标系下将其展开,可以按照简单向量运算进行下去

∇ 2 T = ∇ 2 ( T x , T y , T z ) = ( ∇ 2 T x ) x ^ + ( ∇ 2 T y ) y ^ + ( ∇ 2 T z ) z ^ \nabla^2 \boldsymbol T = \nabla^2(T_x,T_y,T_z) = (\nabla^2 T_x)\hat x + (\nabla^2 T_y)\hat y + (\nabla^2 T_z)\hat z 2T=2(Tx,Ty,Tz)=(2Tx)x^+(2Ty)y^+(2Tz)z^

上式可以解释为: 直角系下,矢量的拉普拉斯运算相当于对矢量的各个分量分别做拉普拉斯运算,再组成一个矢量

2. 拉普拉斯算子在Hessian矩阵中的含义

2.1 Hessian矩阵的定义

Hessian矩阵通常定义如下:
∇ 2 f = H = [ ∂ 2 f ∂ x 1 2 ∂ 2 f ∂ x 1 ∂ x 2 ⋯ ∂ 2 f ∂ x 1 ∂ x n ∂ 2 f ∂ x 2 ∂ x 1 ∂ 2 f ∂ x 2 2 ⋯ ∂ 2 f ∂ x 2 ∂ x n ∂ 2 f ∂ x n ∂ x 1 ∂ 2 f ∂ x n ∂ x 2 ⋯ ∂ 2 f ∂ x n 2 ] \nabla^2f = \mathbf{H}=\left[\begin{array}{cccc} \frac{\partial^{2} f}{\partial x_{1}^{2}} & \frac{\partial^{2} f}{\partial x_{1} \partial x_{2}} & \cdots & \frac{\partial^{2} f}{\partial x_{1} \partial x_{n}} \\ \frac{\partial^{2} f}{\partial x_{2} \partial x_{1}} & \frac{\partial^{2} f}{\partial x_{2}^{2}} & \cdots & \frac{\partial^{2} f}{\partial x_{2} \partial x_{n}} \\ \frac{\partial^{2} f}{\partial x_{n} \partial x_{1}} & \frac{\partial^{2} f}{\partial x_{n} \partial x_{2}} & \cdots & \frac{\partial^{2} f}{\partial x_{n}^{2}} \end{array}\right] 2f=H=x122fx2x12fxnx12fx1x22fx222fxnx22fx1xn2fx2xn2fxn22f

2.2 疑问

我们知道,如果 ∇ 2 \nabla^2 2作用于标量时,如 ∇ 2 ϕ \nabla^2 \phi 2ϕ,所得结果也为一标量

∇ 2 \nabla^2 2作用于矢量时,如 ∇ 2 E \nabla^2 \boldsymbol E 2E,所得结果为一向量

那么在Hessian矩阵的定义中,究竟是何种逆天的力量,能够使得拉普拉斯算子作用于在f上时,却得到了一个矩阵?

2.3 符号的混淆

在维基百科中,终于找到了如下解释

Hessian matrix

While ∇ 2 \nabla^{2} 2 usually represents the Laplacian, sometimes ∇ 2 \nabla^{2} 2 also represents the Hessian matrix. The former refers to the inner product of ∇ \nabla , while the latter refers to the dyadic product of ∇ \nabla :
∇ 2 = ∇ ⋅ ∇ T \nabla^{2}=\nabla \cdot \nabla^{T} 2=T
So whether ∇ 2 \nabla^{2} 2 refers to a Laplacian or a Hessian matrix depends on the context.

原来,在Hessian矩阵的定义中, ∇ 2 \nabla^2 2符号的含义与拉普拉斯算子有所区别。我们将\nabla算符看作一个偏微分组成的列向量

∇ = [ ∂ ∂ x 1 ∂ ∂ x 2 ⋯ ∂ ∂ x 3 ] \nabla=\left[\begin{array}{l} \frac{\partial }{\partial x_{1}} \\ \frac{\partial }{\partial x_{2}} \\ \cdots \\ \frac{\partial }{\partial x_{3}} \\ \end{array}\right] =x1x2x3

经过简单的矩阵运算 ∇ 2 = ∇ ⋅ ∇ T \nabla^{2}=\nabla \cdot \nabla^{T} 2=T,即可得到Hessian的定义式

* 参考资料

  • Vector Laplacian

  • Del Wiki

你可能感兴趣的:(数学建模与matlab,线性代数,机器学习)