MIT多元微积分二:偏微分 笔记

1. Functions of Two Variables, Tangent Approximation and Optimization

1.1 Functions of Two Variables: Graphs 二元函数:图

有没有试着去画一个二元函数的图,比起一元函数来,画二元函数的图简直就是灾难。

如何直观的表示一个二元函数的图,一个很好的列子就是等高线图:

1.2 Level Curves and Contour Plots 水平线和等高线图

等高线图
等高线图就是把一个二元函数压扁在一个平面上,平面上不同的高线实际上是不同坐标的横截面。同一条等高线上所有的值都是一个常数。
例:画出这个函数的等高线图:


同心圆,等高线的间隔越来越小,说明越来越陡。

1.3 Partial Derivatives 偏微分

根据等高线图,当固定一个变量为定值的时候,可以看出函数随着另一个变量的变化情况。
偏导数(Partial) 的定义就是每次只对一个变量求导数。多元函数只有偏导数。

偏微分的几何意义:
固定一个变量为常数,用对应的平面切割函数。在平面内截线随另一个变量变化。

1.4 Approximation Formula 近似公式

近似方程是用来表示多变量同时变动时的方程。直观的想法就是x的变化加上y的变化。

在多元函数的任一点上,可分别做固定x轴和y轴的切线,两个切线可以构成一个切平面。

两条直线都在切平面里,切平面的平面方程:

还有一种方法是:用参数方程表示两条直线,然后方向向量做叉乘,得到法向量,再用法向量得到平面方程。
函数的图像和切平面非常接近。可以用这个公式来估计x和y的变化对函数值的影响。

1.5 Optimization Problems 优化问题

如何找到多元函数的极大值和极小值。

在局部极小值极大值处,对各个变量的一阶偏导数都为0。

这时候会发现函数的切平面是水平的。

这个条件是必要但不充分的,有其他的偏导数为0的点但不是极值点。
定义:在f上有一点为 临界点(critical point),如果对各个变量的偏导数为0。
既不是最大值也不是最小值的点,称为 鞍点
鞍点
临界点可能是局部极大,局部极小或者鞍点。

1.6 Least Squares 最小二乘

最小二乘
对于所有的测量点,找到一条直线,使得所有点到直线的y坐标的差的平方最小(惯例)。

最小化:

得到2*2线性方程组

摩尔定律的指数方程做最小二乘

1.7 Second Derivative Test 二阶导数检验:边界与无穷

问题是如何判断局部最大值,局部最小值,鞍点。
如何找到全局最大值和最小值。
通常来说,最值可能出现在临界点,边界处或无穷远处。

1.7.1 二次方程

如果有二次方程,可以将方程修改为平方项的形式,然后分析各项系数正负来判断。
有一种情况,某一变量系数为0,称作退化(degenerate)。退化临界点有可能是极大值或极小值。在高次方程中,也有可能是退化鞍点。

在原点处就是退化鞍点。

也可以从判别式的角度得到同样的结论。

  • if $4ac-b^2<0$,说明 $x/y$ 有正有负,存在鞍点。
  • if $4ac-b^2>0$,和x轴没有交点,恒正恒负,由a来判断
    • if $a>0$,存在极小值
    • if $a<0$,存在极大值
  • if $b^2-4ac=0$,不好判断,退化

下图分别为三种情况的函数图像:



1.7.2 导数检测

对于二阶函数

为什么要用二阶导数进行判断?二阶导数判断是如何来的?
这要从泰勒公式说起,首先看函数的一阶展开:

当在零界点的时候,变化为0,一阶展开是不够的,将函数进行二阶展开:

发现二阶项就是标准的二阶方程,我们可以用前面同样的方法进行分析,说明通过二阶导数来分析函数的极大极小值是合理的。

为什么判别式为0的时候不能判定函数形状?

当判别式为0的时候,二阶展开也不够用了,这时就需要判断更高阶的情况。在非退化情况下,函数的形状取决于二次项。在退化情形下,函数图像取决于更高阶导数。

1.8 例子

对于任意函数,如何分析?

  1. 通过一阶导找到临界点
  2. 通过二阶导判断类别
  3. 通过A的正负判断极大极小
  4. 完善,判断边界

第一步:

可得 $(x,y)=(1,1)$,这是临界点,下面要判断临界点类型

第二步:

$AC-B^2>0$,所以临界点(1,1)是极大值或者极小值

第三步:
$A>0$,(1,1)是极小值

第四步:
考虑哪里是最大值,有边界处(0,0)和无穷远处,带入方程为无穷大,这时方程有最大值。

2.Chain Rule, Gradient and Directional Derivatives 链式法则,梯度和方向导数

