HOME .二変数[(1),(2)] 2.三変数一条件式二条件式] 3.多変数因関数未定乗数] 4.例題123] 5.文献

多変数関数の極値とラグランジュの未定乗数法

変分法におけるラグランジュの未定乗数法を解りやすく説明します。統計力学では必須の手法です。

1.二変数関数の条件つき極値

簡単に説明するために、まず二変数の関数f(x,y)を取り上げます。

)因関数定理による解法

.理論

 変数x,yの関数f(x,y)が存在するとする。
 そのとき、

なる関係式[これを条件式と言う]の制約の基で、関数f(x,y)の極値を求める問題を考える。

 今、点0=(x0,y0においてf(x0,y0が、極値f(x0,y0)=α0を取ると仮定する。
 さらに、P0において(∂φ/∂x)、(∂φ/∂y)のうち少なくとも1つ以上が0でないとする。[すべてがゼロなら後で説明する勾配ベクトルが定義できない特異点になってしまうのでこの仮定は必要です。]
 例えば点P0=(x0,y0)において(∂φ/∂x)≠0とすれば、因関数定理により(1)からP0の近傍で

となる Ψ(y) が定まる。
 これをf(x,y)に代入すれば、ここでの問題は

の様な一つの変数の関数F(y)の極値を求めることに還元される。
 そのとき、極値の必要条件は

であるが、与えられた関数f、φでもって(3)式を変形すると

が得られる。
 上記(4)式は行列式で表すと

と書ける。この形は変数の数が増えたときには、特に見通しが良いので今後利用する。
 
 (4’)式は 二変数・一条件式の場合 ですが、 三変数・二条件式の場合 が、2.(2)3.[補足説明2]の(9)式です。また、 n変数・p条件式の場合 が、3.(1)の(10)式です。

 以上をまとめると、f(x,y)が極値を取る点P0=(x0,y0)は、(1)式と(4)式を同時に満足する点です

すなわち、上記の(1)式(4)式変数(x,y)連立方程式と見なして解けば、その答え(x0,y0)が f(x,y) が極値をとる点です。
 この点点(x0,y0)を f(x,y) に代入すれば極値の値 f(x0,y0)=α0 が求まる。

補足説明1
 (4)式は極値を取るための必要条件ではあるが、十分条件ではない。この条件式だけでは点P0=(x0,y0)は停留点(例えばf(x)=x3のx0=0の点)であったり、鞍点(例えばf(x)=xyのx0=0,y0=0の点)である可能性がある。
 その簡単な例を1.(1)3.の具体例の図で示すと、点(−1,0)のようなものです。

 

.具体例

 前節の説明だけでは何のことか解らないので例で説明します。

 条件式 φ(x,y)=0 が 2−2y−1=0 である場合、この制約条件の下で関数 f(x,y)=−(x−1)2−(y−2)2 の 極値α0 と 極値を取る点(x0,y0 を求める。

 この例について前節の(1)式(4)式を計算すると

が得られる。これらを(1’)に代入するとf(x,y)が極値を取る点P0の座標(x0,y0)として

が得られる。
 これらの座標値をf(x,y)に代入すると、それらの点(x0,y0)での 極値α0=−1.25 または 停留値α0=−8 が得られる。

 

.具体例の幾何学的解釈

 上記の具体例を図の上で説明する。条件式 x2−2y−1=0 → y=0.5x2−0.5 と 関数 f(x,y)≡z=−(x−1)2−(y−2)2 のグラフを三次元座標上で幾何学的に表示すると下図のようになる。
 条件式 y=x2−0.5 はz=0の(x,y)平面上の二次関数の曲線を表し、関数 z≡f(x,y) は三次元(x,y,z)空間内の一つの曲面を表す。

 条件式φ(x,y)=0のの制約下で関数f(x,y)の極値を求める問題は、xy平面上の曲線y=0.5x2−0.5を曲面z=−(x−1)2−(y−2)2上に射影したときの軌跡(図中の青線)に沿って点(x,y,z)を動かしたときにf(x,y)≡zが極値を取るところを探すことと同じです。

 これを条件式 y=0.5x2−0.5曲線と曲面 z=−(x−1)2−(y−2)2等高線の関係で示すと、極値をとる座標点(x0,y0)を探す問題とは下図の様に曲面z≡f(x,y)の等高線がφ(x,y)=0の曲線に接する点を探すことと同じです。
 接点において関数f(x,y)が条件式φ(x,y)=0の制限の下で極値を取ることは、等高線の意味を考えると明らかでしょう。

 前項の例では、 点(2,1.5) において等高線が条件式曲線に接しており、且つその近傍では等高線は条件式曲線を境にして同一側にあるので極大点(このばあい最大点となる。一方、 点(-1,0) では等高線が条件式曲線に接してはいるが、その近傍で等高線は条件式曲線の一方側から他方側へ変化しているので停留点となる。

 

HOME 二変数(1),(2)] 2.三変数一条件式二条件式] 3.多変数因関数未定乗数] 4.例題123] 5.文献

(2)ラグランジュの未定乗数法による解法

.曲面の等高線と勾配ベクトル

 前節1.(1)3.の図を検討すると前節1.(1)1.で得られた(4)式の意味が明らかになる。
 三次元の曲面z=f(x,y)=−(x−1)2−(y−2)2

に対して

の様な全微分が定義できる。このとき

完全微分方程式と言うが、その意味はdzがゼロになる方向(dx,dy)が存在し、その方向の軌跡を定めるものです。すなわち曲面z=f(x,y)等高線を定める方程式です。そして完全微分方程式中の(dx,dy)は等高線に沿った微少線分を意味する。
 この当たりは別稿「絶対温度とは何か(積分因子とは何か)」5.(2)3.で説明しましたので、そこを復習して下さい。

 このとき、 (∂f/∂x,∂f/∂y) は二次元ベクトルの成分表示と見なせる。そして

