普通に求めようとするならば、関数gを変形してx
n=h(x
1,,,,,x
n-1)としてfに代入してf(x
1, x
2,,,,,,x
n-1,h(x
1,,,,,x
n-1))として、これの最大値を求めればよい。
すなわち
と置くと
となるので、(hはx
1,,,x
n-1の関数)、極値を探すための「微分したものが0」という条件は
というn-1個の式を連立させてx
1〜x
n-1を決定して、それから関数hを使ってx
nを求め、そのx
1〜x
nをfに代入して得られる値がfの極値である。
しかし、この方法は、関数hが簡単な形になっていないと解くのが難しい。
そして、残念ながら多くの場合、関数hやその微分は複雑な形になってしまうのである。
そこで、関数hの具体的な形を求めることなくfの最大(あるいは最小)にするx
1、、、x
nを求めようとするのがラグランジュの未定乗数法というものである。
まず、正解のx
1,,,,,x
nがわかっているとする。
すなわち、g(x
1,,,,,x
n)=0 を満たし、なおかつ f(x
1,,,,,x
n)を最大(あるいは最小)にするx
1,,,,,x
nがわかっているとする。
このとき、x
1,,,,,x
nは、上の f と g の式以外に、どんな式を満たす性質があるか検討してみよう。
関数gを考え、各xを正解のxから適当にずらす。x
i→η
i すべてを自由にずらすと、拘束条件g=0からはずれてしまうので、i=1〜n-1までを自由にとり、η
nで調整する。すなわちη
nはη
1〜η
n-1の関数である。
ηが微小であれば
となるが、
なので
が成り立つ。
η
nだけ特別なので、これを取り出して
変形して
となる。
さて、同じηをつかってfを正解のx
1,,,,,x
nからずらすと、fが極値をとっているならば、各ηが十分に小さければ
すなわち
が成り立つはずである。
η
nの式を代入して
ここで
とおくと
少し変形すると
η
i(i=1〜n-1)は小さい値であるが、自由に独立に取れるので、これが0であるためには各項が0である必要がある。
したがって、fの極値を求めるには、まずλを求めて、次にi=1〜n-1までの下の式を求めればよい。
ところで、この式でi=nの場合も検討して見ると
となるので、実はi=1〜nで
が成立する。
i=1〜nのn個の式があり、求めるものがx
1、x
2、、、x
n-1、λのn個であるので、これは一般に解くことが出来る。。
その後、x
1、x
2、、、x
n-1を使って
からx
nを導いて、x
1、x
2、、、x
nからfを求めると、それが極値となる。
これは
というn+1個の式を連立させて、x
1、x
2、、、x
n、λというn+1個の数を求めることになる。
ところで
は
にほかならないので、対称性よく
というn+1個の式を連立させて、x
1、x
2、、、x
n、λというn+1個の数を求めよ、という問題に書く直すことが出来る。
この連立方程式を解くことで、拘束条件g(x
1,,,x
n)=0のもとで、関数f(x
1,,,x
n)の最大値(とλ)を求める方法を、ラグランジュの未定乗数法という。
λのことを未定乗数という。
問題 周囲の長さが1mの長方形で、面積を最大にするものはどういう長方形か?
辺の長さをa,bとすると、面積はab、周囲の長さは2(a+b)であるから、2(a+b)=1という条件でabを最大にするようなa,bを求めればよい。
であるから、以下の連立方程式を解く。
微分して
であるから
となり
これから
である。これが面積を最大とする辺の長さである。(つまり正方形が面積を最大にする。)