这一节会讲分析多元方程的更多方法。我们想知道多元函数各个变量的变化情况,在任意方向上如何计算多变量的变化。这一节可以帮助我们去解决这些问题。

通常所说的函数指的是显函数,表达式为y=f(x)。很多时候,并不能直接通过x去表示y,而是F(x,y)=0的形式,这就是隐函数。

在求隐函数的微分的时候,可以使用些小窍门:

对于多元或者复杂的函数,有一套标准的方法可以进行分析。

首先说下单变量下的链式法则,有一个函数链$z=f(g(x))$。
链式法则要回答的是链的斜率,要求整条链的导数。

我们要求的复杂函数导数就会转化成两个已知简单函数的导数。看一个例子来直观的理解:

内函数是$y=3x$,外函数是$z=\sin(y)$。
根据链式法则,得到:

函数z的频率是正弦函数频率的三倍,所以变化的幅度更大,在原点处,斜率也是3倍,这和导数图像的结果完全一样。这就是链式法则的直观的表示。

2.1 Total Differentials and the Chain Rule 全微分和链式法则

全微分(Total Differentials)先来给个结果,对于f(x,y,z),全微分:

d 就是微分符号,如何去考虑微分符号? 首先看看不能怎么去考虑:

$\Delta f$ 表示数量,而 $\mathrm{d} f$ 是符号。微分符号可以这样认为:

  • 反映了变量变化时对函数的影响。
  • 是一个微小变化的占位符。

    有一个曾经使用过的公式,注意这里是约等号而不是等号:

  • 同时除以 $\mathrm{d}t$ 可以得到t趋近于0变化率。

这个就是 链式法则(chain rule)。如果函数依赖于某些变量,变量又依赖于其他变量,链式法则可以寻找出函数在新变量下的变化率以及个变量之间的依赖关系。

先来一个不太严谨的证明:
如果x,y,z分别是t的函数,则有

带入后:

除以 $\mathrm{d} t$ 就是链式法则。

更好点的证明:

当 $\Delta t$ 非常小的时候,就出现了0/0这种情况,这就是微积分要处理的。微积分保留了这个值,在极限条件下这个值就是导数。变化率趋近的值就是微分,约等号也就变成等号了。这就是链式法则最核心的原理。

例子:

也可以直接将各部分值带入,可以得到同样的结果,链式法则本质上是将多变量转化为单变量。如果x,y,z不能写成t的显性函数,则只能使用链式法则。

2.2 链式法则和微分的关系

一个很有意思的地方,很多人知道导数的乘法法则,确实乘法法则是链式法则的一个应用,反过来乘法法则也可以通过链式法则来证明。

再来看看除法法则:

2.3 多变量的链式法则

到现在为止,感觉一切都没有问题,都是那么完美。突然有声音在问,之前的链式法则,都是认为所有变量都是关于共同变量t的,都依赖于同一个t,这本质上就是单变量的求导,如果每个变量依赖多个不同的变量,比如说一个极坐标下的方程,链式法则怎么用,函数w关于u,v的偏导数到底是什么?

可以把x和y的公式带入,w就变成了u和v的方程。但是求这个偏导数绝对会让人抓狂的。或者,将链式法则进行到底:

如果改变u的话,w如何改变?x,y如何改变,这些是微分关系给我们的。

整理下这个式子,看括号内的部分:

理解这个式子也不难,我们想知道,u如何影响f,f是关于x和y的函数,x和y又依赖于u,这就是链式法则的精华了。
有人发现分子分母上都有同样的偏微分符号,是不是可以再词约分化解,答案是不行。
偏微分不能约分,偏微分不能约分,偏微分不能约分。 但是上下同时有微分符号,是可以约分的。

2.4 例子


平面直角坐标系和极坐标系换元的公式是:

如果已知函数f(x,y),想知道f关于 $r$ 或者 $\varphi$ 的变化,就可以用链式法则试下了。

2.5 Gradient: Definition, Perpendicular to Level Curves 梯度

回顾一下链式法则:

w的变化是由x,y,z的变化引起的。x,y,z又分别以自己的速度变化,通过的偏导数的影响直接影响原函数。偏导数告诉我们w对每个变量变化有多敏感。

用一种新的写法:

这个向量包含了所有的偏导数。每个点都会有一个向量。可以称为函数w在某一点(x,y,z)处的 梯度 (gradient)。r对t的微分就是 速度向量(velocity vector)。

定理: 令w为常数,梯度向量垂直于原函数等值面。如图,画出函数的等高线,梯度向量是指向函数值更大的方向,并且垂直于等高线(投影于2维情况)。

看一种最简单的情况:

寻找这个函数的等值面,令w=c

发现,等值面就是平面。由于平面的法向量是

这个平面的法向量就是梯度向量。