は二つのベクトル (dx,dy) と (∂f/∂x,∂f/∂y) が等高線を記した二次元平面上で直交している事を表す。なぜなら、成分表示した二つのベクトルの内積がゼロなら二つのベクトルが直交しているからです。
 このことは、別稿「ベクトルの内積と外積の成分表示」1.(5)1.で説明した。

 このとき (∂f/∂x,∂f/∂y) は曲面 z≡f(x,y) の点(x,y)における勾配を表すベクトルとなる。これはベクトル解析で言うところの、スカラー関数f(x,y)の grad f =∇f のことであり、勾配を表すベクトル (∂f/∂x,∂f/∂y) は等高線の線分ベクトル(dx,dy)に直交する。そして勾配ベクトルはzが大きくなる方向を向いている
 つまり等高線に直交する方向が勾配がもっとも大きくなる方向であり、 (∂f/∂x,∂f/∂y) はその方向を表すベクトルの成分表示です。
 そのとき勾配の大きさは

で表される。
 この当たりは適当なベクトル解析の本を参照されたし。

 ここまでは、極値を求める関数 f(x,y) についてのものであったが、条件式

についても同様な事が言える。この式は三次元空間での曲面を表す関数 z=φ(x,y)=x2−2y−1 の高さ z=0 の等高線と見なせる。

 そのため、関数f(x,y)と同様に (∂φ/∂x,∂φ/∂y) は曲面 z=φ(x,y) の点(x,y)における勾配を表すベクトルとなる。
 (∂φ/∂x,∂φ/∂y) は勾配が最大の方向を表し、その絶対値

が勾配の大きさを表す。

 

.ラグランジュの未定乗数の導入

 前項の説明から明らかなように、1.(1)1.で求めた(4)式二つの曲面 z=f(x,y)  z=φ(x,y) の点(x0,y0)に於ける勾配を表す二つの二次元ベクトルの方向が平行になることを表している
 実際、1.(1)2.の具体例では (2,1.5) と (-1,0) の二点で二つの関数曲面の等高線は互いに接していた。そのため、当然のことながら等高線と垂直な方向を示す二つのベクトル (∂φ/∂x,∂φ/∂y) と (∂f/∂x,∂f/∂y) は平行となる。同じ方向を向く場合と真反対を向く場合があるが平行になることは確かです。
 そのとき、 (2,1.5) と (-1,0) の二点に於ける二つの曲面の勾配の大きさ

は一般に異なっており、 (∂φ/∂x,∂φ/∂y) と (∂f/∂x,∂f/∂y) のそれぞれの成分の比例関係が言えるだけです。1.(1)1.で求めた(4)式はそのことを表している。
 (4)式において

と置いて、新しい未定乗数λを導入すれば、−λの絶対値は二つの勾配ベクトルの大きさの比

を表している。(5)式のλの前に負符号を付けているのは下記(6)式のλの前が+になるようにするためで特に意味はない。このように置くと二つのベクトルは、−λ>0なら同じ方向を、−λ<0ならば真反対の方向を向いていることになる。

 (5)式を変形すれば

となる。

 すなわち、条件式(1)式(6)式を三つの未知数(x,y,λ)に対する連立方程式と見なして解く。

 連立方程式の解(x0,y0,λ)の内(x0,y0は条件式(1)の制約下で関数f(x,y)が極値を取る座標であり、−λの絶対値は前節で説明した二つの曲面z=f(x,y)z=φ(x,y)の点(x0,y0)に於ける勾配ベクトルの大きさの比を表す。
 極値の値α0は(x0,y0)を f(x,y) に代入すれば求まる。すなわち α0=f(x0,y0 となる。
 
 この方法をラグランジュの未定乗数法という。式中のλ未定乗数なのですが、連立方程式を解くことにより最終的に決定できることに注意されたし。

 

.ラグランジュの未定乗数法の具体例

 1.(1)2.の具体例をラグランジュの未定乗数法で解いてみる。
 (1)式(6)式より




となり、これらの 点(2,1.5) と (-1,0) をf(x0,y0に代入すると 極値-1.25 と 停留値-8 が得られる。
 すなわち、1.(1)の“因関数定理による方法”と同じ結論が得られる。

補足説明1
 変数の数が少ない場合には、ラグランジュの未定乗数法による計算が因関数定理による方法に比較して、特に簡単というわけではない。しかし、変数の数が多くなるとこの方法の威力が見えてきます。特に変数の数が無限個になった場合は、ラグランジュの未定乗数法の独壇場です。
 その当たりは3.(2)[補足説明4]で確認します。

補足説明2
 ここで述べるラグランジュの未定乗数法は下記のように表現される場合もある。
 束縛条件g(x,y)=0のもとで、f(x,y)が点(x0,y0)で極値を持つとする。ラグランジュの未定乗数λとして

とおく。
 点(x0,y0)で (∂φ/∂x) と (∂φ/∂y) の内で少なくとも1つ以上が0でないならば、λが存在して点(x0,y0)で

が成り立つ。
 つまり、3変数(x,y,λ)に対する関数F(x,y,λ)条件無しの極値問題になる。

 

.未定乗数λの意味

 二つの曲面z=f(x,y)z=φ(x,y)の勾配ベクトルの分布を図示すると前述の関係を確かめることができる。
例題で用いた曲面 z=f(x,y)=−(x−1)2−(y−2)2 の勾配ベクトルの分布は

となる。
 一方、曲面 z=φ(x,y)=x2−2y−1 の勾配ベクトルの分布は

となる。
 曲面 z=f(x,y) と z=φ(x,y) の勾配ベクトルの分布を重ね合わせて表示すると

となる。この図だけでは解りにくいが、1.(1)3.の図

と比較される見やすい。
 上図の 点(2,1.5) において二つの勾配ベクトルは平行だが反対向き(−λ=−0.5<0だから)となり、その長さの比は0.5となる。つまりこのλは 極値-1.25 を与える点で互いに反対向きを向いた二つの勾配ベクトルの長さの比を与える。
また 点(-1,0) において二つの勾配ベクトルは平行だが反対向き(−λ=−2<0だから)となり、その長さの比は2となる。つまりこのλは 停留値-8 を与える点で互いに反対向きを向いた二つの勾配ベクトルの長さの比を与える。
 
 上記以外の点では両関数の勾配ベクトルの方向が平行になる事は無いことに注意されたし。

 

HOME 二変数(1)(2)] 2.三変数[一条件式、二条件式] 3.多変数因関数未定乗数] 4.例題123] 5.文献

