条件极值(1):隐函数极值问题
本文主要参考了高木贞治的《高等微积分》.为了内容的连续性,我们把第四篇小结里推广的隐函数存在定理重叙如下:
Theorem1(隐函数存在定理的推广)设f:Rn+m→Rm为连续可微函数,Rn+m中的元素写成(x1,⋯,xn+m)的形式.当f(a1,⋯,an+m)=0时,我们把f在点(a1,⋯,an+m)处的雅可比矩阵的第i1,⋯,im列挑选出来(i1<i2<⋯<im),按原来的顺序重新排成一个矩阵,这样就形成了f在点(a1,⋯,an+m)处的雅可比矩阵的一个m×m的子方阵,如果该子方阵可逆,那么我们可以在点(a1,⋯,an+m)附近定义一个(xi1,xi2,⋯,xim)关于点(xj1,xj2⋯,xjn)的函数g,其中j1<j2<⋯<jn,且{j1,⋯,jn}⋃{i1,⋯,im}={1,⋯,m+n},使得只要f(x1,⋯,xm+n)=0,我们就有g(xj1,⋯,xjn)=(xi1,⋯,xim).严格地说,就是存在(aj1,⋯,ajn)和(ai1,⋯,aim)的邻域U和V,使得g是从U到V的函数,并且g的函数图像满足{((xj1,⋯,xjn),g(xj1,⋯,xjn))}={((xj1,⋯,xjn),(xi1,⋯,xjm))|f(x1,⋯,xn+m)=0}∩(U×V).
Remark1注意,当我们建立(xi1,xi2,⋯,xim)关于(xj1,xj2⋯,xjn)的函数g时,变量xj1,xj2,⋯,xjn已经处于函数无关的状态.
设D是Rn的开子集,f:D→R和g:D→Rm都是连续可微函数.且对于D中的每一点x,都存在相应的1≤i1<⋯<im≤m,使得当我们把g在x处的雅可比矩阵中的第i1,⋯,im列挑选出来,按原来的顺序重新排成一个矩阵的时候,可以形成g在点x处的雅可比矩阵的一个m×m的可逆子方阵.
我们有约束条件g(x)=0,其中x∈Rn,这样的约束条件确定了一个区域D′.在D′内的所有点都满足该约束条件,而在D∖D′中的所有点都不满足该约束条件.我们试图找出 f|D′ 在区域D′上的极值,其中f|D′表示函数f在区域D′上的限制.设x=(p1,⋯,pn).且设x0是f|D′在D′上的极值点.由于g在x0处满足定理1的条件,因此我们可以在点x0附近定义一个(pi1,pi2,⋯,pim)关于点(pj1,pj2,⋯,pjn−m)的函数h,其中j1<j2<⋯<jn−m,且
{j1,⋯,jn−m}⋃{i1,⋯,im}={1,⋯,n},
使得只要g(x0)=0,我们就有h(pj1,⋯,pjn−m)=(pi1,⋯,pim).为了简化论述,不失一般性地,我们不妨设j1<⋯<jn−m<i1<⋯<im.于是我们就可以把上述的在约束条件g(x)=0下求f的极值问题转化为求
z=f(pj1,⋯,pjn−m,h(pj1,⋯,pjn−m)) (1)
的极值问题,根据注1,我们知道pj1,⋯,pjn−m函数无关.为了求1的极值,我们有两种其实是完全一样的方案.但是,我愿意不劳辛辞地把它们通通写出来.我们先来介绍第一种.为了求1的极值,只需要令
∂z∂pj1=0,⋯,∂z∂pjn−m=0. (2)
根据复合函数的求导法则,可得∀r∈{1,⋯,n−m},我们有∂z∂pjr=(∂f∂pj1⋯∂f∂pjn−m∂f∂pi1⋯∂f∂pim)(0⋮1⋮0⋮0∂pi1∂pj1⋮∂pim∂pj1)(n−m−1个0,1位于第r行.)=∂f∂pjr+m∑k=1∂f∂pik∂pik∂pjr.
于是条件2化为如下:∀r∈{1,⋯,n−m},
∂f∂pjr+m∑k=1∂f∂pik∂pik∂pjr=0. (3)
第二种方案只不过是对第一种方案的符号简化:为了求1的极值,我们先令t=(pj1,⋯,pjn−m).则式1化为
z=f(t,h(t)). (4)
为了求式1的极值,只用让
∂z∂t=0. (5)
根据复合函数的求导法则,式5即
∂f∂t+∂f∂h(t)∂h(t)∂t=0. (6)
式6和方程组3是一样的.于是与其看繁琐的方程组3,我们不如来看式5.事情做到这一步,其实还没完,因为∂h(t)∂t是很难知道的,因为我们很难确定h.幸运的是,根据隐函数定理,我们能继续求出∂h(t)∂t.下面具体地来做.我们知道,
g(x)=0,
即
g(t,h(t))=0,
∂g∂t+∂g∂h(t)∂h(t)∂t=0. (7)
∂f∂t=∂f∂h(t)(∂g∂h(t))−1∂g∂t. (8)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 上周热点回顾(1.20-1.26)
2012-10-20 苏州行
2012-10-20 苏州行