其实,对任何函数,都可以有这种线性的近似来代替函数本身。这意味着用切平面取代等值面。

再来看一个例子:

当w=c时,在等值面上有梯度向量<2x,2y>,如图所示,垂直于等值面:

2.6 证明

要理解向着等值曲线内部移动会发生什么?假设在等值曲线上有一个动点,这会令函数值保持为一个常数。通过链式法则,我们能够知道函数变化有多快。链式法则就是理解梯度向量和等值面之间的关键点。

令 $\overrightarrow{r}=\overrightarrow{r}(t)$ 是一条在等值面 $w=c$ 上的曲线

首先观察速度向量,这个动点的速度向量和曲线相切,和等值面相切。

速度向量v和平面w=c相切,根据链式法则,我们知道w是如何变化的:

由于一直在等值面上运动,所以梯度是0,所以

可以推出,梯度向量和速度向量垂直:

更进一步的说,这对任何w=c上的动点,都成立。

如果用二维来说,会有等高线,运动方向是切向量方向,梯度垂直于切向量。

2.7 例子

找到 $x^2+y^2-z^2=4$ 在点(2,1,1)的切平面。这个函数叫做双曲面(hyperpoloid),长得像这个样子:

这是 $w=x^2+y^2-z^2$ 在w=4时的等值面。梯度向量是:

这是曲面或者是切平面的法向量。 曲面和切平面有相同的法向量。得到切平面的方程:

带入点(2,1,1),得到C=8。切平面和梯度向量如图所示:

换一个角度,使用微分来考虑:

2.8 Directional Derivatives 方向导数

方向导数是梯度的一个应用。
方向导数是沿着某方向上的导数,例如x轴,y轴。方向导数衡量了函数沿着某方向的变化情况。

在某点(x,y)开始,有一个向量u,沿着u的方向直线移动。同时有一个二元函数w(x,y),沿着u的方向,变化有多快?
将直线的轨迹参数化:

这个问题实际上就是求:

定义:函数w沿着u方向的方向导数,不局限于坐标轴方向:

学习偏导数的时候我们知道,偏导数是与x轴y轴平行的线做垂面所得到的截线的斜率。相似的,方向导数是沿着方向向量的垂面截取图像,得到的截线的斜率。

链式法则里,就讲解过如何去求解了。现在,可视化这个问题。沿着3D图直线方向做垂面,可以得到这个垂面的截线,截线上的某点的斜率就是方向导数:

方向导数的计算
根据链式法则:

比如说在i方向上的方向导数:

i方向上的方向导数就是x方向的偏导数。

梯度向量和方向导数的关系
已经知道

当角度为0的时候,方向导数变化最大。所以梯度向量是在给定点处函数增加最快的向量。
当角度为180的时候,方向导数是负的梯度。
当角度为90的时候,运动方向与梯度向量垂直,相当于在等值面上运动,没有大小变化。此时与等值面相切。

3. Lagrange Multipliers and Constrained Differentials 拉格朗日乘数法

拉格朗日乘子(Lagrange Multipliers)

3.1 Statement of Lagrange Multipliers and Example

找到函数当x,y,z是不独立时f(x,y,z)的最小值或最大值,即有约束条件g(x,y,z)=c。

对于简单的约束条件,可以先把x,y,z的关系解出来,代入到原方程中。但是更加复杂的约束条件就不能这么解了。

先来看一个例子,找双曲线(hyperbola) xy=3 上离原点最近的点。等价的数学表达式是:

可以先画出 $x^2+y^2$ 的等高线图,不同c的高线上每一个点 (x,y) 到原点的距离的平方都是常数c值。这个例子的几何意义就是在双曲线上找到距离原点最近的点。

当最小值发生的时候,f(x,y) 的等高线和 g(x,y)=3 是相切的。

如何把这个切点解出来?
如果两个等高线相切,说明它们的切线相同,法向量平行。由于梯度向量和等高线垂直,最值出现的时候,也就是在切点处,f和g的梯度向量是平行的。

当互相平行的时候,它们是成倍数关系。这个倍数就是拉格朗日乘子,用希腊字母lambda表示。

主题无关,使用lambda符号代表拉格朗日乘子,很有可能是向拉格朗日致敬,因为都以L开头

现在要做的就是求解x,y和lambda三个未知量。

再加上限制条件g,三个方程三个未知数,答案就得到了:

首先x和y都等于0并不满足限制条件,所以是一组平凡解。非平凡解要求矩阵的行列式为0。

得到的值分别代入求证,找到最终解。

补充一点,拉格朗日乘法无法判断是最大值还是最小值,在三维空间中还有可能是鞍点。

3.2 Proof of Lagrange Multipliers 证明