2.三変数関数の条件つき極値(ラグランジュの未定乗数法による)

 一般的な多変数関数の極値問題の説明に入る前に、三変数関数の条件つき極値問題についてラグランジュの未定乗数法の意味をもう一度確認します。

)条件式が一つの場合のラグランジュ未定乗数法

.理論

 変数x,y,zの関数f(x,y,z)が存在するとする。
 そのとき、

なる関係式[一条件式]の制約の基で、関数f(x,y,z)の極値を求める問題を考える。

 関数f(x,y,z)に於いて変数(x,y,z)を定めるとf(x,y,z)はある値をとる。変数(x,y,z)を変化させると、三次元座標(x,y,z)の各点にf(x,y,z)の値が連続的に分布することになる。
 この値を表すために4次元目の座標軸を取ることができればよいのですが、三次元空間に住む我々には不可能です。図示することはできないが、三次元空間の各点(x,y,z)に付随する数値の集まりで表現することはできる。

 このとき、fの取る値としてある一つの値α1が定まったとする。そのときf(x,y,z)=α1は三次元空間の中の一つの曲面を定める式となる。つまり、三次元空間の中でf(x,y,z)の値がα1となる点(x,y,z)を繋いでゆけば、それは三次元空間の中の1つの曲面を構成する。
 αをα2=α1+Δα、α3=α2+Δα、α4=α3+Δα、・・・・・と変化させるとf(x,y,z)=α (i=1,2,3,・・・・)はちょうどタマネギの皮が重なるように、次々と隣り合った曲面を構成する。
 これらの曲面群はちょうど二次元空間に於ける等高線に相当する。つまり、ある一定のαiに関する曲面を三次元空間に於ける一つの等高曲面であると見なせる。

 ベクトル解析で習うように、grad f=∇f 、すなわち

は、上記の等高曲面に垂直な三次元ベクトルの成分表示です。そのベクトルの大きさは、その方向でのαの変化率(二次元に於ける曲面の勾配に相当)に比例する。つまり等高曲面が密に並んでいるとき大きく、疎らなときに小さくなる。このベクトルも三次元に於ける勾配ベクトルと呼ぶことにしよう。
 この当たりは別稿「保存力」4.で説明した、三次元空間での ポテンシャルV−grad V =−∇V=F で定義される力のベクトルFの関係と同じです。ただし、そこでは力の方向ポテンシャル値が減少する方向を向くように負符号をgradの前に付けている。

 以上の話は、極値を求める関数 f(x,y,z) についてのものでしたが、条件式

についても同様な事が言える。
 φ(x,y,z) は三次元空間に連続的に分布する数値βの分布の様子を表しており、φ(x,y,z)=0は、等高曲面を表す関数の集まりβ=φ(x,y,z)の中の、高さβ=0等高曲面と見なすことができる。そして、等高曲面上の各点において、その曲面に垂直な勾配ベクトル

