線形代数I/内積 のバックアップ差分(No.5)
更新- 追加された行はこの色です。
- 削除された行はこの色です。
[[線形代数I]]
#contents
培風館「教養の線形代数(五訂版)」に沿って行っている授業の授業ノート(の一部)です。
(カリキュラムと教科書との間のギャップを調整中の内容です)
* 実数ベクトルの標準内積 [#p13a5776]
&math(\bm a=\begin{bmatrix}a_1\\a_2\\\vdots\\a_n\end{bmatrix});,
&math(\bm b=\begin{bmatrix}b_1\\b_2\\\vdots\\b_n\end{bmatrix}\in \mathbb R^n);
に対して、その標準内積を
&math((\bm a,\bm b)=a_1b_1+a_2b_2+\dots+a_nb_n=\sum_{i=1}^na_ib_i);
として定義する。
* 実数ベクトルの内積の性質 [#vaef810c]
標準内積について以下の性質を容易に確かめられる。
+ &math((\bm a,\bm b)=(\bm b,\bm a));
+ &math((\bm a+\bm b,\bm c)=(\bm a,\bm c)+(\bm b,\bm c));
+ &math((k\bm a,\bm b)=k(\bm a,\bm b));
+ &math((\bm a,\bm a)\ge 0); かつ &math((\bm a,\bm a)=0);⇔&math(\bm a=\bm o);
数学的にはこの4つの性質を持つような任意の演算を「内積」と考えてよい。~
すなわち、内積の定義の仕方には標準内積以外にも様々な物がある。
例:&math((\bm a,\bm b)=a_1b_1+2a_2b_2+\dots+na_nb_n=\sum_{i=1}^nia_ib_i);
も内積を定義する。
例:すぐには分かりにくいが、2次のベクトルに対して、~
&math((\bm a,\bm b)=a_1b_1+a_1b_2+a_2b_1+2a_2b_2); も内積を定義する。
(確かめてみよ)
以下の話は上記4つの性質のみを使って定義・証明可能であるから、
「任意の内積」について成立する。
内積の定義されたベクトル空間を「内積空間」あるいは「計量空間」と呼ぶ。
(複素数ベクトルの内積については後に学ぶ)
* ベクトルのノルム [#zbc3a037]
内積の持つ性質 &math((\bm a,\bm a)\ge 0); より、任意の &math(\bm a); に対して
&math(\|\bm a\|=\sqrt{(\bm a,\bm a)}\ge 0);
を定義できる。これを &math(\bm a); のノルム(長さ・大きさ)と呼ぶ。
内積の定義より、&math(\bm a=\bm o); の時のみ &math(\|\bm a\|=0); となる。
● &math(\|\bm a\|^2=(\bm a,\bm a)); の書き換えは頻出するので覚えておくように。
* シュワルツ (Schwartz) の不等式 [#m7966132]
&math(|(\bm a,\bm b)|\le\|\bm a\|\|\bm b\|); 内積の絶対値は常にノルムの積以下である
(証明)
&math(\|t\bm a+\bm b\|^2);
&math(=(t\bm a+\bm b,t\bm a+\bm b));
&math(=(\bm a,\bm a)t^2+(\bm a,\bm b)t+(\bm b,\bm a)t+(\bm b,\bm b));
&math(=\|\bm a\|^2t^2+2(\bm a,\bm b)t+\|\bm b\|^2\ge 0);
この2次式が &math(t); の値に依らず負にならないためには、
判別式が負でなければならないから、
&math((\bm b,\bm a)^2-\|\bm a\|^2\|\bm b\|^2\le 0);
&math((\bm b,\bm a)^2\le\|\bm a\|^2\|\bm b\|^2);
両者の正の平方根を取れば、
&math(|(\bm a,\bm b)|\le\|\bm a\|\|\bm b\|);
与式を得る。
** 三角不等式 [#he02d623]
&math(\|\bm a+\bm b\|\le\|\bm a\|+\|\bm b\|); 三角形の一辺は他の二辺の和より短い
(証明)
&math(\|\bm a+\bm b\|^2=(\bm a+\bm b,\bm a+\bm b));
&math(=\|\bm a\|^2+2(\bm b,\bm a)+\|\bm b\|^2);
&math(<\|\bm a\|^2+2|(\bm b,\bm a)|+\|\bm b\|^2);
&math(<\|\bm a\|^2+2\|\bm a\|\|\bm b\|+\|\bm b\|^2);
&math(=\left(\|\bm a\|+\|\bm b\|\right)^2);
両辺とも正なので、平方根を取れば与式を得る。
* ベクトルの為す角 [#j0250396]
&math(\bm a,\bm b); が共にゼロでないとき、シュワルツの不等式より
&math(-1\le\frac{(\bm a,\bm b)}{\|\bm a\|\|\bm b\|}\le1);
したがって、
&math(\frac{(\bm a,\bm b)}{\|\bm a\|\|\bm b\|}=\cos \theta);
すなわち
&math((\bm a,\bm b)=\|\bm a\|\|\bm b\|\cos \theta);
を満たす &math(\theta); ただし &math(0\le\theta\le\pi); がただ一つ決まる。
この &math(\theta); を &math(\bm a,\bm b); の「為す角」と呼ぶ。
- ここまで、内積によりベクトルの長さと角度が定義されることが分かった~
(ベクトルの長さや角度は内積の定義に依存して決まる)
* ベクトルの直交 [#v83096b5]
&math(\cos \left(\pi/2\right)=0); より、
&math(\theta=\pi/2=90^\circ); のときに「内積がゼロ」になる
そこで、&math((\bm a,\bm b)=0); であることを 「&math(\bm a,\bm b); が直交する」と言う。
実は、&math(\bm a,\bm b); の一方または両方がゼロの時もやはり
&math((\bm a,\bm b)=0); となるが、&math(\theta); は定まらない。
だが、この場合も含めて「直交」を定義する。
&math((\bm a,\bm b)=0); ⇔ &math(\bm a \perp \bm b);
すなわち、ゼロベクトル &math(\bm o); は全てのベクトルに直交する。
* 正規化ベクトル [#de37b9ae]
正規ベクトル: ノルムが1のベクトルのこと
ゼロでない任意のベクトル &math(\bm a); に対して、
&math(\frac{1}{\|\bm a\|}\bm a); としてノルムを1にする操作を
「正規化」と呼ぶ。
* 正規直交系 [#ude8ebc8]
ベクトル &math(\bm a_1,\bm a_2,\dots,\bm a_n); が正規直交系である、とは
- 正規:すべてのベクトルのノルムが1である &math(\|\bm a_i\|=1); すなわち &math((\bm a_i,\bm a_i)=1);
- 直交:ベクトルは互いに直交する &math(i\ne j\rightarrow(\bm a_i,\bm a_j)=0);
の条件を満たすこと。
- 条件はまとめて &math((\bm a_i,\bm a_j)=\delta_{ij}); と書ける。
- 基本ベクトル &math(\bm e_1,\bm e_2,\dots,\bm e_n); は正規直交系である
** 正規直交系は一次独立である [#m48703a3]
&math(\bm a_1,\bm a_2,\dots,\bm a_n); が正規直交系であるとき、
&math(\sum_{k=1}^nc_k\bm a_k=\bm o); が成り立つとすると、両辺と &math(\bm a_i); との内積を取ることで、
&math((\bm a_i,\sum_{k=1}^nc_k\bm a_k));
&math(=\sum_{k=1}^nc_k(\bm a_i,\bm a_k));
&math(=\sum_{k=1}^nc_k\delta_{ik});
&math(=c_i=(\bm a_i,\bm o)=0);
したがって、すべての &math(i); について &math(c_i=0); となることが導かれる。
** 成分の導出 [#f4426604]
同様にして、基本ベクトル &math(\bm e_1,\bm e_2,\dots,\bm e_n); は正規直交系であるから、
&math(\bm x=\begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix}=\sum_{k=1}^nx_k\bm e_k);
のとき、&math(\bm x); と &math(\bm e_k); との内積を取ることにより、
&math((\bm e_i,\bm x));
&math(=\sum_{k=1}^nx_k(\bm e_i,\bm e_k));
&math(=\sum_{k=1}^nx_k\delta_{ik});
&math(=x_i);
として &math(\bm e_i); 方向の成分を求めることができる。
すなわち、任意の &math(\bm x); について、
&math(\bm x=\sum_{k=1}^n(\bm e_i,\bm x)\bm e_k);
が成り立つ(結構重要)。
* グラム・シュミットの直交化法 [#i789773f]
[[線形代数I/要点/(グラム)シュミットの直交化法]]
* 直交変換 [#kde39428]
任意の &math(\bm x,\bm y); に対して、
&math((f(\bm x),f(\bm y))=(\bm x,\bm y)); ← 内積の値を保存する
を満たす一次変換 &math(f(\bm x)\ :\ \mathbb R^n\rightarrow \mathbb R^n);
を直交変換と呼ぶ。(なぜ直交?の答えは後ほど)
- 直交変換は &math(\|f(\bm x)\|=\|\bm x\|); を満たす。← ノルムを保存する~
(定義より、ほぼ明らか)~
こちらを直交変換の定義とする場合もある(同値な条件であるため)
練習:
&math(\|f(\bm x)\|=\|\bm x\|); から &math((f(\bm x),f(\bm y))=(\bm x,\bm y)); を導こう。
(証明)
条件より &math(\|f(\bm x-\bm y)\|=\|\bm x-\bm y\|);
(左辺)^^2^^
&math(=\|f(\bm x)-f(\bm y)\|^2);
&math(=\|f(\bm x)\|^2-2(f(\bm x),f(\bm y))+\|f(\bm y)\|^2);
&math(=\|\bm x\|^2-2(f(\bm x),f(\bm y))+\|\bm y\|^2);
(右辺)^^2^^
&math(=\|\bm x\|^2-2(\bm x,\bm y)+\|\bm y\|^2);
したがって、&math((f(\bm x),f(\bm y))=(\bm x,\bm y));
** 合同変換 [#v63bd062]
直交変換はすべてのベクトルの長さを保つから、それはすなわち「合同変換」である。~
合同変換 = 回転 ( + 反転 )
∵三角形の3辺の長さが等しければ合同であったのを思い出そう。
* R^^n^^ にて標準内積を取る場合 [#ic301bf7]
&math(\|\bm a\|=\sqrt{a_1^2+a_2^2+\dots+a_n^2}); である。
また、
&math((\bm a,\bm b)=a_1b_1+a_2b_2+\dots+a_nb_n=\begin{bmatrix}a_1&a_2&\dots&a_n\end{bmatrix}\begin{bmatrix}b_1\\b_2\\\dots\\b_n\end{bmatrix}=\transpose \bm a\bm b);
と書けるから、
&math((\bm a,A\bm b)=\transpose \bm a(A\bm b)=\transpose (\transpose \,A\bm a)\bm b=(\transpose A\bm a,\bm b));
したがって、&math(A); が対称行列 &math(\transpose A=A); の時に限り、
&math((\bm a,A\bm b)=(A\bm a,\bm b));
が成り立つ。
** 直交行列 [#u25e29f3]
標準内積を用いた場合、直交変換の標準行列 &math(R); は任意の &math(\bm a,\bm b); に対して、
&math((R\bm a,R\bm b)=(\bm a,\transpose R R\bm b)=(\bm a,\bm b));
を満たす。したがって、2つの基本ベクトルに対しても
&math((\bm e_i,\transpose R R\bm e_j)=(\bm e_i,\bm e_j)=\delta_{ij});
となるが、この左辺は行列 &math(\transpose R R); の (i,j) 成分に等しい。
すなわち、
&math(\transpose R R=[\delta_{ij}]=I);
であり、&math(R); は
&math(\transpose R=R^{-1});
を満たす。
この条件を満たす &math(R); を直交行列と呼ぶ。
- 直交変換の表現行列は直交行列である
** なぜ直交? [#w75c4a00]
直交行列の列ベクトル分解を
&math(R=\Bigg[\bm r_1\ \bm r_2\ \dots\ \bm r_n\Bigg]);
と書くと、
&math(\transpose R R=\begin{bmatrix}\hspace{5mm}\transpose\bm r_1\hspace{5mm}\\ \transpose\bm r_2\\ \vdots\\ \transpose\bm r_n\end{bmatrix}\Bigg[\bm r_1\ \bm r_2\ \dots\ \bm r_n\Bigg]=\left[\left(\bm r_i,\bm r_j\right)\right]=[\delta_{ij}]=I);
すなわち、直交行列の列ベクトルは__正規直交系__を為す。
- 同様に、行ベクトルも正規直交系を為す
これが直交変換、直交行列の語源である。
以下の条件はすべて同値である。
- 直交行列
- &math(R^{-1}=\transpose R);
- 行ベクトルが正規直交系
- 列ベクトルが正規直交系
* (発展)標準内積が標準と呼ばれるわけ [#o1f07d04]
** 一般の内積 [#j8a75fcf]
任意の内積に対して、
- ノルム
- 為す角
- 直交
が定義される。
すなわち、任意の内積に対して正規直交系を定義可能である。
** 正規直交基底における内積の成分表示 [#f2cf718d]
&math(\bm e_1,\bm e_2,\dots,\bm e_n); を正規直交基底として、
成分表示を用いて
&math(\bm x=\sum_{i=1}^nx_i\bm e_i);、
&math(\bm y=\sum_{i=1}^ny_i\bm e_i); と表す。
このとき、
&math((\bm x,\bm y)=\sum_{i=1}^n\sum_{j=1}^nx_iy_j(\bm e_i,\bm e_j));
&math(=\sum_{i=1}^n\sum_{j=1}^nx_iy_j\delta_{ij});
&math(=\sum_{i=1}^nx_iy_i);
となる。
すなわち、任意に定義した内積について、
正規直交基底で成分表示した場合に
内積を成分に対する標準内積で求められる。
これが標準内積が標準と呼ばれる理由である。
* コメント [#p817b8d6]
#article_kcaptcha
Counter: 132499 (from 2010/06/03),
today: 7,
yesterday: 0