泛函和变分:从最速降线谈起
处理最速降线等类似的问题,大家都喜欢直接对推导出来的极小化问题,直接代入欧拉-拉格朗日方程求解,我觉得这不易于对“变分”的理解,对于大家理论分析功底的增近,并无裨益。通过思考,我觉得直接从 Frechet 导数出发,进行变分推导得到更具化的欧拉-拉格朗日方程,是更为广泛的一种变分方法。本质上是一样的,只不过这个过程更容易推广。
简介
所谓的泛函,就是“函数的函数”,自变量本身就是函数的一个函数。找一个函数,使得某一个泛函最小,就是一个“能量”极小化的问题。可以用到变分方法。
变分法在理论物理中非常重要:在拉格朗日力学中,以及在最小作用量原理在量子力学的应用中。
变分法提供了有限元方法的数学基础,它是求解边界值问题的强力工具。它们也在材料学中研究材料平衡中大量使用。
在纯数学中的例子有,黎曼在调和函数中使用狄力克雷原理。
最优控制的理论是变分法的一个推广。
变分法是 17 世纪末发展起来的一门数学分支,是处理函数的数学领域,和处理数的函数的普通微积分相对。它最终寻求的是极值函数:它们使得泛函取得极大或极小值。
变分
微分是当自变量x x x 变化了一点点d x \text{d}x d x 而导致了函数f ( x ) f(x) f ( x ) 变化了多少。
变分是无限维空间上的微分,我们一般称之为Frechet 微分,其实就是微分在无限维空间的推广。Frechet 微分作用于泛函就叫变分。我们用 δ \delta δ 符号来替代微分中的 d。
Frechet 导数
Frechet 导数实变量函数在 Banach 空间中的推广,这个东西在做偏微分方程的时候,比如求能量极小,求欧拉-拉格朗日方程等方面,非常重要,任何做方程的,都应该熟练掌握。
Frechet 导数,就是一般导数的一个推广,可以简单地写为,对于需要极小化的函数 J ( ϕ ) J(\phi) J ( ϕ ) ,∀ ψ \forall \psi ∀ ψ :< δ J δ ϕ , ψ > = lim ϵ − > 0 J ( ϕ + ϵ ψ ) − J ( ϕ ) ϵ <\frac{\delta J}{\delta \phi},\psi> = \lim_{\epsilon->0}\frac{J(\phi+\epsilon\psi)-J(\phi)}{\epsilon} < δ ϕ δ J , ψ > = ϵ − > 0 lim ϵ J ( ϕ + ϵ ψ ) − J ( ϕ )
Frechet 导数和一般的函数导数非常像,主要是这个对辅助函数 ψ \psi ψ 的任意很关键,是把积分号去掉,提取出恒等式的原因。
最速降线问题
最速降线问题,又称最短时间问题、最速落径问题,是探讨在重力作用而忽略摩擦力的情况下,一个质点在一点A以速率为零开始,沿某条曲线,去到一点不高于A的B,该以何种曲线行进才能令所需的时间最短。由经验可知,这条线越陡,速度就会越快,但是相应的路径就会变长,路径和速度之间必然存在一个平衡。
如图所示建立坐标系,水平方向的运动距离为x x x ,竖直方向的运动距离为y y y ,速度的大小用v v v 来表示。
由高中的重力势能和动能的转化关系,m g y = 1 / 2 m v 2 mgy=1/2mv^2 m g y = 1 / 2 m v 2 。可以得到,v = 2 g y v = \sqrt{2gy} v = 2 g y
在微分几何中,一条参数化曲线{ x ( t ) , y ( t ) } \{x(t),y(t)\} { x ( t ) , y ( t ) } ,它的弧长是可以表示为:∫ t 0 t 1 x ′ ( t ) 2 + y ′ ( t ) 2 d t
\int_{t_0}^{t_1}\sqrt{x'(t)^2+y'(t)^2}\text{d}t
∫ t 0 t 1 x ′ ( t ) 2 + y ′ ( t ) 2 d t
这个公式不需要记,怎么理解呢,它表示曲线沿x x x 方向的变化率,和沿y y y 方向的变化率,利用“勾股定理进行组合,得到的就是沿切线方向的变化率,沿切线方向的变化率,再做个积分,肯定就是长度了。
那么,对于曲线 y ( x ) y(x) y ( x ) ,把 x x x 看成 t t t ,仍用 x x x 表示,那么它的弧长就是∫ a b 1 + y ′ ( x ) 2 d x
\int_{a}^{b}\sqrt{1+y'(x)^2}\text{d}x
∫ a b 1 + y ′ ( x ) 2 d x
接下来,有的地方就会利用“微元”的思想,把弧长和速度相除作为时间进行积分,对于不理解“微元法”的人来说,就会显得很牵强。那么应该怎么解释呢?
把弧长的表达式换成弧长参数,有∫ a b 1 + y ′ ( x ) 2 d x = ∫ s 0 s 1 1 d s
\int_{a}^{b}\sqrt{1+y'(x)^2}\text{d}x=
\int_{s_0}^{s_1}1\text{d}s
∫ a b 1 + y ′ ( x ) 2 d x = ∫ s 0 s 1 1 d s
也就是说,d s = 1 + y ′ ( x ) 2 d x
\text{d}s = \sqrt{1+y'(x)^2}\text{d}x
d s = 1 + y ′ ( x ) 2 d x
这个是很容易理解的。那么,
v = d s d t = 1 + y ′ ( x ) 2 d x d t v=\frac{\text d s}{\text d t} = \sqrt{1+y'(x)^2}\frac{\text{d}x}{\text d t} v = d t d s = 1 + y ′ ( x ) 2 d t d x
则有,d t = 1 + y ′ ( x ) 2 v d x \text dt = \frac{\sqrt{1+y'(x)^2}}{v} \text dx d t = v 1 + y ′ ( x ) 2 d x
两边同时积分,可以得到从 a 到 b 的总时间,
J = ∫ a b 1 + y ′ ( x ) 2 2 g y d x : = ∫ a b F d x J = \int_{a}^{b} \frac{\sqrt{1+y'(x)^2}}{\sqrt{2gy}} \text dx:= \int_{a}^{b} F \text dx J = ∫ a b 2 g y 1 + y ′ ( x ) 2 d x : = ∫ a b F d x
变分求解最速降线
下面要做的就是选定 y y y ,使得 J J J 达到最小,这是经典的变分问题,我们使用变分方法。
< δ J δ y , z > = lim ϵ − > 0 J ( y + ϵ z ) − J ( y ) ϵ = lim ϵ − > 0 ∫ a b ∂ F ∂ y ϵ z + ∂ F ∂ y ′ ϵ z ′ + o ( ϵ ) ϵ = ∫ a b ∂ F ∂ y z + ∂ F ∂ y ′ z ′ = ∂ F ∂ y ′ z ∣ a b + ∫ a b ( ∂ F ∂ y + d d x ∂ F ∂ y ′ ) z = ∫ a b ( ∂ F ∂ y + d d x ∂ F ∂ y ′ ) z = 0 <\frac{\delta J}{\delta y},z> = \lim_{\epsilon->0}\frac{J(y+\epsilon z)-J(y)}{\epsilon}\\
=\lim_{\epsilon->0}\int_{a}^b \frac{\frac{\partial F}{\partial y}\epsilon z+\frac{\partial F}{\partial y'}\epsilon z'+o(\epsilon)}{\epsilon}\\
= \int_{a}^b \frac{\partial F}{\partial y}z+\frac{\partial F}{\partial y'}z'\\
={\frac{\partial F}{\partial y'}z}|_a^{b}+\int_{a}^b (\frac{\partial F}{\partial y}+\frac{\text d}{\text dx}\frac{\partial F}{\partial y'})z\\
= \int_{a}^b (\frac{\partial F}{\partial y}+\frac{\text d}{\text dx}\frac{\partial F}{\partial y'})z = 0 < δ y δ J , z > = ϵ − > 0 lim ϵ J ( y + ϵ z ) − J ( y ) = ϵ − > 0 lim ∫ a b ϵ ∂ y ∂ F ϵ z + ∂ y ′ ∂ F ϵ z ′ + o ( ϵ ) = ∫ a b ∂ y ∂ F z + ∂ y ′ ∂ F z ′ = ∂ y ′ ∂ F z ∣ a b + ∫ a b ( ∂ y ∂ F + d x d ∂ y ′ ∂ F ) z = ∫ a b ( ∂ y ∂ F + d x d ∂ y ′ ∂ F ) z = 0
第二个等号用了泰勒展开,因为积分不好相消,这种情况下,我们一般更倾向于用泰勒展开。这里的y y y 和y ′ y' y ′ 都应该看成一个变量,类比一般的多元函数泰勒展开。
第四个等号用了分部积分,对第二项进行了处理,一般含辅助函数 z z z 的都可以进行分部积分处理掉。
第五个等式是因为,y + ϵ z y+\epsilon z y + ϵ z 作为 y 的一个扰动,必须满足边界条件,即( y + ϵ z ) ( a ) = y ( a ) ( y + ϵ z ) ( b ) = y ( b ) (y+\epsilon z)(a) = y (a)\\
(y+\epsilon z)(b) = y (b)
( y + ϵ z ) ( a ) = y ( a ) ( y + ϵ z ) ( b ) = y ( b )
这意味着z ( a ) = z ( b ) = 0 z(a) = z(b) = 0 z ( a ) = z ( b ) = 0 。最后,由于 z z z 的任意性(端点固定不影响),我们有,∂ F ∂ y + d d x ∂ F ∂ y ′ = 0 \frac{\partial F}{\partial y}+\frac{\text d}{\text dx}\frac{\partial F}{\partial y'} = 0 ∂ y ∂ F + d x d ∂ y ′ ∂ F = 0
这便是我们得到的欧拉-拉格朗日方程。由于 F F F 中不显含自变量,则,d d x [ F − y ′ ∂ F ∂ y ′ ] = y ′ ∂ F ∂ y + y ′ ′ ∂ F ∂ y ′ − y ′ ′ ∂ F ∂ y ′ − y ′ d d x ( ∂ F ∂ y ′ ) = 0 \frac{d}{d x}\left[F-y^{\prime} \frac{\partial F}{\partial y^{\prime}}\right]=y^{\prime} \frac{\partial F}{\partial y}+y^{\prime \prime} \frac{\partial F}{\partial y^{\prime}}-y^{\prime \prime} \frac{\partial F}{\partial y^{\prime}}-y^{\prime} \frac{d}{d x}\left(\frac{\partial F}{\partial y^{\prime}}\right)=0 d x d [ F − y ′ ∂ y ′ ∂ F ] = y ′ ∂ y ∂ F + y ′ ′ ∂ y ′ ∂ F − y ′ ′ ∂ y ′ ∂ F − y ′ d x d ( ∂ y ′ ∂ F ) = 0
故而F − y ′ ∂ F ∂ y ′ = C F-y^{\prime} \frac{\partial F}{\partial y^{\prime}}=C F − y ′ ∂ y ′ ∂ F = C
将F F F 的表达式代入,并且化简,可以得到一个不显含 x x x 的一个 ODE,y [ 1 + ( y ′ ) 2 ] = C y\left[1+\left(y^{\prime}\right)^{2}\right]=C y [ 1 + ( y ′ ) 2 ] = C
这里的 C 是可以由边界条件得到。翻一翻常微分的课本,我们可以求解这个 ODE,得到:{ x = a + r ( θ − sin θ ) y = r ( 1 − cos θ ) \left\{\begin{array}{l}
x=a+r(\theta-\sin \theta) \\
y=r(1-\cos \theta)
\end{array}\right. { x = a + r ( θ − sin θ ) y = r ( 1 − cos θ )
这里的 r > 0 r>0 r > 0 ,表示摆线圆半径。这里的 r r r 等于多少呢?假设 a、b两点的坐标分别为——a : ( a , 0 ) , b : ( b , y b ) a: (a,0),b:(b,y_b) a : ( a , 0 ) , b : ( b , y b ) 。那么,可以求得:θ 0 = 0 \theta_0 = 0 θ 0 = 0 ,θ 1 \theta_1 θ 1 和 r r r 可以根据求解方程组{ b = a + r ( θ 1 − sin θ 1 ) y b = r ( 1 − cos θ 1 ) \left\{\begin{array}{l}
b=a+r(\theta_1-\sin \theta_1) \\
y_b=r(1-\cos \theta_1)
\end{array}\right. { b = a + r ( θ 1 − sin θ 1 ) y b = r ( 1 − cos θ 1 )
得到。涉及到非线性方程的求根,解析的表达式并不好写。
最速降线的物理意义
最速降线到底是什么呢?它是个是摆线,即圆周上固定一点在圆滚动时的轨迹。当然,这里的摆线是上下颠倒的。如图所示。