が存在する。

 前章の議論を振り返れば明らかなように、条件式(1)の制約のもとで関数f(x,y,z)の極値を求める問題は、前記の等高曲面φ(x,y,z)=0接している等高曲面f(x,y,z)=αを求める事と同じです。その接する点(x0,y0,z0において関数f(x,y,z)は極値αiを取る。

 このことを数式で表すと次のようになる。関数 f(x,y,z) が極値αiを取る点(x0,y0,z0において等高曲面 f(x,y,z)=αi と等高曲面 φ(x,y,z)=0 が接しているということは、それぞれの等高曲面に垂直なそれぞれの勾配ベクトルの方向が平行であると言うことだから

が成り立つ。
 このとき (∂φ/∂x),(∂φ/∂y),(∂φ/∂z) のうち少なくとも1つ以上がゼロでないことが必要です。すべてがゼロなら勾配ベクトルが存在しない特異点となる。
 この場合もλの前に負符号をつけたのは(3)式のλの前が+になるようにしたいためで、特に意味はありません。最終的に得られるλの解釈が変わるだけです。
 この式は4変数(x,y,z,λ)の連立方程式

と等価です。

 条件式(1)式(3)式を併せた4式

を、4変数(x,y,z,λ)連立方程式と見なして解けばよい。
 
 その解(x0,y0,z0が関数 f(x,y,z) が極値を取る点であり、−λは、その点での二つの勾配ベクトルの大きさの比を与える。
 極値αi(x0,y0,z0を関数f(x,y,z)に代入すれば直ちに得られる。

(3)式を線形代数学に於ける列ベクトルで表現すると

となる。
 これは、まさに(x0,y0,z0において二つの勾配ベクトル grad f =∇f と grad φ =∇φ が平行で、その大きさの比が|−λ|となることを示している。

 

.具体例

 以下、具体的な例を用いて説明する。

 条件式 φ(x,y,z)=0 として 2−y−3z+7=0 を考える。
 この制約条件の下で関数 f(x,y,z)=(x−3)2+(y+2)2+z2 の極値αiと極値を取る点(x0,y0,z0を求める。

 条件式φ(x,y,z)=02−y−3z+7=0 は下図の様な一つの曲面を表す。

 このとき、この関数曲面上の点(x,y,z)に於ける勾配ベクトル

となる。そのとき、この勾配ベクトルは上図の曲面に垂直であることを忘れないで下さい。

一方、 f(x,y,z)=(x−3)2+(y+2)2+z2 は (3,-2,0) を中心とした同心球面上で同一の値をとる関数を表している。その様子を等高曲面 f(x,y,z)=α の集合で図示すると下図の様になる。

それぞれの曲面のα値が図中に示してある。
 このとき点(x,y,z)に於ける勾配ベクトル

となる。そのとき、この勾配ベクトルは上図の曲面に垂直です。

 連立方程式(1)、(3)式はそれぞれ

に置き換わる。(3’)式を解いて

が得られる。これを(1’)式に代入するとλの値として

が得られる。実数解は一つしかないのでf(x,y,z)はただ一点で極値を取る。
 実数解λ=2を前記の解(x,y,z)に代入すると、極値を取る点(二つの曲面が接する点)の座標(x0,y0,z0として (1,-1,3) が得られる。この座標値を f(x,y,z)=(x−3)2+(y+2)2+z2 に代入すれば 極値αi=14 が得られる。

 座標 (1,-1,3) は、条件関数 x2−y−3z+7=0 が定める曲面に、関数 f(x,y,z)=(x−3)2+(y+2)2+z2 の一つの等高曲面が接している点であることが図から読み取れる。
 そして、接している等高曲面の高度を表すパラメーターの値 αi=14 が求めるべき極値(この例では最小値)です。
 最小値である事は、αが14よりも大きくなると関数の等高曲面f(x,y,z)=α条件関数曲面φ(x,y,z)=0が交わる領域(一つの閉曲線となる)が生じてきますが、その交線上でのα値はすべて14より大きくなることから明らかです。

 

.未定乗数λの意味

 二つの関数 α=f(x,y,z) と β=φ(x,y,z) の勾配ベクトルの分布を図示して前述の関係を確かめてみる。
関数 f(x,y,z)=(x−3)2+(y+2)2+z2 の勾配ベクトル (2(x-3),2(y+2),2z) の分布は

となる。
 一方、関数 φ(x,y,z)=x2−y−3z+7 の等高曲面の分布の様子は

となる。図中の数値は等高曲面 2−y−3z+7=β の β値 の変化を示している。
 上図から読み取れる様に、条件関数 2−y−3z+7 の勾配ベクトル (2x,-1,-3) の分布は

となる。
 上図は関数 φ(x,y,z)=0 の曲面上の勾配ベクトルを知るために関数 φ(x,y,z)=β の様々なβ値についての曲面も利用したが、実際に必要なのは関数 φ(x,y,z)=0 の曲面だけである事を忘れないで下さい。
 このことは、1.章で説明した二変数条件式 φ(x,y)=0 は、様々な高さ(=z)の等高線を表す φ(x,y)=z の内で、実際に必要なのは関数 φ(x,y)=0 の等高線(本章の等高曲面に相当)だけであったことと同じです。
 
 二つの勾配ベクトル図の 点(1,-1,3) に於ける勾配ベクトルは (-4,2,6) と (2,-1,-3) になる。つまり関数 φ(x,y,z)=0 の曲面は、この点においてのみ関数 f(x,y,z)=α の関数曲面に接しており、しかも2つの曲面の点(1,-1,3) に於ける勾配ベクトルは、互いに平行だか反対向き(−λ=−2<0だから)となり、その長さの比は 2 となっていることを読み取ってください。そして、そのとき接する関数 f(x,y,z)=α のα値は 14 の値の関数曲面になります。

 極値を求める関数fが4変数、5変数、・・・・となった場合、4次元、5次元、・・・の空間の 関数曲面f(x,y,z,・・・・)=α を想像するのは難しいが、基本的に3変数の場合の考え方と同じです。

 

HOME 二変数(1)(2)] 2.三変数一条件式、二条件式] 3.多変数因関数未定乗数] 4.例題123] 5.文献

(2)条件式が二つの場合のラグランジュ未定乗数法

.等高曲面と勾配ベクトル

 変数x,y,zが

なる二つの関係式[二条件式]で制約されているときに、関数f(x,y,z)の極値を求める問題を考える。

 関数 f(x,y,z) に於いて変数(x,y,z)を定めると f(x,y,z) はある値をとる。変数(x,y,z)を変化させると、三次元座標(x,y,z)の各点に f(x,y,z) の値が連続的に分布することになる。つまり、三次元空間の各点(x,y,z)に付随する数値の集まりで表現することができる。
 このとき、fの取る値としてある一つの値α1が定まったとする。そのときf(x,y,z)=α1は三次元空間の中の一つの曲面を定める式となる。
 他のα値の場合も同様で、α2=α1+Δα、α3=α2+Δα、α4=α3+Δα、・・・・・と変化させたときの f(x,y,z)=α (i=1,2,3,・・・・)はちょうどタマネギの皮が重なるように、次々と重なる曲面を構成する。ある一定のαiに関して一つの等高曲面を構成する。

 ベクトル解析で習うように、 grad f=∇f 、すなわち

は、上記の等高曲面に垂直な一つのベクトルです。そのベクトルの大きさは、その方向での α の変化率(二次元に於ける曲面の勾配に相当)に比例する。つまり等高曲面が密に並んでいるとき大きく、疎らに並んでいるときに小さくなる。このベクトルも三次元に於ける勾配ベクトルと呼ぶことにしよう。
 この当たりは別稿「保存力」4.で説明した、三次元空間での ポテンシャルV と −grad V =−∇V=F で定義される力のベクトルFの関係と同じです。

 条件式 φ1(x,y,z)=0 と φ2(x,y,z)=0 についても同様な事が言える。
 φ1(x,y,z) は三次元空間に連続的に分布する数値β1の分布の様子を表しており、 φ1(x,y,z)=0 は等高曲面を表す関数の集まり β1=φ1(x,y,z) の高さ β1=0 の等高曲面と見なすことができる。
 φ2(x,y,z) も同様に三次元空間に連続的に分布する数値β2の分布の様子を表しており、 φ2(x,y,z)=0 は等高曲面を表す関数の集まり β2=φ2(x,y,z) の高さ β2=0 の等高曲面と見なすことができる。
 等高曲面上の各点において、それぞれの曲面に垂直な勾配ベクトルは、それぞれ

となる。このときそれぞれの勾配ベクトルは、それぞれの等高曲面に垂直だから、二つの等高曲面が交わったところにできる曲線条件曲線と呼ぶことにする)に対しても垂直になる

 

.ラグランジュの未定乗数法

 二つの条件式 φ1(x,y,z)=0 と φ2(x,y,z)=0 を満たすということは、変数(x,y,z)の動きが二つの等高曲面 φ1(x,y,z)=0 と φ2(x,y,z)=0 が交わる所に生じる一つの曲線(条件曲線)上に制約される事を示している。
 だから二つの条件式のもとで関数 f(x,y,z) の極値を求めることは、αを変化させることに依って得られる様々な 等高曲面f(x,y,z)=α の中で、上記の 条件曲線 に接するものを選ぶ事と同じです。そのようにして選ばれた等高曲面のα値が、求める極値であり、その接点の座標(x0,y0,z0が極値を取る点です。

 このとき、極値を取る点において(8)式

が成立するのは明らかです。なぜなら、等高曲面f(x,y,z)=αi は前項で説明した条件曲線に接しているので、その接点において(6)式、(7)式で表される三つの勾配ベクトルはすべて条件曲線垂直になる。つまり等高曲面 f(x,y,z)=α と 条件曲線 が互いに接している所の条件曲線線分に垂直な平面内に存在する。そのため−λ1−λ2を調整すれば必ず(8)式が成り立つようにできる。なぜなら

なのですから。つまり上記の左側は三つの勾配ベクトルが一次従属の関係(一つの平面内に存在する)である事を示しており、それと同等な右側の式がもともと成り立っていた式なのですから。

 すなわち、条件式(5)式の2個(8)式の3個を併せた5個の式を、5個の未知数(x,y,z,λ1,λ2に対する連立方程式と見なして解けばよい。

 そのときの解(x0,y0,z0が関数f(x,y,z)極値を取る座標であり、それを代入したf(x0,y0,z0の値が極値αiです。

 

.未定定数λ1、λ2の意味

 [ベクトル(6)][二つのベクトル(7)]一次結合で表現できる。そのとき−λ1−λ2は(7)式の二つのベクトルの一次結合が(6)式のベクトルに一致するようにするために、二つのベクトルの大きさを調整する値を表している。これらは未定の乗数ですが、方程式を解くことで最終的にその値を決定できる。
 以下で、その事に関する幾つかの補足をしておきます。

補足説明1
 条件関数が3個ある場合は、3個の条件関数が定める曲面の交わる点のみが変数(x,y,z)の満足する範囲となります。その場合一般的に交差領域は点の集合になってしまいますので極値問題は成立しません。 だから、条件関数の数は必ず変数の数より少なくなければならない

補足説明2
 (8)式のように、条件曲線線分に垂直な平面内にあるベクトル(6)が、同じくその平面内にある二つのベクトル(7)の一次結合で表されるためには、(7)の二つのベクトルが平行(つまり同じ方向か真反対を向く)になっていてはいけません
 その為には、 1.(1)1.の式変形(4)→(4’) と (4)式の意味を説明した1.(2)2. を復習されると了解できますように、二つの条件関数φ1とφ2の(x,y),(x,z)または(y,z)に関する偏微分係数から作られる行列式

の内の少なくとも1つ以上が0でないことが必要です。このことは
 なぜなら、もしこれらのすべてが0ならば

となるが、これらは、

と変形できます。この三つの式から

が得られますが、これは二つのベクトル(7)が平行になることを示しているからです。
 (7)式の二つのベクトルが平行になる場合には、一般的にベクトル(6)を二つのベクトル(7)の一次結合では表せなくなり、未定乗数法は使えません。このことは4.(1)2.の例で説明します。
 そのため、前記の三つの二行二列の行列式の内の少なくとも1つ以上が0でないことが必要です。これは次に示す行列

階数(rank)が 2 であることを意味します。行列の階数(rank)につきましては別稿「行列式と行列」2.(4)2.を復習して下さい。
 また、ベクトル(6)が二つのベクトル(7)の一次結合で表される事は、次に示す行列

rankも 2 で、この行列の三行三列の行列式の値が0になること、すなわち

を意味します。2次、3次の行列式の展開法はこちらを参照
 
 ここはなかなか解りにくい所ですので補足します。
 ベクトル(6)が二つのベクトル(7)の一次結合で表されるということは、先ほどの(8)式

が成り立つ事です。このことは、取りも直さず未知数(X,Y,Z)の三元連立同次方程式

が(X,Y,Z)=(0,0,0)以外の解、すなわち

を持つための必要十分条件である(9)式が成り立つことです。
 これは連立1次同次方程式に付いての数学定理でして、その証明は別稿「行列式と行列」1.(6)2.で説明しています。

補足説明3
 最後に 因関数定理で解く方法 について補足しておきます。
 
 本節の(9)式と、二個の条件式(5)を併せた三つの式

を 3個の未知数(x,y,z) の 三元連立方程式 として解いても極値を取る座標(x0,y0,z0を求めることができます。これが 三変数・二条件式 の極値問題を 因関数定理で解く方法 です。その解法の詳細については、後ほど3.(1)4.で説明します。
 
 1.(1)1.で述べた 二変数・一条件式 の極値問題を 因関数定理で解く方法 についても、3.(1)2.でもう一度確認します。
 
 2.(1)で説明した 三変数・一条件式 の極値問題を 因関数定理で解く方法 については、3.(1)3.で詳しく説明します。
 
 さらに一般的な n変数・p条件式 の極値問題を 因関数定理で解く方法 は、3.(1)1.で説明します。

 上記[補足説明2][補足説明3]に関しては3.(2)2.[補足説明3]、[補足説明4]も参照してください。

 

HOME 二変数(1)(2)] 2.三変数一条件式二条件式] 3.多変数[因関数、未定乗数] 4.例題123] 5.文献

3.多変数関数の条件つき極値

 多変数関数条件つき極値問題を説明する。ただし、変数の数が3個以上になると幾何学的に理解するのは極めて難しくなりますので、3変数までの幾何学的解釈を拡張する必要があります。
 この第3章の式図は添字を確認しやすくする為に、これまでより少し拡大して表示します。

)因関数定理による解法

.n変数・p条件式の場合

 n個の変数(x1,x2,・・・,xnが変化できる領域が p個 の関数

で制約[p個の条件式]されているときに、関数 f(x1,x2,・・・,xn の極値を求める問題を考える。

 今仮に点 0=(x10,x20,・・・,xn0 において関数 f(x1,x2,・・・,xn が極値を取るとする。
 もしも0の近傍でφ1,φ2,・・・φp が互いに独立で、例えば以下の行列式についての条件

が成り立つとする。
 ここで p<n なのですが、このφ1,φ2,・・・φp1,x2,・・・,xpは必ずしも n個 の添え字の最初の p個 になるとは限らないが、添え字の番号を付け替えれば最初のp個とする事ができる
 条件式の数pは変数の個数nよりも小さくて p<n でなければならないのは、2.(2)3.[補足説明1]で注意した様に極値問題として成立しなくなるからです。

 このとき、(1)式1,x2,・・・,xpについて解くことができて、1,x2,・・・,xpをその他の変数p+1,xp+2,・・・,xnの関数として表せる。例えば参考文献1.の定理73などを参照。
  つまり

なる関数ψ1,ψ2,・・・,ψpが定まる。
 そのため、極値を求める対象である関数 f(x1,x2,・・・,xn はp+1,xp+2,・・・,xnのみの関数となり

と書くことができる。
 そのとき極値必要条件

となり、(1)式の条件付き極値問題 は 条件無しの極値問題 に還元される。

 この必要条件 および φ ( i=1,2,・・・,p)の偏微分商(∂f/∂x)、(∂φ/∂x ( i=1,2,・・・,p 、 j=p+1,p+2,・・・,n)を用いて書き表すことができる。
 (5)式から(n−p)個の方程式

が得られる。
 式中の(∂xi/∂xj( i=1,2,・・・,p 、 j=p+1,p+2,・・・,n)は(1)式から求めることができる。すなわち因関数の定理[例えば参考文献1.の定理75]を用いると



が成り立つ。
 (6)、(7)式をあわせたn個の方程式並べ替える



となる。
 これを行列列ベクトルの積で表現すると


ここで、線形代数学における定理

 連立1次同次方程式

において正方行列のとき、この方程式がx=0以外の解を持つための必要十分条件は||=0である。
ただし||は行列から作られる行列式を意味する。
 
 この定理の証明はこちらの定理12、あるいは文献3の1.(5)2.1.(6)2.を参照。

を用いると、上記の (n−p)組の連立1次同次方程式(9)式 は、次の (n−p)個の行列式が0であることを示す(10)式 と等価です。



n次の行列式の展開法はこちらを参照行列式に対して成り立つ性質についてはこちらを参照

 すなわち 関数f(x1,x2,・・・,xn が極値を取る点 0=(x10,x20,・・・,xn0 は条件(2)式の下においてp個の(1)式(n-p)個の(10)式を併せたn個の連立方程式を満足しなければならない。
 これが関数 f(x1,x2,・・・,xn が点0=(x10,x20,・・・,xn0において極値を取るための必要条件です。





 この (1)式と(10)式を合わせたn個の連立方程式 を解いて得られるn個の解(x10,x20,・・・,xn0を 関数 f(x1,x2,・・・,xn に代入すれば極値が求まる。
 
 これが、n変数・p条件式の場合 の極値問題を 因関数定理の方法 で解くやり方です。

 以上の様な一般的な解法では解りにくいので、以下で変数の数が少ない場合を例に取って、上記の因関数定理の方法をもう一度解説する。

.二変数・一条件式

 これは1.(1)ですでに論じたものですが、独立変数と考えて上記(1)〜(10)式に相当するものを書くと

(5’)式と(1’)式より

(6’)と(7’)式を一緒にすると

これを行列・列ベクトル表示にすると

となる。
 (1’)式と(10’)式を未知数x,yの二元連立方程式として解くけば、関数f(x,y)が極値をとる座標(x,y)が得られる。
 上記の過程を1.(1)の記述と比較してみられたし。

 

.三変数・一条件式

 2.(1)ではラグランジュの未定乗数法で議論しましたが、ここで 因関数定理による解法を説明します。独立変数y,zとすると上記(1)〜(10)式に相当するものは

(5”)式と(1”)式より

(6”)と(7”)を一緒にして並べ替えると

これを行列・列ベクトル表示にすると


となる。
 (1”)の1式と(10”)の2式を合わせた3式を未知数(x,y,z)の三元連立方程式と見なして解けば、関数f(x,y,z)が極値をとる座標(x,y,z)が得られる。

 2.(1)2.では具体例をラグランジュ未定乗数法で解いたが、ここで説明した因関数定理の方法でもう一度解いてみる。f(x,y,z)=(x−3)2+(y+2)2+z2 だから、(1”),(10”)式はそれぞれ

となる。(b),(c)を(a)に代入して得られる xの三次方程式 を解くと

が得られる。
 実数解x=1を選ぶと極値を取る座標値として(x0,y0,z0)=(1,-1,3)が得られる。これをf(x,y,z) に代入すれば極値14が得られる。

 2.(1)2.ラグランジュ未定乗数法(3)or(3’)式と、こちらの因関数定理の方法の(10”)or(b)(c)式を比較すると、(10”)式の方が少し複雑になることが解る。
 変数や条件式の数が増えると 因関数定理の方法 は急速に複雑・困難になります。

 

.三変数・二条件式

 この場合の因関数定理による解法2.(2)3.[補足説明3]で注記はしておいたが、ここで詳細に説明します。
 独立変数として上記(1)〜(10)式に相当するものを改めて書いてみる。


(5’”)式と(1’”)式より

(6’”)と(7’”)を一緒にすると

これを行列・列ベクトル表示にすると


となる。
 (1’”)の2式と(10’”)の1式を合わせた3式を未知数(x,y,z)の三元連立方程式と見なして解く。その解がf(x,y,z)が極値を取る座標であり、それをf(x,y,z)に代入して得られる値がf(x,y,z)の極値です。

 

HOME 二変数(1)(2)] 2.三変数一条件式二条件式] 3.多変数因関数、未定乗数] 4.例題123] 5.文献

(2)ラグランジュの未定乗数法による解法

 前節では因関数定理による解法を説明したが、(10)式は非常に複雑な形をしており解くことは一般的に困難であるばかりか不可能な事もある
 そこで他の解法、すなわち未定乗数λ1,λ2,・・・,λpを利用するラグラジュの未定乗数法を説明する。

.簡単な説明

 n個の変数(x1,x2,・・・,xnが変化できる領域がp個の関数

で制約[p個の条件式]されているときに、点0=(x10,x20,・・・,xn0において関数 f(x1,x2,・・・,xn が極値を取るとする。
 その場合には(1)式の全微分

となるときに、関数 f(x1,x2,・・・,xn全微分

でなければならない。
 この事の幾何学的な意味は次項3.(2)2.を参照。

 つまり、(12)式

の様に書けるが、これは(11)式を以下のように書き直した

式からの帰結です。つまり関数 f(x1,x2,・・・,xn が極値を取るためには(14)式の条件の下で(13)式が成り立たねばならない。

 (14)式の方程式に未定乗数λ1,λ2,・・・,λpを乗じて項別に加え、これと(13)式を加えれば


となる。
 このうち独立でない変数の微分dx1,dx2,・・・dxpの係数が0となるように上記のp個の未定乗数λ1,λ2,・・・,λpを決めるとする。すなわち

の様にλ1,λ2,・・・,λpを決めるのです。

 そうすれば(15)式には独立変数の微分dxp+1,dxp+2,・・・,dxnを含むものだけが残ることになる。すなわち

となる。ところが、dxp+1,dxp+2,・・・,dxnは独立変数の微分ですから任意の数です。よってこのうち一つを1、他を0にとることにより、結局(17)の各係数はことごとく0でなければならないことになる。すなわち

が成り立つ。

 結局、p個の条件関数(1)式と、n個の(16)式と(n-p)個の(18)式を併せた (n+p)個の方程式 を、 (n+p)個の未知数(x1,x2,・・・xn,λ1,λ2,・・・,λp に対する(n+p)元連立方程式と見なして解けばよい。




 その解 0=(x10,x20,・・・,xn0 において 関数 f(x1,x2,・・・,xn極値を取る。その極値の値は 解(x10,x20,・・・,xn0 を 関数 f(x1,x2,・・・,xn に代入することで求まる。

補足説明1
 (1)(16)(18)を併せたものの形から解るように、関数f(x1,x2,・・・,xn条件つき極値になるような座標(x1,x2,・・・,xnを決定する問題は、関数

(n+p)個の変数(x1,x2,・・・xn,λ1,λ2,・・・,λpの関数であると見なして、これをすべての変数について偏微分したものが0に等しい

として解く条件無しの極値問題と同じです。

補足説明2
 上記の方法に於いて、関数 および条件式φ1,φ2,・・・φp偏導動関数の存在を仮定するとともに、(16)式からλ1,λ2,・・・,λp決定できると仮定していたことに注意されたし。そのため偏導関数が定義できない点やλが決定できない点での極値の存在は考慮されていないのです。しかし、そのような特異点に極値が存在する可能性がある
 このことについては、4.(1)1.の例で取り上げる。
 
 また、ここでは必要条件のみ論じたのであって十分条件については議論されていない。そのため求めた極値座標0=(x10,x20,・・・,xn0に於いて、f(x1,x2,・・・,xn停留点鞍点のようなものになる可能性がある
 このことについて簡単な例を1.(1)3.ですでに説明した。
 
 本当は、この当たりの考察をさらに進めなければならないが、ここでは省略する。文献1.や2.をご覧ください。

 

.線形代数学の定理による説明

 前項の手法の幾何学的な意味を説明する。(13)(14)式を一緒にすると

となるが、これは1.(2)1.2.(2)1.で説明したのと同様に、n次元空間における(p+1)個のベクトル

のそれぞれが、次の線分ベクトル

と直交することを表している。

 このとき、上記の(p+1)個のベクトルから構成される(p+1行,n列)行列A

を考えると、この行列について次の線形代数学における定理が成り立つ。

 行列の階数が p(rank=p) ならば、の 行ベクトル の中に1次独立なものが 個 存在し、残りの行ベクトルはそれらの1次結合になる。
 列ベクトルについても同様なことが成り立つ。
 
 証明は文献2.の第5巻、あるいは文献3.第5章“行列”を参照]

 ところで、前節3.(1)1.で仮定した(2)式

は、行列のrankが  であることを示している。これはp個の勾配ベクトルがn次元空間内で独立であることを示している。つまり互いに同じ方向を向くことはなく、すべてバラバラの方向を向いている。
 この当たりは3次元空間における2.(3)3.[補足説明2]行列式の性質を参照。

 また、行列のrankが  であることはの任意の(p+1)行(p+1)列の行列式が0となる[前節の3.(1)1.の(10)式を見よ]ことを示している。そのため(p+1)個目のベクトル

は、p個のベクトル

一次結合となる。すなわち

である。これはn次元空間の 曲面f=α の勾配ベクトルが、n次元空間内の同一点での 曲面φ1=0,φ2=0,・・・φp=0 のp個の勾配ベクトルが張る部分空間に属していることを示している。この当たりは3次元空間における2.(2)2.行列式の性質を参照。よって以下の事が言える。

 p個の条件関数(1)式と、n個の(16)式と、(n+p)個の(18)式を併せた(n+p)個の方程式を、(n+p)個の未知数(x1,x2,・・・xn,λ1,λ2,・・・,λpに対する連立方程式と見なして解く。
 
 その解0=(x10,x20,・・・,xn0 において 関数 f(x1,x2,・・・,xn は極値を取る。
 極値の値は解(x10,x20,・・・,xn0 を 関数 f(x1,x2,・・・,xn に代入すれば求まる。

補足説明3
 3.(1)で仮定した(2)式は、(9)式を構成する線形一次方程式の行列の階数が p(rank=p) である事を表している。そのため(9)式の係数から構成される (p+1行,p+1列)行列式 はすべて 0 でなければならない。3.(1)1.で説明した 因関数定理の方法の(10)式 はまさにその事実を表している。
 これは2.(2)3.[補足説明2]でも説明したことです。

補足説明4
 因関数定理の方法の(10)式ラグランジュの未定乗数法の(16)(18)式 を比較したとき、(p+1行,p+1列)の行列式計算複雑さを考慮すると、後者の方程式を解く方が前者を解くより遙かに簡単です。
 前者の様にf(x1,x2,・・・,xnから与えられた束縛条件(1)を用いてp個の変数を消去すると極めて煩雑・複雑な条件式(10)になってしまう。
 後者の ラグランジュの未定乗数法 はその煩雑さをさける極めて手際の良い方法です。
 
 
 “因関数定理の方法”を三変数関数f(x,y,z)、一条件式φ(x,y,z)=0の場合で説明すると、f(x,y,z)は三次元空間内全体にわたって連続的な数値の分布を定めるものです。それに対して条件式φ(x,y,z)=0はφ(x,y,z)が三次元空間内全体にわたって連続的に定める数値の分布の中で、その数値が0の部分をつないだ一つの三次元曲面を定めます。
 だから関数f(x,y,z)の極値を条件式φ(x,y,z)=0の元で求める問題というのは、φ(x,y,z)=0が(三次元空間内に)定める三次元曲面上の位置(x,y,z)でのf(x,y,z)の値を計算して、その値が極値を取る場所を求めることです。当然、その極値は三次元曲面φ(x,y,z)=0の上でのどこかの点になります。
 つまり、因関数定理の方法は条件式曲面上の各点に於ける関数値fの変化の様子を解析する。

 一方、“ラグランジュの未定乗数法”極値を取る点において勾配ベクトルが満足しなければならない性質のみを利用している
 つまり、極値を取る位置とその極値の値を調べる関数f(x1,x2,・・・,xn)と、条件関数φ(x1,x2,・・・,xn)の勾配ベクトルの分布を、条件関数曲面φ(x1,x2,・・・,xn)=0の上で、比較してその方向の一致(反対向きも含めて)する位置を求めることで済ましている
 
 
 この両者の違いが、“因関数定理の方法”と比較して、“ラグランジュの未定乗数法”が簡単になる理由です。
 特に、変数の数が (x1,x2,・・・,xn)→(x1,x2,・・・,x,・・・・・) の様に無限大まで増えると“ラグランジュの未定乗数法”の独壇場になります。
 このことは別稿「統計力学におけるラグランジュの未定乗数法」3.〜4.などをご覧頂ければ納得して頂けると思います。
 
 
 ただし、関数f(x1,x2,・・・,xnや、条件関数φ(x1,x2,・・・,xn)=0が、勾配ベクトルが定義できない位置を含む関数である事はしばしばあります。その時にはラグランジュの未定乗数法は無力です。その様な場合には因関数定理の方法を用いなければ成りません。このことについては、4.(1)1.の例を参照して下さい。
 ラグランジュの未定乗数法には、このことに関連して3.(2)1.[補足説明2]で説明したような限界があることを忘れてはいけません。

補足説明5
 この稿は“ラグランジュの未定乗数法”を説明する為に作ったページなのですが、“因関数定理の方法”の説明が多くなってしまいました。
 そのため“ラグランジュの未定乗数法”の本質がなかなか見えにくいかも知れません。しかし、上記[補足説明3][補足説明4]をご覧頂ければ、“因関数定理の方法”を説明したのは無駄ではなかったと思います。

 

HOME 二変数(1)(2)] 2.三変数一条件式二条件式] 3.多変数因関数未定乗数] 4.例題[1,23] 5.文献

4.例題

)スミルノフ高等数学教程(第2巻§168の補足)

 ここで、 x,φy は、偏微分 (∂f/∂x),(∂φ/∂y) を、また ω’(x) は、変数xの導関数 (dω/dx) を意味することに注意。

.二変数条件式の偏導関数の存在

 ここは、3.(2)1.[補足説明2]に関係する。







 上図左側の z=y2−x3曲面 のグラフに於いて (x,y)=(0,0) の点では z=y2−x3曲面 の勾配ベクトルが定義できない。その点で曲面は水平なのですから。そのため、この例では“ラグランジュの未定乗数法”は使えません。
 このとき、3.(1)2.で説明した“因関数定理の方法”ならば求める事ができます。このことは実際に解いてみれば確認できます。

 

.三変数条件式の偏導関数の存在

 ここは2.(2)3.の[補足説明2]に関係する。



 

HOME 二変数(1)(2)] 2.三変数一条件式二条件式] 3.多変数因関数未定乗数] 4.例題1,2,3] 5.文献

(2)スミルノフ高等数学教程(第2巻§169の例)

 幾つかの計算例を挙げる。

例1


 

例2



 

例3




 

HOME 二変数(1)(2)] 2.三変数一条件式二条件式] 3.多変数因関数未定乗数] 4.例題12,3] 5.文献

(3)統計力学の例

 統計力学におけるラグランジュの未定乗数法の使用例です。別稿「統計力学におけるラグランジュの未定乗数法」で説明しています。そこでは特に変数がn個(N1,N2,・・・,N)の場合や、変数の数が無限個(N1,N2,・・・,N.・・・)の場合を説明していますので是非参照されて下さい。
 実際のところ、変数が無限個となる無限次元空間の関数に対する極値問題にも適用できるのです。
 同様な例として別稿「プランクの熱輻射法則」9.(1)3.も参照されたし。

 

HOME 二変数(1)(2)] 2.三変数一条件式二条件式] 3.多変数因関数未定乗数] 4.例題123] 5.文献

5.参考文献

このページは別稿で用いるために作りました。ここの内容は主に文献1.と2.に依存しています。

  1. 高木貞治著「解析概論」岩波書店(1968年刊)第7章とくに§82〜83、§89
     これが一番解りやすい。
  2. スミルノフ著 「スミルノフ高等数学教程 第2巻(原本T巻第二分冊)」共立出版(1969年刊)第5章 第16節
    および、第5巻(原本V巻第一分冊)第1章 第2節 §19
     これにも解りやすく丁寧に説明されています。
  3. 占部実、光藤富士男編「代数・幾何教科書」共立出版(1966年刊)第5章の定理4定理8の系
     これは私が大学1年のとき利用した教科書です。2020年3月にこの本の第4、5章を別稿「行列式と行列」として引用しています。この中に定理4定理8の系もあります。
     また第4章については単独のページとしても引用しています。 行列式の導入行列式行列式の性質余因数Cramerの公式行列式の積、等々・・・。
     本稿で使用した定理は線形代数学の教科書ならどれにでも載っていますので適当な本で探してみてください。 
  4. クーラン、ヒルベルト著「数理物理学の方法 1」東京図書(1972年刊)第4章の§1、§7、§9
     この本は、最初から読んでも難しくて役に立ちません。天才のあふれ出る着想や気付きを思いつくままにそのまま書き散らかした感じの本です。とても難解な本ですが、時々珠玉の様な明快解説があります。未定乗数法についても含蓄深い説明があります。
  5. 寺沢寛一編「自然科学者のための数学概論−応用編」岩波書店(1968年刊)C変分法の第1章§8
     この本だけから理解するのは難しいです。文献2の第5巻§19などと併せてお読みください。昔の学生は良く勧められましたが、数理物理のエッセンスだけを集めたような本で初学者には役に立ちません。
HOME 1.二変数(1)(2)] 2.三変数一条件式二条件式] 3.多変数因関数未定乗数] 4.例題123] 5.文献