線形代数I/内積

(97d) 更新


線形代数I

培風館「教養の線形代数(五訂版)」に沿って行っている授業の授業ノート(の一部)です。

(カリキュラムと教科書との間のギャップを調整中の内容です)

実数ベクトルの標準内積

\bm a=\begin{bmatrix}a_1\\a_2\\\vdots\\a_n\end{bmatrix} , \bm b=\begin{bmatrix}b_1\\b_2\\\vdots\\b_n\end{bmatrix}\in \mathbb R^n に対して、その標準内積を

(\bm a,\bm b)=a_1b_1+a_2b_2+\dots+a_nb_n=\sum_{i=1}^na_ib_i

として定義する。

実数ベクトルの内積の性質

標準内積について以下の性質を容易に確かめられる。

  1. (\bm a,\bm b)=(\bm b,\bm a)
  2. (\bm a+\bm b,\bm c)=(\bm a,\bm c)+(\bm b,\bm c)
  3. (k\bm a,\bm b)=k(\bm a,\bm b)
  4. (\bm a,\bm a)\ge 0 かつ (\bm a,\bm a)=0 \bm a=\bm o

数学的にはこの4つの性質を持つような任意の演算を「内積」と考えてよい。
すなわち、内積の定義の仕方には標準内積以外にも様々な物がある。

例:$\displaystyle(\bm a,\bm b)=a_1b_1+2a_2b_2+\dots+na_nb_n=\sum_{k=1}^nka_kb_k$ も内積を定義する。

例:すぐには分かりにくいが、2次のベクトルに対して、
(\bm a,\bm b)=a_1b_1+a_1b_2+a_2b_1+2a_2b_2 を内積とするベクトル空間があってもよい。 (確かめてみよ)

以下の話は上記4つの性質のみを使って定義・証明可能であるから、 「任意の内積」について成立する。

内積の定義されたベクトル空間を「内積空間」あるいは「計量空間」と呼ぶ。

(複素数ベクトルの内積については後に学ぶ)

ベクトルのノルム

内積の持つ性質 (\bm a,\bm a)\ge 0 より、任意の \bm a に対して

\|\bm a\|=\sqrt{(\bm a,\bm a)}\ge 0

を定義できる。これを \bm a のノルム(長さ・大きさ)と呼ぶ。

内積の定義より、 \bm a=\bm o の時のみ \|\bm a\|=0 となる。

\|\bm a\|^2=(\bm a,\bm a) の書き換えは頻出するので覚えておくように。

シュワルツ (Schwartz) の不等式

|(\bm a,\bm b)|\le\|\bm a\|\|\bm b\| 内積の絶対値は常にノルムの積以下である

(証明)

\|t\bm a+\bm b\|^2

=(t\bm a+\bm b,t\bm a+\bm b)

=(\bm a,\bm a)t^2+(\bm a,\bm b)t+(\bm b,\bm a)t+(\bm b,\bm b)

=\|\bm a\|^2t^2+2(\bm a,\bm b)t+\|\bm b\|^2\ge 0

この2次式が t の値に依らず負にならないためには、 判別式が負でなければならないから、

(\bm b,\bm a)^2-\|\bm a\|^2\|\bm b\|^2\le 0

(\bm b,\bm a)^2\le\|\bm a\|^2\|\bm b\|^2

両者の正の平方根を取れば、

|(\bm a,\bm b)|\le\|\bm a\|\|\bm b\|

与式を得る。

三角不等式

\|\bm a+\bm b\|\le\|\bm a\|+\|\bm b\|  三角形の一辺は他の二辺の和より短い

(証明)

\|\bm a+\bm b\|^2=(\bm a+\bm b,\bm a+\bm b)

=\|\bm a\|^2+2(\bm b,\bm a)+\|\bm b\|^2

<\|\bm a\|^2+2|(\bm b,\bm a)|+\|\bm b\|^2

<\|\bm a\|^2+2\|\bm a\|\|\bm b\|+\|\bm b\|^2

=\left(\|\bm a\|+\|\bm b\|\right)^2

両辺とも正なので、平方根を取れば与式を得る。

ベクトルの為す角

