4571 个字词
23 分钟
变分法基础
首次发布: 2026-02-23
... 次访问

变分学是研究泛函极值(以及更一般的临界值)的一个数学分支,在机器学习、物理学等领域有广泛的应用。

1. 泛函#

1.1 泛函的定义#

在数学中,泛函(Functional)是指定义域为某个函数空间,而值域为数域(如实数域或复数域)的映射。更具体地说,设 MM 是一个函数空间(例如 Ck(S,R)C^k(S, \mathbb{R}),表示定义在集合 SS 上的 kk 阶连续可微实值函数的全体),定义泛函是一个从 MMR\mathbb{R}C\mathbb{C} 的映射

I:MRorI:MCI: M \to \mathbb{R} \quad \text{or} \quad I: M \to \mathbb{C}

即对每个 uMu \in MI[u]I[u] 是一个实数或复数。泛函的自变量是“函数”,而不是通常意义上的数。

例如,设 ΩRn\Omega \subset \mathbb{R}^n 是一个有界开集,x0Ωx_0 \in \Omega 是一个固定点,FC(Ωˉ),M=C1(Ωˉ)F \in C(\bar\Omega), M = C^1(\bar\Omega),其中 Ωˉ\bar\OmegaΩ\Omega 的闭包,则

I1[u]=maxxΩˉu(x)I_1[u] = \max_{x \in \bar\Omega} |u(x)|I2[u]=u(x0)I_2[u] = u(x_0)I3[u]=Ω[u(x)2F(u(x))]dxI_3[u] = \int_\Omega \left[|\nabla u(x)|^2 - F(u(x))\right] dx

都是泛函。这里需要注意的是,泛函不是复合函数。例如,设 ff 是一个定义在实数域 R\mathbb{R} 上的一元函数,

I4[u]=f(u(x))I_4[u] = f(u(x))

不是泛函,因为结果不是一个数,而是一个关于 xx 的函数,泛函的值是不应该依赖于 xx 的!

注意

  • Fourier 变换不是泛函,虽然形式上看,F[u(t)]\mathcal{F}[u(t)] 确实也有一个方括号,但是它输出的是一个函数,所以不是泛函。从本质上讲,Fourier 变换是一个算子(Operator),它是定义在函数空间上的映射,输入一个函数,输出一个函数。

1.2 变分学中泛函的形式#

在变分学中,泛函的取值一般是实数。给定一个三变量函数 L(t,u,p)C1(Ωˉ×Rn×Rn,R)L(t, u, p) \in C^1(\bar\Omega \times \mathbb{R}^n \times \mathbb{R}^n, \mathbb{R}),变分学主要研究如下形式的泛函:

I[u]=ΩL(x,u(x),u(x))dx,I[u] = \int_\Omega L(x, u(x), \nabla u(x))dx,

其中 MM 是连续可微函数类 C1(Ωˉ,R)C^1(\bar\Omega, \mathbb{R}) 的子集合,或者某种广义可微函数类的子集合。

1.3 一些例子#

最速降线

在垂直平面上给定两点 A=(x1,y1)A = (x_1, y_1)B=(x2,y2)B = (x_2, y_2),其中 x1<x2,y1>y2x_1 < x_2, y_1 > y_2. 一个值点沿着一条连接这两点的光滑曲线仅凭借重力下滑。设初速度为零,问沿怎样的一条曲线滑行时间最短?

uC1[x1,x2],{(x,u(x))x[x1,x2],u(xi)=yi,i=1,2}u \in C^1[x_1, x_2], \{(x, u(x)) | x \in [x_1, x_2], u(x_i) = y_i, i = 1, 2\} 是连接 A,BA, B 的一条曲线。因为有

