ラグランジュの未定係数法 のバックアップ差分(No.5)

更新


  • 追加された行はこの色です。
  • 削除された行はこの色です。
[[量子力学Ⅰ]]

* 解きたい問題 [#f4d9cac4]

&math(f(x_1,x_2,\dots,x_n)); を、

&math(m); 個の拘束条件

 &math(g_1(x_1,x_2,\dots,x_n)=0); ~
 &math(g_2(x_1,x_2,\dots,x_n)=0); ~
 &math(\ \ \ \vdots); ~
 &math(g_m(x_1,x_2,\dots,x_n)=0); 

の下で最大化・最小化したい (ただし &math((m<n));)。
の下で最大化・最小化したい 。~
(ただし &math((m<n)); とする。さもないと拘束条件が多すぎて、それだけで点が定まってしまう。)

実際には拘束条件の下で &math(f); の ___停留点___ を探すことになる。


このような問題は ___ラグランジュの未定係数法___ と呼ばれる手法を使うと簡単に解ける。
このような問題は以下に説明する ___ラグランジュの未定係数法___ と呼ばれる手法を使うと簡単に解ける。

** キモ [#x9a84277]

「拘束条件下での停留点」とは、

&math(\bm x=(x_1,x_2,\dots,x_n)); を &math(n); 次元空間のベクトルにおいて
拘束条件を満たす点として、

「&math(\Delta\bm x); を拘束条件を破らない方向に取る限り」 

&math(f); の一次の変位量がゼロとなる: ~
 &math(\Delta f=\bm\nabla f\cdot\Delta\bm x=0); 

という意味である。

拘束条件を破るような方向へ動かしたときに &math(\Delta f\ne 0); となっても構わないところが
拘束条件付き停留点探しのキモである。

* ラグランジュの未定係数法 [#v1fe15da]

未定係数 &math(\lambda_i); を用いて

 &math(L(x_1,x_2,\dots,x_n)=f(x_1,x_2,\dots,x_n)-\sum_i \lambda_i g_i(x_1,x_2,\dots,x_n));

という関数を構成し、

 &math(\frac{\partial L}{\partial x_1}=\frac{\partial L}{\partial x_2}=\dots=\frac{\partial L}{\partial x_n}=0);

 &math(\frac{\partial L}{\partial \lambda_1}=\frac{\partial L}{\partial \lambda_2}=\dots=\frac{\partial L}{\partial \lambda_m}=0);

のすべての条件式を満たす点 &math(\bm x); およびその点における係数 &math(\lambda_i); を見つければ、
その点が停留点となる。

また逆に、全ての停留点に対して上記の条件式を満足する係数 &math(\lambda_i); が存在する。

すなわち、上の条件式は停留点であるための必要十分条件になっている。
すなわち、上の条件式はその点が停留点であるための必要十分条件になっている。
** 条件式の意味 [#h726f0a8]

&math(\lambda_i); での微分からは元の拘束条件が現れるのみであるのに対して、
&math(\lambda_i); での微分からは元の拘束条件が現れるのみである。

&math(x_j); での微分は、
一方、&math(x_j); での微分は、

 &math(\frac{\partial L}{\partial x_j}=\frac{\partial f}{\partial x_j}-\sum_i \lambda_i\frac{\partial g}{\partial x_j}=0);

となるから、&math(n); 本の条件をすべてまとめてベクトル形式とすれば、
となる。

そこで、&math(n); 本の条件をすべてまとめてベクトル形式とすれば、

 &math(\bm \nabla L=\bm \nabla f-\sum_i \lambda_i \bm \nabla g_i=\bm 0);

と書ける。これを変形すると、

 &math(\bm \nabla f=\sum_i \lambda_i \bm \nabla g_i);

となり、すなわち 
となり、すなわち両者を合わせれば、 

 &math(\bm \nabla f); が &math(\bm \nabla g_i); の一次結合で表せるような点が停留点である
 その点ですべての拘束条件が満たされており、~
 なおかつ &math(\bm \nabla f); が &math(\bm \nabla g_i); の一次結合で表せるような点が停留点である

と読める。

* 停留点の十分条件となっていること [#j4fbf759]

ラグランジュの未定係数法の条件式を満たす点 &math(\bm x); が必ず停留点となることは、
以下のように簡単に理解できる。

&math(\bm x); は拘束条件を満たすから、&math(\Delta \bm x); をすべての &math(g_i); 
の値を変化させない方向に取った時のみ、変位後の点も拘束条件を満たすことになる。
&math(\bm x); は拘束条件を満たすから、&math(\Delta \bm x); を「すべての &math(g_i); 
の値を変化させない方向」に取った時のみ、変位後の点も拘束条件を満たすことになる。

そのような &math(\Delta \bm x); に対しては、すべての &math(i); に対して
&math(\Delta g_i=\bm\nabla g_i\cdot \Delta\bm x=0); が成り立つ。

このことと条件式より、

&math(
\Delta f=\bm\nabla f\cdot\Delta\bm x=\sum_i \lambda_i\underbrace{\bm\nabla g_i\cdot\Delta\bm x}_{=\,0}=0
);

となり、実際に停留点となっていることを確認できる。
となり、条件を満たす点が必ず停留点となることを確認できる。


* 停留点の必要条件となっていること [#e0c73b69]

逆に、停留点であれば必ずラグランジュの未定係数法の条件式を満たす &math(\lambda_i); 
が存在するだろうか?
逆に、すべての停留点に対して条件式を満たす &math(\lambda_i); が存在するだろうか?

条件式: &math(\bm\nabla f=-\sum_i\lambda_i\bm\nabla g_i);
ある点 &math(x); が拘束条件下での停留点であるとすれば、
+ &math(x); は拘束条件を満たす
+ &math(x); を拘束条件を満たす方向へ動かしたときに &math(f); が変化しない

これは、停留点において &math(\bm\nabla f); が &math(\bm\nabla g_i);
の張る空間の元となっていることを主張している。
が成り立つが、この 2. は、
- &math(\Delta \bm x); がすべての &math(\bm\nabla g_i); に垂直なら、&math(\bm\nabla f); にも垂直である

以下にこの意味を考えよう。
と読み替えられる。この条件と、
- &math(\bm\nabla f); は &math(\bm\nabla g_i); の線形結合で表せる

拘束条件の下での停留点を考え、そこからの変位を &math(\Delta\bm x); とする。
が同値であることを言えば良いのだが・・・

何も考えなければ &math(\Delta\bm x); は &math(n); 次元ベクトル空間 &math(K^n); 
から任意のベクトルを選ぶことができる。
直交補空間の概念に通じているなら 
>2. を~
 ・ すべての &math(\bm\nabla g_i); が張る空間を &math(V_\mathrm{break}); とし、~
 ・ その直交補空間を &math(V_\mathrm{meet}); とすれば、~
 ・ 任意の &math(\Delta\bm x\in V_\mathrm{meet}); が &math(\bm\nabla f); に垂直である
>と言い換えることができて、これは &math(\bm\nabla f); が &math(V_\mathrm{break}); 
の直交補空間の元であることを示すから、&math(\bm\nabla f); は &math(V_\mathrm{break}); 
を張る &math(\bm\nabla g_i); の線形結合で表せて、その係数が &math(\lambda_i); である。

この部分空間として、&math(m); 本のベクトル &math(\{\bm\nabla g_i\}); が張る部分空間 &math(V_\mathrm{break}); を考える。
ということで証明が終わるのであるが、、、前提知識の少なくて済む説明をするなら:

また、すべての &math(\bm\nabla g_i); と直交するようなベクトルの集合 &math(V_\mathrm{meet}); 
を考えればこれも部分空間となる。
>すべての &math(\bm\nabla g_i); が張る空間を &math(V_\mathrm{break}); とし、
そこに正規直交基底 &math(\set{\bm e_j}); を取る。
>&math(\bm\nabla f); が &math(V_\mathrm{break}); の元ではない可能性を考えて、
> &math(\bm\nabla f=\sum_j c_j\bm e_j + \bm\delta);
>と書く。ただし、&math(\bm\delta\notin V_\mathrm{break}); 
すなわち任意の &math(j); に対して &math(\bm\delta\cdot\bm e_j=0); とする。
>すると &math(\bm\delta); はすべての &math(\bm\nabla g_i); に垂直であるから、
&math(\Delta\bm x=\bm\delta); と取れば、
> &math(\bm\nabla f\cdot\bm\delta=\|\bm\delta\|^2);
>となって、&math(\bm\delta=\bm 0); でない限り仮定に反する。
>すなわち &math(\bm\delta=\bm 0); であり、これは &math(\bm\nabla f); が 
&math(V_\mathrm{break}); の元であり、&math(\bm\nabla g_i); の線形結合で表せることを意味する。

定義より、これら2つの空間は互いに直交補空間となっている。
* コメント・質問 [#v8dfb2fb]

すなわち、&math(K^n); は &math(V_\mathrm{break}); と &math(V_\mathrm{meet}); との直交直和である。
#article_kcaptcha

&math(K^n=V_\mathrm{break}\oplus V_\mathrm{meet}); ~

任意の &math(\Delta\bm x\in V_\mathrm{meet}); はすべての &math(\bm\nabla g_i); 
と直交するから、すなわちすべての &math(i); に対して &math(\Delta g_i=0); となり、
&math(V_\mathrm{meet}); は「制約条件を満たす変位」が作る線形空間となる。

今考えている点は拘束条件の下で停留点であると仮定したから、
制約条件を満たす任意の &math(\Delta\bm x); に対して
&math(\Delta f=\bm\nabla f\cdot\Delta\bm x=0); が成り立つ。

これは、&math(\bm\nabla f); が &math(V_\mathrm{meet}); の任意の元に直交することを意味しており、
すなわち &math(\bm\nabla f); が &math(V_\mathrm{meet}); の直交補空間 &math(V_\mathrm{break}); 
の元であることを示している。

上の仮定から &math(\{\bm\nabla g_i\}); は &math(V_\mathrm{break}); 
を張るから、&math(\bm\nabla f); を &math(\{\bm\nabla g_i\}); の一次結合で表すことが可能。

その係数が &math(\lambda_i); なわけである。


Counter: 19912 (from 2010/06/03), today: 11, yesterday: 0