(グラム)シュミットの直交化法 のバックアップ差分(No.12)
更新- バックアップ一覧
- 現在との差分 を表示
- ソース を表示
- バックアップ を表示
- 線形代数I/要点/(グラム)シュミットの直交化法 へ行く。
- 追加された行はこの色です。
- 削除された行はこの色です。
[[線形代数I]] #contents * シュミットの直交化:概要 [#i5088b82] グラムシュミットの直交化法とは、 与えられたベクトル &math(\bm{a}_1,\bm{a}_2,\cdots,\bm{a}_n); から、 正規直交系 &math(\bm{e}_1,\bm{e}_2,\cdots,\bm{e}_n); を作る方法である。 とだけ、大抵の教科書には書かれているが、実はそれ以外に次の条件も重要。 「ただし、任意の &math(k); ( &math(1\leqq k \leqq n); ) について &math(\bm{e}_k); は &math(\bm{a}_1,\bm{a}_2,\cdots,\bm{a}_k); の一次結合で表せるものとする」 つまり、 - &math(\bm{e}_1); は &math(\bm{a}_1); の一次結合(定数倍)であり、&math(|\bm{e}_1|=1); - &math(\bm{e}_2); は &math(\bm{a}_1,\bm{a}_2); の一次結合で、&math((\bm{e}_2,\bm{e}_1)=0); かつ &math(|\bm{e}_2|=1); - &math(\bm{e}_3); は &math(\bm{a}_1,\bm{a}_2,\bm{a}_3); の一次結合で、&math((\bm{e}_3,\bm{e}_1)=0);, &math((\bm{e}_3,\bm{e}_2)=0); かつ &math(|\bm{e}_3|=1); - 以下同様 を満たす &math(\bm{e}_1,\dots,\bm{e}_n); を見つけることがここでの課題。 見方を変えれば、任意の &math(k); ( &math(1\leqq k \leqq n); ) に対して &math(\bm{e}_1,\bm{e}_2,\bm{e}_3,\cdots,\bm{e}_k); は すべて &math(\bm{a}_1,\bm{a}_2,\bm{a}_3,\cdots,\bm{a}_k); の一次結合であり、なおかつ正規直交系をなす。 ※ここでは、ベクトル &math(\bm{a}); と &math(\bm{b}); との内積を &math(\bm{a}\cdot\bm{b}); ではなく &math((\bm{a},\bm{b})); と書く。~ ※「一次結合で表せるベクトルの集合」は、本来「張る空間」と書くべきだが、カリキュラム上まだ扱っていないためこのような書き方を用いている。 「線形空間」について学んだ学生は、 任意の &math(k); ( &math(1\leqq k \leqq n); ) に対して &math(\bm{e}_1,\bm{e}_2,\bm{e}_3,\cdots,\bm{e}_k); の張る空間は &math(\bm{a}_1,\bm{a}_2,\bm{a}_3,\cdots,\bm{a}_k); の張る空間と等しい。 あるいは、 任意の &math(k); ( &math(1\leqq k \leqq n); ) に対して &math(\bm{e}_1,\bm{e}_2,\bm{e}_3,\cdots,\bm{e}_k); は &math(\bm{a}_1,\bm{a}_2,\bm{a}_3,\cdots,\bm{a}_k); の張る空間に取った正規直交基底になっている。 と書いた方がピンとくるかもしれない。 *(グラム)シュミットの直交化法の手順 [#l1a576cc] COLOR(RED){以下は実ベクトルを対象にした記述になっている。}~ COLOR(RED){このページの最後に複素ベクトルに関して追記があるのでそちらも参照のこと。} まず &math(\bm{e}_1); について、 &math(\bm{e}_1=k_{11}\bm{a}_1); かつ &math(|\bm{e}_1|=1); より (1) &math(\bm{e}_1=\frac{1}{|\bm{a}_1|}\bm{a}_1); とすればよい。 &math(\bm{e}_2); は &math(\bm{a}_1,\bm{a}_2); の一次結合であるが、 すなわち、&math(\bm{e}_1, \bm{a}_2); の一次結合と言っても良い (&math(\bm{a}_1,\bm{a}_2); の一次結合で表せるベクトルの集合と、 &math(\bm{e}_1,\bm{a}_2); の一次結合で表せるベクトルの集合とが 等しいことに注意せよ)。 そこで、&math(\bm{e}_1,\bm{a}_2); の一次結合のうち、 &math(\bm{e}_1); と直交するベクトル &math(\bm{f}_2); を求めよう。 &math(\bm{f}_2=\bm{a}_2-k_{21}\bm{e}_1); と書いて &math((\bm{f}_2,\bm{e}_1)=0); に代入すると、 &math((\bm{f}_2,\bm{e}_1)=(\bm{a}_2,\bm{e}_1)-k_{21}=0); ~ &math(\therefore k_{21}=(\bm{a}_2,\bm{e}_1)k_{21}=0); を得る。すなわち、 (2-1) &math(\bm{f}_2=\bm{a}_2-(\bm{a}_2,\bm{e}_1)\bm{e}_1); とすれば、&math(\bm{f}_2); は &math(\bm{e}_1,\bm{a}_2); の一次結合であり、 しかも &math(\bm{e}_1); に直交する。これを、 (2-2) &math(\bm{e}_2=\frac{1}{|\bm{f}_2|}\bm{f}_2); として正規化すれば、&math((\bm{e}_2,\bm{e}_1)=0); かつ &math(|\bm{e}_2|=1); の条件を満たすことができる。 同様に &math(\bm{e}_3); は &math(\bm{a}_1,\bm{a}_2,\bm{a}_3); の一次結合であるが、&math(\bm{e}_1,\bm{e}_2,\bm{a}_3); の一次結合と言っても良い。 そこでまず、&math(\bm{e}_1,\bm{e}_2,\bm{a}_3); の一次結合で &math(\bm{e}_1,\bm{e}_2); と直交するものを求める。 &math(\bm{f}_3=\bm{a}_3-k_{31}\bm{e}_1-k_{32}\bm{e}_2); を &math((\bm{f}_3,\bm{e}_1)=(\bm{f}_3,\bm{e}_2)=0); に代入すると、 &math((\bm{f}_3,\bm{e}_1)=(\bm{a}_3,\bm{e}_1)-k_{31}=0); より &math(k_{31}=(\bm{a}_3,\bm{e}_1));~ &math((\bm{f}_3,\bm{e}_2)=(\bm{a}_3,\bm{e}_2)-k_{32}=0); より &math(k_{32}=(\bm{a}_3,\bm{e}_2));~ となって、 (3-1) &math(\bm{f}_3=\bm{a}_3-(\bm{a}_3,\bm{e}_1)\bm{e}_1-(\bm{a}_3,\bm{e}_2)\bm{e}_2); と求まり、 (3-2) &math(\bm{e}_3=\frac{1}{|\bm{f}_3|}\bm{f}_3); と正規化すれば条件を満たす。 以下同様に &math(\bm{e}_1,\bm{e}_2,\cdots,\bm{e}_{k-1}); と &math(\bm{a}_k); を使って &math(\bm{e}_k); を求めるには、 (k-1) &math(\bm{f}_k=\bm{a}_k-(\bm{a}_k,\bm{e}_1)\bm{e}_1-(\bm{a}_k,\bm{e}_2)\bm{e}_2-\cdots-(\bm{a}_k,\bm{e}_{k-1})\bm{e}_{k-1}); すなわち、 (k-1) &math(\bm{f}_k=\bm{a}_k-\sum_{i=1}^{k-1}(\bm{a}_k,\bm{e}_i)\bm{e}_i); として、&math(\bm{e}_1,\bm{e}_2,\cdots,\bm{e}_{k-1}); と直交するベクトル &math(\bm{f}_k); を求め、 (k-2) &math(\bm{e}_k=\frac{1}{|\bm{f}_k|}\bm{f}_k); として正規化すればよい。 (1) と (k-1), (k-2) に表された方法を用いて &math(\bm{a}_1,\bm{a}_2,\cdots,\bm{a}_n); から、正規直交系 &math(\bm{e}_1,\bm{e}_2,\cdots,\bm{e}_n); を作る方法を 「シュミットの直交化」あるいは「グラム・シュミットの直交化法」と呼ぶ。 * 例題 [#yd1b1d03] 次のベクトルをグラムシュミットの直交化法を用いて直交化せよ &math(\bm{a}_1=\begin{pmatrix}1\\1\\0\end{pmatrix},\bm{a}_2=\begin{pmatrix}0\\-1\\1\end{pmatrix},\bm{a}_3=\begin{pmatrix}1\\1\\1\end{pmatrix}); ** 解答 [#x2d31e2e] &math(\bm{e}_1=\frac{1}{|\bm{a}_1|}\bm{a}_1=\frac{1}{\sqrt{1^2+1^2+0^2}}\begin{pmatrix}1\\1\\0\end{pmatrix}=\begin{pmatrix}1/\sqrt{2}\\1/\sqrt{2}\\0\end{pmatrix}); &math(\bm{f}_2=\bm{a}_2-(\bm{a}_2,\bm{e}_1)\bm{e}_1=\begin{pmatrix}0\\-1\\1\end{pmatrix}-(0-1/\sqrt{2}+0)\begin{pmatrix}1/\sqrt{2}\\1/\sqrt{2}\\0\end{pmatrix}=\begin{pmatrix}1/2\\-1/2\\1\end{pmatrix}); &math(\bm{f}_2); が &math(\bm{f}_2^\prime = \begin{pmatrix}1\\-1\\2\end{pmatrix}); と平行であることを(頭の中で)使って、 &math(\bm{e}_2=\frac{1}{|\bm{f}_2|}\bm{f}_2\left(=\frac{1}{|\bm{f}_2^\prime|}\bm{f}_2^\prime\right)=\frac{1}{\sqrt{1^2+(-1)^2+2^2}}\begin{pmatrix}1\\-1\\2\end{pmatrix}=\begin{pmatrix}1/\sqrt{6}\\-1/\sqrt{6}\\2/\sqrt{6}\end{pmatrix}); &math(\begin{split}\bm{f}_3&=\bm{a}_3-(\bm{a}_3,\bm{e}_1)\bm{e}_1-(\bm{a}_3,\bm{e}_2)\bm{e}_2 \\ &\begin{split}=\begin{pmatrix}1\\1\\1\end{pmatrix}&-(1/\sqrt{2}+1/\sqrt{2}+0)\begin{pmatrix}1/\sqrt{2}\\1/\sqrt{2}\\0\end{pmatrix}\\&-(1/\sqrt{6}-1/\sqrt{6}+2/\sqrt{6})\begin{pmatrix}1/\sqrt{6}\\-1/\sqrt{6}\\2/\sqrt{6}\end{pmatrix}\end{split} \\ &=\begin{pmatrix}1\\1\\1\end{pmatrix}-\begin{pmatrix}1\\1\\0\end{pmatrix}-\begin{pmatrix}1/3\\-1/3\\2/3\end{pmatrix}=\begin{pmatrix}-1/3\\1/3\\1/3\end{pmatrix}\end{split}); &math(\bm{e}_3=\frac{1}{|\bm{f}_3|}\bm{f}_3=\begin{pmatrix}-1/\sqrt{3}\\1/\sqrt{3}\\1/\sqrt{3}\end{pmatrix}); したがって、&math(\bm{e}_1=\begin{pmatrix}1/\sqrt{2}\\1/\sqrt{2}\\0\end{pmatrix});, &math(\bm{e}_2=\begin{pmatrix}1/\sqrt{6}\\-1/\sqrt{6}\\2/\sqrt{6}\end{pmatrix});, &math(\bm{e}_3=\begin{pmatrix}-1/\sqrt{3}\\1/\sqrt{3}\\1/\sqrt{3}\end{pmatrix}); ** 検算 [#k7e67732] &math(|\bm{e}_1|=|\bm{e}_2|=|\bm{e}_3|=1); &math((\bm{e}_1,\bm{e}_2)=(\bm{e}_2,\bm{e}_3)=(\bm{e}_3,\bm{e}_1)=0); すなわち、任意の &math(i,j\in \{1,2,3\}); に対して、 &math((\bm{e}_i,\bm{e}_j)=\delta_{ij}); (正規直交化条件) が成り立つことを容易に確かめられる。 * 発展:複素内積の場合 [#q6269015] 上記は実ベクトルの場合を想定しているが、~ 複素内積では、内積の値が掛ける順序に依存するため注意が必要である。 &math((\bm b,\bm a)\ne(\bm a,\bm b)); 具体的には、順序を入れ替えた値は元の値の複素共役になる。 &math((\bm b,\bm a)=\overline{(\bm a,\bm b)}); さらにややこしいことに、複素内積の定義には2つの異なった方法がある。 + &math((k\bm x,\bm y)=k(\bm x,\bm y)); となる定義 → &math((\bm x,k\bm y)=\overline{k}(\bm x,\bm y)); + &math((\bm x,k\bm y)=k(\bm x,\bm y)); となる定義 → &math((k\bm x,\bm y)=\overline{k}(\bm x,\bm y)); 1. が一般的だが、量子力学のブラケット記法との整合性を重視して 2. の定義を採用する教科書もある。 (本学類の線形代数IIでも 2. を内積の公理として採用している) 前者の定義を採用した場合には上に書いたのと同じ方法を複素ベクトルについても適用できるが、 (k-1) &math(\bm{f}_k=\bm{a}_k-(\bm{a}_k,\bm{e}_1)\bm{e}_1-(\bm{a}_k,\bm{e}_2)\bm{e}_2-\cdots-(\bm{a}_k,\bm{e}_{k-1})\bm{e}_{k-1}); 後者の定義を採用した場合には、 (k-1)' &math(\bm{f}_k=\bm{a}_k-(\bm{e}_1,\bm{a}_k)\bm{e}_1-(\bm{e}_2,\bm{a}_k)\bm{e}_2-\cdots-(\bm{e}_{k-1},\bm{a}_k)\bm{e}_{k-1}); とする必要がある。(内積の順序が変わっていることに注意) 想定する内積の定義がどちらの性質を持つかに注意して、適切な方を選んで使うこと。 * コメント [#z55efc75] #article_kcaptcha **感謝 [#x7cd4d0a] >[[suwa]] (&timetag(2015-02-25T07:27:37+09:00, 2015-02-25 (水) 16:27:37);)~ ~ 丁寧に書かれており、大変勉強になりました。~ ありがとうございます。~ // #comment_kcaptcha **参考になりました。 [#bb02e670] >[murata] (2013-09-30 (月) 20:22:58)~ ~ わからなくて困っているところにたまたま出会いました。~ ありがとうございます。~ // #comment_kcaptcha **直交化 [#o858a319] > (2012-07-30 (月) 12:11:06)~ ~ ありがとうございました~ // #comment_kcaptcha
Counter: 398388 (from 2010/06/03),
today: 55,
yesterday: 0