• ベストアンサー

ラグランジュの乗数法

ラグランジュの乗数法で ∂/∂λ(f-λg)=0 ⇔ g=0 はどのように導くのでしょうか。 それぞれの記号はよく使われると思われるものをそのまま用いました。 そこから推測していただけますでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • info22_
  • ベストアンサー率67% (2650/3922)
回答No.3

>>f,g は 微分変数λに対して定数扱いですから >この部分の理由がきちんとわかりません。 これは偏微分法の本質ですから、偏微分法そのものを理解できていないため 理解できないのでは? 偏微分法の定義や基礎を教科書や参考書で復習しなおして見てください。 >f,g,λはそれぞれxの関数だが、f,gはλの関数ではないと言うことでしょうか。 f,gはf,gに含まれる(独立)変数の関数ですがλも関数「f-λg」に導入されて独立変数です。それが「ラグランジュの乗数法」の特徴です。 つまり、f,gはλの関数ではありません。 なお、「ラグランジュの乗数法」は、 2変数以上(x,y,…)の関数f(x,y,…)に対してを拘束条件g(x,y,…)=0の元で f(x,y,…)の極値(極大値、極小値)を求める手法です。 >「関数f(x)は関数g(x)で微分できない」 >これが正しいのか正しくないのかがわかりません。 これは「ラグランジュの乗数法」直接関係ないことですので、切り離して考えた方がいいでしょう。 関数f,gが1変数xだけの関数と考えるのではなく、xはn≧2のn次元ベクトルx(x1,x2,…)として考えて下さい、 2変数の場合なら、独立変数はx1=x,x2=y 3変数の場合なら、独立変数はx1=x,x2=y,x3=z などとなります。 また、一般的には関数を関数で微分は出来ません。 ただし、独立変数とみなせる特別な合成関数の形式の関数の場合に 計算過程の中で、見かけ上、微分できる事からそう錯覚してるに過ぎません。 >正しくなさそうですが、合成関数や逆関数を使って解けそうな気がするので 確信がありません。 正しいので当てはまりません。 y*sin(x) を log(x)+y で微分出来ると思いますか? >あるいはλはxnの関数だが、 λはxnの関数ではありません。λはxnと同じく独立変数です。 >fとgはx1~xn-1の関数だ これは正しいです。 >と言うことなのでしょうか。 今一度、「ラグランジュの乗数法」について復習してみてください。

その他の回答 (2)

回答No.2

ラグランジュの未定乗数法はfの極値を求めるための方法で、 df = Σ(∂f/∂xi)dxi=0 となる{xi}を求める方法です。ただし、変数xiは独立ではなくある関数gがあり dg = Σ(∂g/∂xi)dxi =0 という拘束条件を満たさないといけません。この場合にλを定数として関数 F = f-λg を定義してFの極値を求める、つまり dF = df - λdg = Σ[ (∂f/∂xi)-λ(∂g/∂xi)]dxi = Σ∂/∂xi (f-λg) =0 としてから全てのiについて ∂/∂xi (f-λg) =0 を解くのが未定係数法です。 したがって、任意の変化に対してdg=0なので、gは定数でなければなりませんが、その定数も左辺に入れてしまえば0にできます。つまり、 g(xi)=C → g'(xi) = g(xi)-C =0 として、g'を改めてgとおきなおすことにすれば一般性を失わずにg=0とできます。 つまり、g=0は導くものではなく、問題で与えられる拘束条件です。 たとえば二次元の問題で半径C(定数)の円上で極値を求めるという問題なら、 g(x,y) = x^2 + y^2 - C^2 = 0 が拘束条件として問題から与えられます。 さてご質問の >∂/∂λ(f-λg)=0 ですが、これは上の >∂/∂xi (f-λg) =0 にあわせて拘束条件を書き換えただけの式です。かえってわかりにくくなるだけのような気もするんですが、このような書法を好む方もいるようです。私が知らないだけで深い意味があるんでしょうか。

  • info22_
  • ベストアンサー率67% (2650/3922)
回答No.1

左辺を式どおり (f-λg)をλで偏微分すれば f,g は 微分変数λに対して定数扱いですから 左辺は g になります。つまり  ∂/∂λ(f-λg)= g 与式の右辺は0ですから  g=0 となります。 お分かりになりませんか? と

trotrotron
質問者

お礼

回答ありがとうございます。 おおまかな流れは理解することができました。 ただ >>f,g は 微分変数λに対して定数扱いですから この部分の理由がきちんとわかりません。 f,g,λはそれぞれxの関数だが、f,gはλの関数ではないと言うことでしょうか。 「関数f(x)は関数g(x)で微分できない」 これが正しいのか正しくないのかがわかりません。 正しくなさそうですが、合成関数や逆関数を使って解けそうな気がするので 確信がありません。 あるいはλはxnの関数だが、fとgはx1~xn-1の関数だ と言うことなのでしょうか。

trotrotron
質問者

補足

8行目は 正しくなさそうですが → 正しそうですが でした。すいません

関連するQ&A