一个函数在某种限制条件下的最小点或者最大点,这时,如果在g的等值面上移动,则y的值一定是增加或者减少的。而且f的一阶导数符号不会改变。

没有限制条件g的时候,最大值或者最小值的偏导数为0。在有限制条件的时候,偏导数只有在固定的方向上才是0,即指向g的等值面的延伸方向。

有限制条件的最小值或者最大值,在任何g=c的方向上,f的变化率是0。

从方向导数角度来看:
考虑任意一个与 g=c 相切的向量

都有:

所以:

由于:

所以:

如图,红色向量为u,是P在g=c上的切线,f是平面的情况

有最大值的情况:

有最小值的情况:

再来看一个例子:

函数图像是这样子的:

可行解都在限制条件g(x,y)上,如图所示为等高线图:

目标优化方程f(x,y)梯度向量:

限制条件g(x,y)梯度向量:

红圈处为最优解,梯度向量互相平行。

警告:如何知道是最小值还是最大值?
不能知道,而且不能用二次导来验证,只能带入值来求解。

3.3 Advanced Example 复杂例子

当有时候函数或者约束条件复杂,拉格朗日法计算也很吃力,牢记拉格朗日法的本质,会化繁为简。

已知金字塔的体积,找一个表面积最小的金字塔。
底面三点P1(x1,y1),P2(x2,y2),P1(x3,y3),要求顶点P(x,y,h)

由于高是固定的,来看下金字塔的底面,u1,u2,u3分别是到a1,a2,a3三条边的距离:

某一侧边的高是:

侧面的总面积 $f(u1,u2,u3)$:

限制条件底面面积 $g(u1,u2,u3)$:

使用拉格朗日乘数法方程:

也就是

顶点距离三条底边距离相等的时候,总面积最小。

3.4 Constrained Differentials 带约束条件的微分方程

带约束条件的方程意味着方程有非独立变量(Non-independent variables),即g(x,y,z)=c。

有函数

变量之间的关系为

从偏微分的角度来看看约束条件。
已知:

对方程微分:

在(2,3,1)这一点上有:

这个方程反映了 $x,y,z$ 在 $(2,3,1)$ 这一点上发生变化的关系。它告诉我们诸如此类的一些问题,当 $x,y$ 变化时,z如何变化。在等值面上,变化量之间有什么关系。如果将z看作是 $x,y$ 的函数 $z=z(x,y)$,可以得到 $z$ 关于 $x,y$ 的全微分,全微分符号前边部分为偏微分。

当考虑x对z的偏微分的时候,会假定y恒定,$\mathrm{d}y=0$;同理,y对z的偏微分会假定x恒定,$\mathrm{d}x=0$。

好了,通常来说:

现在就可以用任意两个变量表示第三个:

由于微分符号前边的系数可以把它考虑成偏微分,则有

注意一个违反直觉的地方:负号出现了。

这就是求约束变量之间变化率的通用方法。

3.5 Clearer Notation 说明符号

一个有趣的函数:

分别求偏导数:

虽然x=u,但是对f的偏导数却是不相同的。f对于x的偏微分,要求y保持恒定,f对于u的偏微分要求v保持恒定。虽然x=y,但是y和v是不相同的。所以,很重要的一点是要明确哪个变量是维持恒定的。这里使用一种说明符号,注意这里不再表示偏微分,而是表示恒定量:

用新的表示法解决之前冲突的地方:

在处理关联变量的时候,这一点尤其重要。

3.5 Example 关于非独立变量的例子

一个几何学的例子,三角形面积。

假设有一个三角形,变量是两条边 $a$ 和 $b$, 这两条边的夹角是$theta$。 有一个限制条件,三角形是直角三角形,$a$ 和 $b$ 分别是直角边和斜边。求三角形面积对角度的变化情况。

考虑三种情况:
第一种情况: a, b 恒定,只改变角度,即没有直角三角形作为约束,$a,b,\theta$ 是独立的:

第二种情况: 保持a恒定不变,$b$ 成为 $a$ 和 $\theta$ 的函数。

第三种情况: 保持b恒定不变,$a$ 成为 $b$ 和 $\theta$ 的函数。

存在非独立变量的时候,要消去这些非独立变量。作图的时候遇到了问题,使用独立变量问题解决。

接下来看看如何解偏微分。

方法0: 将约束条件代入,消去因变量,再求导。

系统的方法:

方法1:微分

  • 对目标函数进行微分。
  • 对约束条件进行微分。
  • 使恒定不变量微分为0,化简整理,得到答案。

方法2:链式法则

第一项分数可约分,只剩下不考虑约束条件的偏微分;第二项为0;第三项需要约束条件解得偏微分的比值,得到最终结果。这是含有非独立变量的链式法则。两种方法可以加深理解。