{12mv2=mgh,v=dsdt\begin{cases} \frac{1}{2}mv^2 = mgh, \\ v = \frac{ds}{dt} \end{cases}

所以

v=2g(y1u(x)).v = \sqrt{2g(y_1 - u(x))}.

以及

dt=dsv=1+u(x)22g(y1u(x))dt = \frac{ds}{v} = \sqrt{\frac{1 + |u'(x)|^2}{2g(y_1 - u(x))}}

因此滑行时间为

T=x1x21+u(x)22g(y1u(x))dx.T = \int_{x_1}^{x_2} \sqrt{\frac{1 + |u'(x)|^2}{2g(y_1 - u(x))}} dx.

M={uC1[x1,x2]u(xi)=yi,i=1,2}M = \{u \in C^1[x_1, x_2] | u(x_i) = y_i, i = 1, 2\}

则映射

I:MR,I[u]=x1x21+u(x)22g(y1u(x))dxI: M \to \mathbb{R}, I[u] = \int_{x_1}^{x_2} \sqrt{\frac{1 + |u'(x)|^2}{2g(y_1 - u(x))}} dx

是一个泛函。问题转化为在 MM 中求 uu 以使得 II 最小。

极小曲面

在空间 R3\mathbb{R}^3 中给定一条 Jordan 曲线 Γ\Gamma,能否找到一个盘状的曲面 SS 张在 Γ\Gamma 上使其面积达到最小值? 首先定义从单位圆 DDR3\mathbb{R}^3 的参数化映射(曲面函数)

Z:DˉR3,(u,v)r(u,v)=(x(u,v),y(u,v),z(u,v)),Z: \bar D \to \mathbb{R}^3, (u, v) \mapsto \vec{r}(u, v) = (x(u, v), y(u, v), z(u, v)),

其中 DR2D \subset \mathbb{R}^2 是单位圆 u2+v21,Dˉu^2 + v^2 \le 1, \bar DDD 的闭包。需要注意的是,这里区分了 SSZZ 是因为 SS 是一个几何对象,而 ZZ 是一个函数对象,ZZ 的值域是 SS,但 ZZ 不是 SS。因此我们可以把 SS 看成是 ZZ 的值域,或者说 ZZSS 的一个参数化,这个关系描述为

S=Z(Dˉ)R3,S = Z(\bar D) \subset \mathbb{R}^3,

也就是 SSZZ 的值域。

{x=x(u,v),y=y(u,v),z=z(u,v).\begin{cases} x = x(u, v), \\ y = y(u, v), \\ z = z(u, v). \end{cases}

曲线的面积为

A(Z)=DZu×Zvdudv=D(xuyvxvyu)2+(xuzvxvzu)2+(yuzvyvzu)2dudv.A(Z) = \int_D |Z_u \times Z_v| dudv = \int_D \sqrt{(x_uy_v - x_vy_u)^2 + (x_uz_v - x_vz_u)^2 + (y_uz_v - y_vz_u)^2} dudv.

面积 A(Z)A(Z) 就是关于曲面函数 ZZ 的一个泛函。

这个泛函需要满足边界条件 ZDZ|_{\partial D}Γ\Gamma 同胚。转换为标准的泛函模型,

M={ZC1(Dˉ,R3)ZDΓ}M = \{Z \in C^1(\bar D, \mathbb{R}^3) |\,\, Z|_{\partial D} \simeq \Gamma\}

然后求在这个函数集合上的 A(Z)A(Z) 的极小值。

这里的有几个符号需要澄清

  • Γ=S\Gamma = \partial S 表示曲面 SS 的边界是 Γ\Gamma
  • ZDΓZ|_{\partial D} \simeq \Gamma 表示 ZZ 在边界 D\partial D 上的取值集合与 Γ\Gamma 同胚。、
  • ZDΓZ|_{\partial D} \simeq \Gamma 这个同胚关系是由同胚映射 ZZ 推导出来的,因为 Dˉ\bar DSS 是同胚的,所以 D\partial DΓ\Gamma 也是同胚的。
  • 同胚就是指两个集合之间存在一个双射,并且这个双射和它的逆都是连续的。

图像分割

在一张图片中查明人像的边缘。设此图形占有平面区域 ΩR2\Omega \subset \mathbb{R}^2,用函数 g:ΩRg: \Omega \to \mathbb{R} 表示这张图片(信号强度)。我们需要寻求另一个函数 u:ΩRu: \Omega \to \mathbb{R},使之在人像的边缘处与原图像尽量吻合,且在其余出尽量不要有多余的响应。为了描写像的边缘,引入具有有限一维 Hausdorff 测度的闭子集合 KΩˉ,H1(K)<K \subset \bar\Omega, H^1(K) < \infty,其中 H1(K)H^1(K)KK 的一维 Hausdorff 测度。定义

I(K,u)=Ω/Ku2dxdySmoothing Term+μΩ/Kug2dxdyData Fitting Term+λH1(K)Edge Length Penalty TermI(K, u) = \underbrace{\int_{\Omega / K} |\nabla u|^2 dx dy}_{\text{Smoothing Term}} + \mu \underbrace{\int_{\Omega / K} |u - g|^2 dxdy}_{\text{Data Fitting Term}} + \underbrace{\lambda H^1(K)}_{\text{Edge Length Penalty Term}}

其中 λ,μ>0\lambda, \mu > 0 是权系数。这里的 II 不仅依赖于函数 uu,而且还依赖于闭子集 KK,这个集合可以看作是一个特征函数

χK(x)={1,xK,0,xΩ/K\chi_K(x) = \begin{cases}1, \quad x \in K, \\ 0, \quad x \in \Omega/K \end{cases}

因此 II 也是一个泛函,且依赖于 χK\chi_Kuu

  • H1(K)H^1(K)KK 的一维 Hausdorff 测度,这里就是 KK 的曲线长度。
  • 平滑项的作用是减少发生强度的突变。
  • KK 在这里表示人像的边缘区域,考虑到边缘区域未知,因此它也是一个变化量。

2. 泛函的极值与一阶变分#

2.1 直觉动机#

函数的导数(梯度)刻画的是在给定点 x0x_0 处,对自变量 xx 给予微小扰动时对应函数 f(x)f(x) 的函数值变化情况。极值点处的导数(梯度)对应是零,也就是说在极值点处,施加微小扰动,函数值是稳定且几乎不变化的。

参考函数极值的必要条件,我们对函数 u0(t)u_0(t) 施加其邻域空间 (是函数空间) 中的微小扰动 εφ(t)\varepsilon \varphi(t), 然后观察泛函 I[u]I[u] 的变化情况。如果泛函关于扰动量大小 ε\varepsilon 的变化率 limε0I[u0+εφ]I[u0]ε=0\lim_{\varepsilon \to 0} \frac{I[u_0 + \varepsilon\varphi] - I[u_0]}{\varepsilon} = 0,则说明 I[u]I[u]u0u_0 附近是稳定的,u0u_0 有可能就是泛函 I[u]I[u] 的一个“极值点”。

2.2 泛函极值的定义(一元函数的例子)#

给定两个集合 JRJ \subset \mathbb{R}ΩR\Omega \subset \mathbb{R},和一个连续可微函数 L(t,u,p)C1(J×Ω×R,R)L(t, u, p) \in C^1(J \times \Omega \times \mathbb{R}, \mathbb{R})。设泛函为

I[u]=JL(t,u(t),u˙(t))dt,I[u] = \int_J L(t, u(t), \dot u(t))dt,

其中 uMu \in MM=C1(J,Ω)M = C^1(J, \Omega) 是泛函 I[u]I[u] 的定义域。

给定一个函数 u0Mu_0 \in M。若存在 u0u_0 的一个邻域 UMU \subset M,使得

I[u]I[u0],uU,I[u] \ge I[u_0], \quad \forall u \in U,

则称 u0u_0I[u]I[u] 的一个极小值点。类似地,当满足条件

I[u]I[u0],uU,I[u] \le I[u_0], \quad \forall u \in U,

则称 u0u_0I[u]I[u] 的一个极大值点。

注意

  • 函数空间是必须由函数的定义域 JJ函数的值域 Ω\Omega 共同确定的,这意味着函数 u0u_0 邻域 UU 中的全体函数必须具有与 u0u_0 相同的定义域和相同的值域。
  • 符号规范上,JJ 表征的是时间的集合,Ω\Omega 表征的是状态的集合。

2.3 一阶变分的定义#

继续挖掘泛函 I[u]I[u] 对扰动大小 ε\varepsilon 的变化率。由于 LC1(J×Ω×R,R)L \in C^1(J \times \Omega \times \mathbb{R}, \mathbb{R})φC1(J,R)\varphi \in C^1(J, \mathbb{R}),因此可以交换求导与积分:

limε0I[u0+εφ]I[u0]ε= I[u0+εφ]εε=0= εJL(t,u0+εφ,u˙0+εφ˙)dtε=0= J[Lu(t,u0(t),u˙0(t))φ(t)+Lp(t,u0(t),u˙0(t))φ˙(t)]dt\begin{aligned} &\lim_{\varepsilon \to 0} \frac{I[u_0 + \varepsilon\varphi] - I[u_0]}{\varepsilon} \\ =\ &\frac{\partial I[u_0 + \varepsilon\varphi]}{\partial \varepsilon}\Big|_{\varepsilon = 0} \\ =\ & \frac{\partial}{\partial \varepsilon} \int_J L(t, u_0 + \varepsilon\varphi, \dot u_0 + \varepsilon\dot\varphi) dt\Big|_{\varepsilon = 0} \\ =\ &\int_J \left[L_{u}(t, u_0(t), \dot u_0(t))\varphi(t) + L_{p}(t, u_0(t), \dot u_0(t))\dot\varphi(t)\right] dt \end{aligned}

计算中,发现这个变化率本身的数值与 ε\varepsilon 的取值是无关的,它是一个关于 ε\varepsilon 的线性项的系数。既然与 ε\varepsilon 的数值无关,考虑到扰动项本身由 ε\varepsilonφ\varphi 两部分构成,因此变化率 limε0I[u0+εφ]I[u0]ε\lim_{\varepsilon \to 0} \frac{I[u_0 + \varepsilon\varphi] - I[u_0]}{\varepsilon} 就可以认为是由 φ\varphi 部分引起的、消除了 ε0\varepsilon \to 0 尺度影响的,归一化了的量。

我们定义这个量为一阶变分,记作 δI[u0,φ]\delta I[u_0, \varphi],意即由扰动函数 φ\varphi 引起的、在 u0u_0 处的泛函 II 的一阶变化量:

δI[u0,φ]=limε0I[u0+εφ]I[u0]ε=I[u0+εφ]εε=0\boxed{ \delta I[u_0, \varphi] = \lim_{\varepsilon \to 0} \frac{I[u_0 + \varepsilon\varphi] - I[u_0]}{\varepsilon} = \frac{\partial I[u_0 + \varepsilon\varphi]}{\partial \varepsilon}\Big|_{\varepsilon = 0} }

具体的计算公式为

δI[u0,φ]=J[Lu(t,u0(t),u˙0(t))φ(t)+Lp(t,u0(t),u˙0(t))φ˙(t)]dt\boxed{ \delta I[u_0, \varphi] = \int_J \left[L_{u}(t, u_0(t), \dot u_0(t))\varphi(t) + L_{p}(t, u_0(t), \dot u_0(t))\dot\varphi(t)\right] dt }

注意

  • φ\varphi 的值域不一定是 Ω\Omega,作为扰动函数,其取值可以是 R/ΩR / \Omega 中的任意数值。

2.4 泛函极值的必要条件#

直觉告诉我们,极值点处的一阶变分应该为零。下面我们通过从极值点的定义出发,推导出这个结论。

这里我们首先取 U={uMuu0<δ}U = \{u \in M \big| \Vert u - u_0\Vert < \delta\} (范数的定义可以自行选取)。目标是对任意的 φC1(J,R)\varphi \in C^1(J, \mathbb{R}),都能存在 ε(φ)>0\varepsilon(\varphi) > 0,使得当 0<ε<ε(φ)0 < |\varepsilon| < \varepsilon(\varphi) 时,有

(u0+εφ)u0=εφ<δ\Vert (u_0 + \varepsilon\varphi) - u_0\Vert = |\varepsilon| \cdot \Vert\varphi\Vert < \delta

从而满足 u0+εφUu_0 + \varepsilon\varphi \in U 的条件。事实上,取 ε(φ)=δφ+1\varepsilon(\varphi) = \frac{\delta}{\Vert\varphi\Vert + 1} (注意 φ0\varphi \ne 0φ>0\Vert\varphi\Vert > 0) 就可以实现这个目标。

u=u0+εφu = u_0 + \varepsilon\varphi 代入到 I[u]I[u0]I[u] \ge I[u_0] 中,从而得到极小值点的充要条件:

I[u0+εφ]I[u0],φC1(J,R),ε(φ)>0,0<ε<ε(φ).I[u_0 + \varepsilon \varphi] \ge I[u_0], \quad \forall \varphi \in C^1(J, \mathbb{R}), \exists \varepsilon(\varphi) > 0, 0 < |\varepsilon| < \varepsilon(\varphi).

这个式子告诉我们不管是什么样的函数扰动,都可以通过构造恰到好处的 ε\varepsilon 实现 I[u0+εφ]I[u0]0I[u_0 + \varepsilon\varphi] - I[u_0] \ge 0。当 ε>0\varepsilon > 0 时,

δI[u0,φ]=limε0I[u0+εφ]I[u0]ε0,φC1(J,R),\delta I[u_0, \varphi] = \lim_{\varepsilon \to 0} \frac{I[u_0 + \varepsilon\varphi] - I[u_0]}{\varepsilon} \ge 0, \quad \forall \varphi \in C^1(J, \mathbb{R}),

但是当 ε<0\varepsilon < 0 时,

δI[u0,φ]=limε0I[u0+εφ]I[u0]ε0,φC1(J,R).\delta I[u_0, \varphi] = \lim_{\varepsilon \to 0} \frac{I[u_0 + \varepsilon\varphi] - I[u_0]}{\varepsilon} \le 0, \quad \forall \varphi \in C^1(J, \mathbb{R}).

由此得出结论,当 u0u_0I[u]I[u] 的一个极小值点时,泛函的一阶变分 δI[u0,φ]\delta I[u_0, \varphi] 必须为零;类似地,当 u0u_0I[u]I[u] 的一个极大值点时,这个结果同样成立。于是我们得出了泛函极值点的必要条件:

δI[u0,φ]=0,φC1(J,R)\boxed{ \delta I[u_0, \varphi] = 0, \quad \forall \varphi \in C^1(J, \mathbb{R}) }

2.5 Euler-Lagrange 方程#

令一阶变分 δI[u0,φ]=0\delta I[u_0, \varphi] = 0 可以缩小极值点的搜索范围,但是该方程的求解涉及到复杂的积分方程。为了在贴近实际应用场景的同时简化求解过程,对给定的函数空间 MM 做一些边界取值的约束。

设泛函的定义域为

M={uC1(J,Ω)u(t0)=a,u(t1)=b}M = \{u \in C^1(J, \Omega) \big| u(t_0) = a, u(t_1) = b\}

其中 J=[t0,t1]J = [t_0, t_1] 是一个时间区间,ΩR\Omega \subset \mathbb{R} 是一个状态空间,a,bΩa, b \in \Omega 是两个常数值。此外,为了保证经过扰动后的函数仍然属于 MM,通常限定 φC01(J,R)\varphi \in C_0^1(J, \mathbb{R}),也即 φ(t0)=φ(t1)=0\varphi(t_0) = \varphi(t_1) = 0

利用分部积分法,可以简化一阶变分

δI(u0,φ)=J[Lu(t,u0(t),u˙0(t))φ(t)+Lp(t,u0(t),u˙0(t))φ˙(t)]dt=JLu(t,u0(t),u˙0(t))φ(t)dt+Lp(t,u0(t),u˙0(t))φ(t)t0t1JddtLp(t,u0(t),u˙0(t))φ(t)dt,\begin{aligned} \delta I(u_0, \varphi) &= \int_J \left[L_{u}(t, u_0(t), \dot u_0(t))\varphi(t) + L_{p}(t, u_0(t), \dot u_0(t))\dot\varphi(t)\right] dt \\ &= \int_J L_{u}(t, u_0(t), \dot u_0(t))\varphi(t)dt + L_p(t, u_0(t), \dot u_0(t))\varphi(t)\Big|_{t_0}^{t_1} - \int_J \frac{d}{dt}L_{p}(t, u_0(t), \dot u_0(t))\cdot\varphi(t) dt, \\ \end{aligned}

由于 φ(t0)=0,φ(t1)=0\varphi(t_0) = 0, \varphi(t_1) = 0,因此

δI(u0,φ)=J[Lu(t,u0(t),u˙0(t))ddtLp(t,u0(t),u˙0(t))]φ(t)dt.\delta I(u_0, \varphi) = \int_J \left[L_{u}(t, u_0(t), \dot u_0(t)) - \frac{d}{dt}L_{p}(t, u_0(t), \dot u_0(t))\right]\varphi(t) dt.

由于 φ\varphi 是任意选取的,得到

Lu(t,u0(t),u˙0(t))ddtLp(t,u0(t),u˙0(t))=0,tJ.\boxed{ L_{u}(t, u_0(t), \dot u_0(t)) - \frac{d}{dt}L_{p}(t, u_0(t), \dot u_0(t)) = 0, \quad \forall t \in J. }

这个微分方程就是 Euler-Lagrange 方程,它是寻找泛函极值的必要条件。也可以写成下面的形式

Luddt(Lu˙)=0\boxed{ \frac{\partial L}{\partial u} - \frac{d}{dt}\left(\frac{\partial L}{\partial \dot u}\right) = 0 }

注意

  • Euler-Lagrange 可以推广到 Lagrange 函数 LL 依赖更高阶的函数导数的情况,例如含三阶导数的情况
Luddt(Lu(1))+d2dt2(Lu(2))d3dt3(Lu(3))=0\frac{\partial L}{\partial u} - \frac{d}{dt}\left(\frac{\partial L}{\partial u^{(1)}}\right) + \frac{d^2}{dt^2}\left(\frac{\partial L}{\partial u^{(2)}}\right) - \frac{d^3}{dt^3}\left(\frac{\partial L}{\partial u^{(3)}}\right) = 0
  • Euler-Lagrange 方程在分析力学中有重要应用,通过构造物理系统的 Lagrange 函数 L=KPL = K - P,其中 KK 是系统的动能,PP 是系统的势能,可以通过求解 Euler-Lagrange 方程来得到系统的运动方程。

2.6 向量值函数的情况#

现对函数 uu 是向量值函数的情况做推广。设 u:JΩu: J \to \Omega 是一个 nn 维向量值一元函数,其中 J=[t0,t1]J = [t_0, t_1] 是一个时间区间,ΩRn\Omega \subset \mathbb{R}^n 是一个状态空间。设 L(t,u,p)C1(J×Ω×Rn,R)L(t, u, p) \in C^1(J \times \Omega \times \mathbb{R}^{n}, \mathbb{R}),则泛函为

I[u]=JL(t,u(t),u˙(t))dt,I[u] = \int_J L(t, u(t), \dot u(t)) dt,

对应的一阶变分在计算中需要对 uu 的每一个分量进行求偏导,得到

δI[u0,φ]=J[Lu(t,u0(t),u˙0(t))φ(t)+Lp(t,u0(t),u˙0(t))φ˙(t)]dt=Ji=1n[Lui(t,u0(t),u˙0(t))φi(t)+Lpi(t,u0(t),u˙0(t))φ˙i(t)]dt=Ji=1n[Lui(t,u0(t),u˙0(t))ddtLpi(t,u0(t),u˙0(t))]φi(t)dt\begin{aligned} \delta I[u_0, \varphi] &= \int_J \left[L_{u}(t, u_0(t), \dot u_0(t))\cdot\varphi(t) + L_{p}(t, u_0(t), \dot u_0(t))\cdot\dot\varphi(t)\right] dt \\ &= \int_J \sum_{i=1}^n \left[L_{u_i}(t, u_0(t), \dot u_0(t))\varphi_i(t) + L_{p_i}(t, u_0(t), \dot u_0(t))\dot\varphi_i(t)\right] dt \\ &= \int_J \sum_{i=1}^n \left[L_{u_i}(t, u_0(t), \dot u_0(t)) - \frac{d}{dt}L_{p_i}(t, u_0(t), \dot u_0(t))\right]\varphi_i(t) dt \end{aligned}

由于每一个 φi\varphi_i 都是任意选取的,因此得到的是 nn 个 Euler-Lagrange 方程构成的方程组:

Luiddt(Lu˙i)=0,i=1,2,,n.\boxed{ \frac{\partial L}{\partial u_i} - \frac{d}{dt}\left(\frac{\partial L}{\partial \dot u_i}\right) = 0, \quad i = 1, 2, \cdots, n. }

3. 一阶变分导数#

3.1 变分导数的定义#

设有泛函 I[u]:MRI[u]: M \to \mathbb{R},形式为

I[u]=JL(t,u(t),u˙(t))dt,I[u] = \int_J L(t, u(t), \dot u(t)) dt,

定义该泛函 I[u]I[u]无约束函数 u(t)u(t)一阶变分导数 (也称泛函导数) δI[u]δu\frac{\delta I[u]}{\delta u} 是满足如下变分公式的函数:

δI[u,φ]=JδI[u]δuφ(t)dt\delta I[u, \varphi] = \int_J \frac{\delta I[u]}{\delta u} \cdot \varphi(t) dt

其中 φ(t)\varphi(t) 是变分空间内的函数扰动。

3.2 变分导数的计算#

JJ 为一个区间,且 φ(t)\varphi(t) 在区间 JJ 的端点处取值为零时,可以得到泛函导数的具体计算公式为

δI[u]δu=Luddt(Lu˙)\frac{\delta I[u]}{\delta u} = \frac{\partial L}{\partial u} - \frac{d}{dt}\left(\frac{\partial L}{\partial \dot u}\right)

其中 L(t,u,p)L(t, u, p) 是泛函的 Lagrange 函数,Lu˙=Lp\frac{\partial L}{\partial \dot u} = L_pLu=Lu\frac{\partial L}{\partial u} = L_u

求解泛函导数通常有两种方法

  • 定义法:计算出 δI[u,φ]\delta I[u, \varphi] 并比较泛函导数的定义从而得到
  • Lagrange 函数法:判别出 Lagrange 函数的形式,从而直接套用泛函导数的计算公式 (对 φ(t)\varphi(t) 有限制条件)

注意

  • 泛函导数 δI[u]δu\frac{\delta I[u]}{\delta u} 是一个关于 tt 的函数,其定义域为 JJ
  • 上面泛函导数的定义和计算是针对函数变量 u(t)u(t) 无约束 的情况定义的;

3.3 约束函数的情况#

当函数变量 u(t)u(t) 有约束条件时,不能直接套用上述的定义和计算公式求得泛函导数。此时需要将约束问题通过 Lagrange 乘子法转化为等价的无约束情况,然后才可以使用相关的定义:

I[u]=JF(t,u(t),u˙(t))dtI[u] = \int_J F(t, u(t), \dot u(t)) dt,约束条件为点态等式约束 g(t,u,u˙)=0g(t, u, \dot u) = 0,点态不等式约束 h(t,u,u˙)0h(t, u, \dot u) \leq 0 和积分态约束 V[u]=Jv(t,u(t),u˙(t))dt=0V[u] = \int_J v(t, u(t), \dot u(t)) dt = 0。 引入 Lagrange 乘子 λ1(t),λ2(t),λ3\lambda_1(t), \lambda_2(t), \lambda_3,构造新的 Lagrange 函数

L(t,u,p)=F(t,u,p)+λ1(t)g(t,u,p)+λ2(t)h(t,u,p)+λ3v(t,u,p)\begin{aligned} L(t, u, p) = F(t, u, p) + \lambda_1(t) g(t, u, p) + \lambda_2(t) h(t, u, p) + \lambda_3 v(t, u, p) \end{aligned}

其中点态不等式约束的乘子函数 λ2(t)0\lambda_2(t) \ge 0,且满足互补松弛条件 λ2(t)h(t,u,p)=0\lambda_2(t) h(t, u, p) = 0

然后新的泛函是

I~[u]=JL(t,u(t),u˙(t))dt=J[F(t,u(t),u˙(t))+λ1g(t,u(t),u˙(t))+λ2h(t,u(t),u˙(t))+λ3v(t,u(t),u˙(t))]dt\tilde I[u] = \int_J L(t, u(t), \dot u(t)) dt = \int_J \left[F(t, u(t), \dot u(t)) + \lambda_1 g(t, u(t), \dot u(t)) + \lambda_2 h(t, u(t), \dot u(t)) + \lambda_3 v(t, u(t), \dot u(t))\right] dt

从而可以通过求解 I~[u]\tilde I[u] 的泛函导数来得到满足约束条件的泛函导数。

3.4 例子——微分熵的泛函导数#

p(x)p(x) 是一个概率密度函数,定义微分熵为

h[p]=abp(x)logp(x)dxh[p] = -\int_{a}^{b} p(x) \log p(x) dx

错误的想法

发现 "LL" 函数为 L(x,p,p)=p(x)logp(x)L(x, p, p') = -p(x) \log p(x),带入泛函导数的计算公式,得到

δh[p]δp=Lpddx(Lp)=logp(x)1\begin{aligned} \frac{\delta h[p]}{\delta p} &= \frac{\partial L}{\partial p} - \frac{d}{dx}\left(\frac{\partial L}{\partial p'}\right) \\ &= -\log p(x) - 1 \end{aligned}

我们接下来用一阶变分的公式来验证

δh[p,π]=εh[p+επ]ε=0=abε[(p(x)+επ(x))log(p(x)+επ(x))]ε=0dx=ab[π(x)logp(x)π(x)]dx=ab[logp(x)1]π(x)dx\begin{aligned} \delta h[p, \pi] &= \frac{\partial }{\partial \varepsilon} h[p + \varepsilon \pi]\Big|_{\varepsilon = 0} \\ &= \int_{a}^{b} \frac{\partial }{\partial \varepsilon} \left[-(p(x) + \varepsilon \pi(x)) \log(p(x) + \varepsilon \pi(x))\right] \big|_{\varepsilon = 0} dx \\ &= \int_{a}^{b} \left[-\pi(x) \log p(x) - \pi(x)\right] dx \\ &= \int_{a}^{b} \left[-\log p(x) - 1\right] \pi(x) dx \\ \end{aligned}

对比发现变分导数是符合定义公式的。

但是我们令变分导数 δh[p]δp=0\frac{\delta h[p]}{\delta p} = 0,发现得到的分布是 p(x)=e1p(x) = e^{-1},这显然是不对的,因为 p(x)p(x) 连归一化条件都不满足。

正确的解法

在微分熵的例子中,约束条件是 p(x)p(x) 是一个概率密度函数,需要满足积分态约束 abp(x)dx=1\int_{a}^{b} p(x) dx = 1 和点态不等式约束 p(x)0p(x) \ge 0。引入 Lagrange 乘子 λ1(x),λ2\lambda_1(x), \lambda_2,得到真正的 Lagrange 函数为

L(x,p,p)=p(x)logp(x)+λ1(x)p(x)+λ2p(x)L(x, p, p') = -p(x) \log p(x) + \lambda_1(x) p(x) + \lambda_2 p(x)

求泛函导数为

δh[p]δp=Lpddx(Lp)=logp(x)1+λ1(x)+λ2\begin{aligned} \frac{\delta h[p]}{\delta p} &= \frac{\partial L}{\partial p} - \frac{d}{dx}\left(\frac{\partial L}{\partial p'}\right) \\ &= -\log p(x) - 1 + \lambda_1(x) + \lambda_2 \end{aligned}

由此解出

p(x)=eλ1(x)+λ21p(x) = e^{\lambda_1(x) + \lambda_2 - 1}

由于指数函数的非负性,根据互补松弛条件,得到 λ1(x)=0\lambda_1(x) = 0

再代入归一化条件 abp(x)dx=1\int_{a}^{b} p(x) dx = 1,得到

abeλ21dx=1eλ21(ba)=1λ2=1+log(ba)\int_{a}^{b} e^{\lambda_2 - 1} dx = 1 \Rightarrow e^{\lambda_2 - 1}(b - a) = 1 \Rightarrow \lambda_2 = 1 + \log(b - a)

从而得到微分熵的极大值点为

p(x)=1bap(x) = \frac{1}{b - a}

验证了均匀分布是无矩约束情况下的微分熵的极大值点这个结论。

事实上,当去掉点态不等式约束 p(x)0p(x) \ge 0,仅保留积分态约束 abp(x)dx=1\int_{a}^{b} p(x) dx = 1 时,得到的结果也是 p(x)=1bap(x) = \frac{1}{b - a}

附录#

A. 符号表#

符号含义
C1(S,R)C^1(S, R)定义在函数定义域为 SS, 函数值域为 RR 上的一阶连续可微函数空间
C01([t0,t1],R)C_0^1([t_0, t_1], R)定义在函数定义域为 SS, 函数值域为 RR 上的一阶连续可微函数空间,且在区间端点处函数值为零
I[u]I[u]泛函,定义在函数空间上的映射
u0u_0泛函的极值点
φ\varphi变分函数,表示对 u0u_0 的微小扰动
δI(u0,φ)\delta I(u_0, \varphi)泛函 II 的一阶变分,表示 IIu0u_0 处对 φ\varphi 的变化率
L(t,u,p)L(t, u, p)拉格朗日函数,定义在时间 tt、函数值 uu 和导数 pp 上的函数
δI[u]δu\frac{\delta I[u]}{\delta u}泛函 II 对函数 uu 的一阶变分导数 (泛函导数)

参考文献#

留言板