- 締切済み
ラグランジュの未定乗数法
条件g(x,y)=0の下で、z=f(x,y)の極値を求める。 g(x,y)=0は、xとyの陰関数でありz軸に平行なある曲面を表す。 z=f(x,y)の全微分は、dz=(∂f/∂x)*dx+(∂f/∂y)*dyより、(dz/dx)=(∂f/∂x)*1+(∂f/∂y)*(dy/dx) dz/dx=f_x(x,y)+f_y(x,y)*(dy/dx) ここでzは、g(x,y)=0の条件によりxの1変数関数となっている。 一方、z=g(x,y)とすると、z=g(x,y)=0となり、これは恒等的に0である。よって、全微分もdz=(g_x)*dx+(g_y)*dy=0となる。 dy/dx=-g_x(x,y)/g_y(x,y) dz/dx=f_x(x,y)-[{f_y(x,y)*g_x(x,y)}/g_y(x,y)] (x,y)=(a,b)の点で、この曲線が極値をもつとき、dz/dx=0となる。 dz/dx=f_x(a,b)-[{f_y(a,b)*g_x(a,b)}/g_y(a,b)] f_x(a,b)={f_y(a,b)*g_x(a,b)}/g_y(a,b) g_x(a,b)≠0のとき、両辺をg_x(a,b)で割り、{f_x(a,b)/g_x(a,b)}={f_y(a,b)/g_y(a,b)} ここで、{f_x(a,b)/g_x(a,b)}={f_y(a,b)/g_y(a,b)} =λとおくと、f_x(a,b)=λ*{g_x(a,b)}, f_y(a,b)=λ*g_y(a,b) このλが未定乗数である。 質問がいくつかあります。 まず、初めに条件になっている『g(x,y)=0はz軸に平行な曲面を表す』とあります。これは、z=g(x,y)=0とは違いますよね? z=g(x,y)=0はz=0なので、xy平面上の関数になり、z軸に平行な曲面にはならないと思うのですが。 次に、全微分可能な関数z=f(x,y)の全微分はdz=f_x(x,y)dx+f_y(x,y)dyと表され、これは∂z/∂x=f_x(x,y)+f_y(x,y*)(dy/dx)と表す事ができ、この左辺はzがxとyの2変数関数のためdz/dxとならずに∂z/∂xとなっています。この証明においてz=f(x,y)の全微分を求める際に『ここで、zはg(x,y)=0の条件により、xの1変数関数となっている』とありますが、これはどういう意味でですか? z=f(x,y)の曲面とg(x,y)=0の曲面が交わった所は曲線になるのは分かります。そしてこの曲線はxの値を一個定めると、それによってyの値が決まるので、zも決まる。よってzはxの1変数関数となるのでしょうか? そして、『z=g(x,y)とおくと、z=g(x,y)=0とおくと、これは恒等的に0。よって、その全微分もdz=(g_x)*dx+(g_y)*dy=0』とありますが、まずこの意味を簡単に説明していただけますか。『よって』の前後がどう繋がっているのが分かりません。『z=g(x,y)=0とおく』となっていますが、この場合z=g(x,y)=0は前述したようにxy平面上のグラフになると思うのですが、なぜg(x,y)=0をz=g(x,y)=0と置き換えたのかが分かりません。dy/dxの値を求めるためでしょうか? 自分の書いた所に、誤解やちんぷんかんぷんで意味が分からない所があれば指摘してください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- 中村 拓男(@tknakamuri)
- ベストアンサー率35% (674/1896)
>初めに条件になっている『g(x,y)=0はz軸に平行な曲面を表す』とあります。 >これは、z=g(x,y)=0とは違いま>すよね? z=g(x,y)=0はz=0なので、xy平面上の関数になり、 >z軸に平行な曲面にはならないと思うのですが。 g(x,y)=0 は方程式に z を含まないので z軸に平行な図形になります。 z = g(x,y) は g の形を3次元に描くときの式でしょう。f の束縛条件と混同しちゃいけません。 本題ではあくまで z を取って考えること。それに g の形を考えるのは x, y 平面上で十分です。 #xy平面上ではただの1個の曲線です。 >これは∂z/∂x=f_x(x,y)+f_y(x,y*)(dy/dx) このへんの議論はヘタクソですね。独立変数を入れ替えたりせずとも議論は展開できます。 というかそのための未定乗数法なので、対称性を崩したらいかんのですよ。話が無用に複雑化します。 ラグランジュの未定乗数法の肝は、2次元、1束縛に限定すると gの全微分=(∂g/∂x)δx + (∂g/∂y)δy=0 という条件下で fの全微分=(∂f/∂x)δx + (∂f/∂y)δy=0 という点を探すこと。 式の形を見ればわかるけど、ベクトル(∂g/∂x, ∂g/∂y)とベクトル(∂f/∂x, ∂f/∂y)は両方とも ベクトル(δx, δy) と直交するから、2次元だから ベクトル(∂g/∂x, ∂g/∂y)と(∂f/∂x, ∂f/∂y)は同方向(符号は逆かも) ってことなんだよね。 この幾何学的な理解が得られれば一足飛びに (∂f/∂x, ∂f/∂y)=λ(∂g/∂x, ∂g/∂y)⇒∂(f-λg)/∂x=0, ∂(f-λg)/∂y=0, ∂(f-λg)/∂z=0 これが未定乗数です。後はちょっとひねって h(x, y, λ) =f-λg とすれば ∂h/∂x=0, ∂h/∂y=0, ∂h/∂z, ∂h/∂λ=g=0 で解けることになります。 このやり方で話を簡単に多次元、多束縛へ拡張できます。
- stomachman
- ベストアンサー率57% (1014/1775)
> 『g(x,y)=0はz軸に平行な曲面を表す』 その曲面上の点(x,y,z)の集合をGとすると G = {(x,y,z) | g(x,y)=0 } だということです。zには何の制限も付いていないから、z軸と垂直に切ると、どこで切っても断面は同じ。図形としてはz方向に無限に長いキンタローアメのようなものです。 > z=g(x,y)=0とは違いますよね? 仰る通り、別の話です。 > 『ここで、zはg(x,y)=0の条件により、xの1変数関数となっている』 ここも仰る通りです。 「条件により」ってのは、関数f(x,y)の定義域をGだけに限定する、という意味です。なので、xを決めるとそれだけで「(x,y,z)∈Gであるようなy」が限定される。 もっと具体的に「g(x,y)=0をy=…の形に解いたとすると」と考えると分かりやすいかな。そうするとyはxで決まる関数、つまりy(x)である。だから、z = f(x,y(x)) はxだけで決まる。(ゲンミツに言えば、xを決めても複数のyが(x,y,z)∈Gを満たしうるわけで、そこんとこもきちんと議論しないとまずいんですが。) > なぜg(x,y)=0をz=g(x,y)=0と置き換えたのか このzは「z=f(x,y)」のzとは別物です。というのは、ここでは (x,y,z)∈G ⇒ ∀λ( f(x,y) = f(x,y)+λg(x,y) ) の右辺第二項だけを取り出して話をしているから。 > 『よって』の前後がどう繋がっている z=g(x,y)のとき、zは定数だからdzは0だ、というだけのこと。