想法就是:
能够碰到极大极小值点的必要条件是:
梯度场与切空间垂直,也就是梯度场不能够有任何流形切空间上的分量,否则在切空间方向有分量,在流形上沿分量方向走,函数值会增加,沿反方向走,函数值会减少,不可能为局部极小或者极大值点。
一.
一个基本的例子:
假设你生活在三维欧氏空间中,z方向的坐标数值上代表海拔高度。
也就是说高度是三维坐标的函数
如果你会飞,那么anyway,你想飞多高飞多高,所以你的海拔可以任意高也可以任意小,根本就没有最大值。
假定你是一个普通人类,你在一座山上,你的目标是爬到山顶,也就是说你希望自己的海拔足够高:
当你真正到达山腰时,很容易“只缘身在此山中,不识此山真面目”,这时候如何判断是真的在往上爬呢,还是在往下走呢?
在肉眼所能看见的小范围内,你可以通过周边的局部地形来判断,假设它大概是这样:
你就知道应该往高处(大概为红箭头方向)走,而不是绿箭头方向。
当然不一定一直沿这个方向直线式上升,可能还需要走到某个地方,再次做一下这种局部的考察,调整一下方向,保证自己能向高处走。
不过,什么是“高”的一边?这个概念究竟是如何形成的?
我们知道,海拔,我们希望能够找到山面上的海拔最高点(山顶)。
梯度
关于梯度一个很自然的结论就是:
沿梯度方向是f增长最快的方向,反方向是下降最快的方向。
所以直观上沿与梯度方向成锐角的方向移动,那么f的值应该会增加。
而在山面上,我们可以通过天空来确定梯度方向(当然指向高高的天空啦)
与垂直向上方向成锐角的方向的地形,也就是“高”的一边。
(可以见到,红色的角是锐角,所以沿此方向海拔上升,绿色的角是钝角,所以沿此方向海拔下降)
所有我们可以移动的方向,叫做这一点的切空间。
那么,什么时候才能知道我们到达了山顶呢?
P点为山顶,那么在这一点,切空间上任何一个方向与梯度方向(红色箭头)的夹角都不可以是锐角,
否则我们沿那个方向爬,就会上升到更高点。
所以切空间只能够与梯度方向垂直。
利用流形本身的信息,我们可以得到切空间的方程,从而确定与切空间垂直的所有方向(这种方向叫做法向)。
利用函数本身的信息,我们可以得到梯度场的方向
梯度场方向与切空间垂直,所以梯度场可以表成一些的特定的法向 的线性组合,
系数记为
即,这就是Laplace乘子法的思想
二.一般形式
给一组约束条件,
(经常加一些好的条件比如说的jacobi矩阵满秩,这些条件都是为了让M确实是一个流形,见正则值定理)
那么流形(约束条件下的所有点)为
p如果为的局部极大值或者局部极小值,
那么
,故法向量由张成
所以存在一组系数
使得
这就是乘子方程。
所以本质上就是最开始说的:
能够碰到极大极小值点的必要条件是:
梯度场与切空间垂直,也就是梯度场不能够有任何流形切空间上的分量,否则在切空间方向有分量,在流形上沿分量方向走,函数值会增加,沿反方向走,函数值会减少,不可能为局部极小或者极大值点。
利用流形本身的信息,我们可以得到切空间的方程,从而确定法向。
利用函数本身的信息,我们可以得到梯度场的方向
梯度场方向与切空间垂直,所以梯度场可以表成一些的特定的法向(比如说一组基法向)的线性组合
用这两个信息把上面那句话用方程的形式写出来就好了
后记:
1.这种乘子法只考虑了第一变分(梯度),事实上极大极小值还可以用Hessian矩阵进行二阶刻画,所谓第二变分
2.这种找法只能够找局部极值点,如果要寻找鞍点,就是这样的点:
这种方法完全失效,不过一般情况下我们只关心极大极小值点。
对于鞍点的寻找,我们有Moutain Pass Lemma,或者更一般的,我们可以采用min-max原理的推理,能够从极值点出发找到可能鞍点。
3.
我们只考虑假定流形M上比较好的函数,所有上述方法都可以内蕴地在流形上建立起来。
对于一般的关于临界点即的点的理论,可以反馈流形自身的拓扑信息。
比如说著名的Reeb定理是在说:
考虑一个紧无边光滑流形M,如果M上存在一个光滑函数,它只有最大值和最小值两个极值点,并且这两点的Hessian矩阵均可逆,那么M就会拓扑同胚于单位球面
(微分同胚是不一定的,见Minlor的7维怪球)
所有临界点均不退化(即Hessian矩阵非退化)的光滑函数f叫做Morse函数,对于Morse函数f,
我们有
作为一个应用,可以得到
环面上任何一个Morse函数,至少有四个临界点。
1 与原点的最短距离
假如有方程:
图像是这个样子滴:
现在我们想求其上的点与原点的最短距离:
这里介绍一种解题思路。首先,与原点距离为 的点全部在半径为 的圆上:
那么,我们逐渐扩大圆的半径:
显然,第一次与 相交的点就是距离原点最近的点:
此时,圆和曲线相切,也就是在该点切线相同:
至此,我们分析出了:
2 等高线
为了继续解题,需要引入等高线。这些同心圆:
可以看作函数 的等高线:
根据梯度的性质(关于梯度可以查看如何通俗地理解梯度?),梯度向量:
是等高线的法线:
另外一个函数 的等高线为:
之前的曲线 就是其中值为3的等高线:
,因此,梯度向量:
也垂直于等高线 :
梯度向量是等高线的法线,更准确地表述是:
3 拉格朗日乘子法
3.1 求解
根据之前的两个分析:
综合可知,在相切点,圆的梯度向量和曲线的梯度向量平行:
也就是梯度向量平行,用数学符号表示为:
还必须引入 这个条件,否则这么多等高线,不知道指的是哪一根:
因此联立方程:
求一下试试:
这就是拉格朗日乘子法。
3.2 定义
要求函数 在 约束下的极值这种问题可以表示为:
意思是subject to,服从于,约束于的意思。
可以列出方程组进行求解:
用这个定义来翻译下刚才的例子,要求:
令:
求:
联立方程进行求解:
3.3 变形
这个定义还有种变形也比较常见,要求:
定义:
求解下面方程组即可得到答案:
把等式左边的偏导算出来就和上面的定义是一样的了。
3.4 多个约束条件
如果增加一个约束条件呢?比如说:
求:
从图上看约束条件是这样的:
很显然所求的距离是这样的:
那这三者的法线又有什么关系呢? 的法线是 和 的法线的线性组合:
假设:
那么线性组合就表示为:
联立方程:
即可求解。
往更高纬度走的话,多约束条件的情况下,问题变为了 围成的曲线 和 相切,直观上看 必然在 张成的空间中:
这点的严格性这里就不证明了。
文章最新版本在(有可能会有后续更新):如何理解拉格朗日乘子法?
谢邀。
拉格朗日乘数法(Lagrange multiplier)有很直观的几何意义。
举个2维的例子来说明:
假设有自变量x和y,给定约束条件g(x,y)=c,要求f(x,y)在约束g下的极值。
我们可以画出f的等高线图,如下图。此时,约束g=c由于只有一个自由度,因此也是图中的一条曲线(红色曲线所示)。显然地,当约束曲线g=c与某一条等高线f=d1相切时,函数f取得极值。
两曲线相切等价于两曲线在切点处拥有共线的法向量。因此可得函数f(x,y)与g(x,y)在切点处的梯度(gradient)成正比。
于是我们便可以列出方程组求解切点的坐标(x,y),进而得到函数f的极值。