\bm a,\bm b が共にゼロでないとき、シュワルツの不等式より

-1\le\frac{(\bm a,\bm b)}{\|\bm a\|\|\bm b\|}\le1

したがって、

\frac{(\bm a,\bm b)}{\|\bm a\|\|\bm b\|}=\cos \theta すなわち (\bm a,\bm b)=\|\bm a\|\|\bm b\|\cos \theta

を満たす \theta ただし 0\le\theta\le\pi がただ一つ決まる。

この \theta \bm a,\bm b の「為す角」と呼ぶ。

  • ここまで、内積によりベクトルの長さと角度が定義されることが分かった
    (ベクトルの長さや角度は内積の定義に依存して決まる)

ベクトルの直交

\cos \left(\pi/2\right)=0 より、

\theta=\pi/2=90^\circ のときに「内積がゼロ」になる

そこで、 (\bm a,\bm b)=0 であることを 「 \bm a,\bm b が直交する」と言う。

実は、 \bm a,\bm b の一方または両方がゼロの時もやはり (\bm a,\bm b)=0 となるが、 \theta は定まらない。

だが、この場合も含めて「直交」を定義する。

(\bm a,\bm b)=0  ⇔  \bm a \perp \bm b

すなわち、ゼロベクトル \bm o は全てのベクトルに直交する。

正規化ベクトル

正規ベクトル: ノルムが1のベクトルのこと

ゼロでない任意のベクトル \bm a に対して、 \frac{1}{\|\bm a\|}\bm a としてノルムを1にする操作を 「正規化」と呼ぶ。

正規直交系

ベクトル \bm a_1,\bm a_2,\dots,\bm a_n が正規直交系である、とは

  • 正規:すべてのベクトルのノルムが1である \|\bm a_i\|=1 すなわち (\bm a_i,\bm a_i)=1
  • 直交:ベクトルは互いに直交する i\ne j\rightarrow(\bm a_i,\bm a_j)=0

の条件を満たすこと。

  • 条件はまとめて (\bm a_i,\bm a_j)=\delta_{ij} と書ける。
  • 基本ベクトル \bm e_1,\bm e_2,\dots,\bm e_n は正規直交系である

正規直交系は一次独立である

\bm a_1,\bm a_2,\dots,\bm a_n が正規直交系であるとき、

\sum_{k=1}^nc_k\bm a_k=\bm o が成り立つとすると、両辺と \bm a_i との内積を取ることで、

(\bm a_i,\sum_{k=1}^nc_k\bm a_k) =\sum_{k=1}^nc_k(\bm a_i,\bm a_k) =\sum_{k=1}^nc_k\delta_{ik} =c_i=(\bm a_i,\bm o)=0

したがって、すべての i について c_i=0 となることが導かれる。

成分の導出

同様にして、基本ベクトル \bm e_1,\bm e_2,\dots,\bm e_n は正規直交系であるから、

\bm x=\begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix}=\sum_{k=1}^nx_k\bm e_k

のとき、 \bm x \bm e_k との内積を取ることにより、

(\bm e_i,\bm x) =\sum_{k=1}^nx_k(\bm e_i,\bm e_k) =\sum_{k=1}^nx_k\delta_{ik} =x_i

として \bm e_i 方向の成分を求めることができる。

すなわち、任意の \bm x について、

\bm x=\sum_{k=1}^n(\bm e_k,\bm x)\bm e_k

が成り立つ(結構重要)。

グラム・シュミットの直交化法

線形代数I/要点/(グラム)シュミットの直交化法

直交変換

任意の $n$ 次元実数ベクトル \bm x,\bm y に対して、

(f(\bm x),f(\bm y))=(\bm x,\bm y)  ← 内積の値を保存する

を満たす一次変換 f(\bm x)\ :\ \mathbb R^n\rightarrow \mathbb R^n を直交変換と呼ぶ。(なぜ直交?の答えは後ほど)

  • 直交変換は \|f(\bm x)\|=\|\bm x\| を満たす。← ノルムを保存する
    (定義より、ほぼ明らか)
    こちらを直交変換の定義とする場合もある(同値な条件であるため)

練習:

