课程笔记

9.8多元函数的极值及其求法

阅读入口

学习安排

教材依次给出极值定义、必要条件、二阶充分条件,再把极值问题推广到有界闭区域上的最值,最后用拉格朗日乘数法处理条件极值。必要条件与一元费马引理是同一件事:固定一个变量,极值点处的偏导数必须为零。充分条件把驻点处的二阶偏导数排成 AA、BB、CC,用 Δ=AC−B2\Delta=AC-B^2 的符号判断曲面在驻点附近的弯曲方向。

最值部分要紧的是候选点的来源:内部驻点、偏导数不存在的点、边界上的点,三类都要收集。条件极值则把约束写进拉格朗日函数,化为无条件极值来解。

极值存在的条件

必要条件与驻点

设 ff 在 P0(x0,y0)P_0(x_0,y_0) 处具有偏导数,并在该点取得极值,则

fx(x0,y0)=0,fy(x0,y0)=0.f_x(x_0,y_0)=0,\qquad f_y(x_0,y_0)=0 .

一阶偏导数同时为零的点称为 ff 的驻点。偏导数存在时,驻点就是梯度为零向量的点,梯度的定义见梯度。

证明

只对 xx 论证。固定 y=y0y=y_0,令 g(x)=f(x,y0)g(x)=f(x,y_0)。gg 在 x0x_0 处可导,且由 ff 在 P0P_0 取得极值可知 x0x_0 是 gg 的极值点。由一元函数的费马引理(见费马引理),g′(x0)=0g'(x_0)=0,即

fx(x0,y0)=0.f_x(x_0,y_0)=0 .

对 yy 的偏导数同理。

充分条件

设 ff 在驻点 P0(x0,y0)P_0(x_0,y_0) 的某邻域内具有连续的二阶偏导数,记

A=fxx(x0,y0),B=fxy(x0,y0),C=fyy(x0,y0),A=f_{xx}(x_0,y_0),\qquad B=f_{xy}(x_0,y_0),\qquad C=f_{yy}(x_0,y_0),Δ=AC−B2.\Delta=AC-B^2 .

则:

  1. 当 Δ>0\Delta>0 时,ff 在 P0P_0 取得极值;其中 A<0A<0 时取极大值,A>0A>0 时取极小值。
  2. 当 Δ<0\Delta<0 时,ff 在 P0P_0 不取得极值。
  3. 当 Δ=0\Delta=0 时,本定理无法判定,需要另行讨论。
证明

把 P0P_0 处的函数值增量按二阶泰勒公式展开(见泰勒公式)。P0P_0 是驻点,一阶项为零,所以

Δz=f(P0+ΔP)−f(P0)=12(AΔx2+2BΔxΔy+CΔy2)+o(ρ2),\Delta z=f(P_0+\Delta P)-f(P_0) =\frac12\left(A\Delta x^2+2B\Delta x\Delta y+C\Delta y^2\right) +o(\rho^2),

其中 ρ=Δx2+Δy2\rho=\sqrt{\Delta x^2+\Delta y^2}。令 Δx=ρcos⁡θ\Delta x=\rho\cos\theta、Δy=ρsin⁡θ\Delta y=\rho\sin\theta,则

Δz=ρ22 g(θ)+o(ρ2),g(θ)=Acos⁡2θ+2Bcos⁡θsin⁡θ+Csin⁡2θ.\Delta z=\frac{\rho^2}{2}\,g(\theta)+o(\rho^2),\qquad g(\theta)=A\cos^2\theta+2B\cos\theta\sin\theta+C\sin^2\theta .

二次型 Q(h,k)=Ah2+2Bhk+Ck2Q(h,k)=Ah^2+2Bhk+Ck^2 的矩阵行列式为 AC−B2=ΔAC-B^2=\Delta。

  • 当 Δ>0\Delta>0、A>0A>0 时,QQ 正定,g(θ)g(\theta) 在单位圆上有正的下界,于是 ρ\rho 充分小时 Δz>0\Delta z>0,P0P_0 是极小值点。
  • 当 Δ>0\Delta>0、A<0A<0 时,QQ 负定,同理 Δz<0\Delta z<0,P0P_0 是极大值点。
  • 当 Δ<0\Delta<0 时,QQ 不定,存在方向使 g(θ)>0g(\theta)>0,也存在方向使 g(θ)<0g(\theta)<0。在 P0P_0 的任意小邻域内,函数值既有大于 f(P0)f(P_0) 的,也有小于 f(P0)f(P_0) 的,所以 P0P_0 不是极值点。