\|f(\bm x)\|=\|\bm x\| から (f(\bm x),f(\bm y))=(\bm x,\bm y) を導こう。

(証明)

条件より \|f(\bm x-\bm y)\|=\|\bm x-\bm y\|

(左辺)2

=\|f(\bm x)-f(\bm y)\|^2

=\|f(\bm x)\|^2-2(f(\bm x),f(\bm y))+\|f(\bm y)\|^2

=\|\bm x\|^2-2(f(\bm x),f(\bm y))+\|\bm y\|^2

(右辺)2

=\|\bm x\|^2-2(\bm x,\bm y)+\|\bm y\|^2

したがって、 (f(\bm x),f(\bm y))=(\bm x,\bm y)

合同変換

直交変換はすべてのベクトルの長さを保つから、それはすなわち「合同変換」である。
合同変換 = 回転 ( + 反転 )

∵三角形の3辺の長さが等しければ合同であったのを思い出そう。

Rn にて標準内積を取る場合

\|\bm a\|=\sqrt{a_1^2+a_2^2+\dots+a_n^2} である。

また、

(\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

と書けるから、

(\bm a,A\bm b)=\transpose \bm a(A\bm b)=\transpose (\transpose \,A\bm a)\bm b=(\transpose A\bm a,\bm b)

したがって、 A が対称行列 \transpose A=A の時に限り、

(\bm a,A\bm b)=(A\bm a,\bm b)

が成り立つ。

直交行列

標準内積を用いた場合、直交変換の標準行列 R は任意の \bm a,\bm b に対して、

(R\bm a,R\bm b)=(\bm a,\transpose R R\bm b)=(\bm a,\bm b)

を満たす。したがって、2つの基本ベクトルに対しても

(\bm e_i,\transpose R R\bm e_j)=(\bm e_i,\bm e_j)=\delta_{ij}

となるが、この左辺は行列 \transpose R R の (i,j) 成分に等しい。

すなわち、

\transpose R R=[\delta_{ij}]=I

であり、 R

\transpose R=R^{-1}

を満たす。

この条件を満たす R を直交行列と呼ぶ。

  • 直交変換の表現行列は直交行列である

なぜ直交?

直交行列の列ベクトル分解を

R=\Bigg[\bm r_1\ \bm r_2\ \dots\ \bm r_n\Bigg]

と書くと、

\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

すなわち、直交行列の列ベクトルは正規直交系を為す。

  • 同様に、行ベクトルも正規直交系を為す

これが直交変換、直交行列の語源である。

以下の条件はすべて同値である。

  • 直交行列
  • R^{-1}=\transpose R
  • 行ベクトルが正規直交系
  • 列ベクトルが正規直交系

(発展)標準内積が標準と呼ばれるわけ

一般の内積

任意の内積に対して、

  • ノルム
  • 為す角
  • 直交

が定義される。

すなわち、任意の内積に対して正規直交系を定義可能である。

正規直交基底における内積の成分表示

\bm e_1,\bm e_2,\dots,\bm e_n を正規直交基底として、

成分表示を用いて \bm x=\sum_{i=1}^nx_i\bm e_i \bm y=\sum_{i=1}^ny_i\bm e_i  と表す。

このとき、

(\bm x,\bm y)=\sum_{i=1}^n\sum_{j=1}^nx_iy_j(\bm e_i,\bm e_j) =\sum_{i=1}^n\sum_{j=1}^nx_iy_j\delta_{ij} =\sum_{i=1}^nx_iy_i

となる。

すなわち、任意に定義した内積について、 正規直交基底で成分表示した場合に 内積を成分に対する標準内積で求められる。

これが標準内積が標準と呼ばれる理由である。

コメント




無題

ななし? ()

いつもお世話になっています。

間違えてたらすみません、「成分の導出」の中の下記の式、
\bm x=\sum_{k=1}^n(\bm e_i,\bm x)\bm e_k

\bm x=\sum_{k=1}^n(\bm e_k,\bm x)\bm e_k
ではないでしょうか?

  • ご指摘ありがとうございます、おっしゃる通りでした。修正いたしました。 -- 武内(管理人)?

Counter: 131263 (from 2010/06/03), today: 4, yesterday: 0