Δ=0\Delta=0 时 g(θ)g(\theta) 可能非负、非正或恒为零,符号由 o(ρ2)o(\rho^2) 决定,因此这个定理不能判定。

极值的判定只处理内部点,放到有界闭区域上还要加上边界,这就是下一段的最值问题。

最值

在有界闭区域 DD 上连续的多元函数一定取得最大值和最小值,见多元函数的连续性中的有界闭区域性质。求连续函数 f(x,y)f(x,y) 在有界闭区域 DD 上的最值,一般按以下步骤进行:

  1. 收集区域内部的候选点

    求出 DD 内部的所有驻点,以及偏导数不存在但函数有定义的点,计算这些点处的函数值。

  2. 求边界上的最值

    把边界曲线代入 ff,化为一元函数的最值问题;边界也可以按条件极值处理。

  3. 比较所有候选值

    内部候选值与边界最值中,最大的就是 DD 上的最大值,最小的就是最小值。

最值解决的是自由取值的情形,带约束的问题要换一套办法,见下一段。

条件极值与拉格朗日乘数法

无条件极值问题只要求自变量落在定义域内,称为无条件极值。若还要求自变量满足附加约束,例如点必须在一条确定的曲线或一张确定的曲面上,对应的极值称为条件极值。

求 z=f(x,y)z=f(x,y) 在约束 φ(x,y)=0\varphi(x,y)=0 下的极值点,常用拉格朗日乘数法。它的做法是引入参数 λ\lambda,构造拉格朗日函数

L(x,y,λ)=f(x,y)+λφ(x,y),L(x,y,\lambda)=f(x,y)+\lambda\varphi(x,y),

其中 λ\lambda 称为拉格朗日乘子,再用乘子方程寻找候选点。若约束函数在候选点可微且梯度非零,约束极值点必须满足这些方程;LL 作为所有变量的函数不必在该点取得无条件极值。

  1. 构造拉格朗日函数

    把约束写成 φ(x,y)=0\varphi(x,y)=0,取 L=f+λφL=f+\lambda\varphi。

  2. 令一阶偏导数全为零

    解方程组

    {Lx=fx+λφx=0,Ly=fy+λφy=0,Lλ=φ(x,y)=0.\begin{cases} L_x=f_x+\lambda\varphi_x=0,\\ L_y=f_y+\lambda\varphi_y=0,\\ L_\lambda=\varphi(x,y)=0. \end{cases}
  3. 解出候选点并判断

    方程组给出正则约束上的候选点;约束梯度为零的点和约束集合的边界也要单独检查。再根据问题的实际意义、边界上的取值或更高阶的条件,确定它是否为极值或最值。

方法可以直接推广到三元及更多元的函数,也可以处理多个约束:每个约束乘一个乘子,把所有 λjφj\lambda_j\varphi_j 都加进 LL。

两种极值都齐了;课程约定把 A,B,CA,B,C 与 Δ\Delta 的记号收在一起。

课程约定

  • 教材令 A=fxx(x0,y0)A=f_{xx}(x_0,y_0)、B=fxy(x0,y0)B=f_{xy}(x_0,y_0)、C=fyy(x0,y0)C=f_{yy}(x_0,y_0),判别式记作 Δ=AC−B2\Delta=AC-B^2。有些书用 B2−ACB^2-AC,符号相反,判据要跟着一起换。
  • 极值定义使用严格不等式;极值点与极值(函数值)是两个不同的对象。
  • 拉格朗日函数写作 L=f+λφL=f+\lambda\varphi,约束为 φ(x,y)=0\varphi(x,y)=0;偏导数不存在的点也属于最值候选。

易错点

  • 把驻点直接当成极值点。鞍点也满足 fx=fy=0f_x=f_y=0,还要用充分条件或定义再判断一次。
  • 看到 Δ=0\Delta=0 就下结论。这个情形定理失效,要回到定义或改用其他方法。
  • 求有界闭区域上的最值时只在内部找驻点,漏掉边界;或者只比较极值,忘记比较所有候选点的函数值。
  • 用拉格朗日乘数法时漏写 Lλ=φ(x,y)=0L_\lambda=\varphi(x,y)=0,或者解出 (x,y,λ)(x,y,\lambda) 后没有回代约束检验。
  • 把条件极值当成无条件极值处理。约束不同,候选点一般也不同。

复习要点

判断极值时按“求驻点—算 A,B,C,ΔA,B,C,\Delta—看 AA 的符号”的顺序走,Δ=0\Delta=0 的情形单独留到最后处理。做最值题先标出区域的边界,再决定边界用代入还是乘数法。条件极值解完方程组后,用实际意义或边界上的取值确认最大最小。