グラム・シュミットの直交化法とは、一次独立なベクトルの組から直交基底ベクトルを機械的につくる手法である。
この記事では、まず正規直交基底について述べ、グラム・シュミットの直交化法を解説する。
さらにグラム・シュミットの直交化法を用いて具体的に正規直交基底の計算をしてみる。
正規直交基底とは
「正規」「直交」「基底」という用語について簡単に述べておく。
一次独立(線型独立)
相異なる任意のベクトル\(~\boldsymbol{a}_1,\boldsymbol{a}_2,\ldots,\boldsymbol{a}_n~\)とスカラー\(~c_1,c_2,\ldots,c_n~\)に対し
$$c_1\boldsymbol{a}_1+c_2\boldsymbol{a}_2+\cdots+c_n\boldsymbol{a}_n=\boldsymbol{0}$$
が成り立つのは\((c_1,c_2,\ldots,c_n)=(0,0,\cdots,0)\)であるときに限られるとき、これらベクトルの組は一次独立(線型独立)であるという。
一次独立でないとき、一次従属(線型従属)であるという。
基底
ベクトルの組\(\{\boldsymbol{a}_1,\ldots,\boldsymbol{a}_n\}\)がベクトル空間の基底であるとは
一次独立性および全域性(線形和で任意のベクトルを表すことができる)
が満たされていることをいう。
- 基底であることの確認例はこちら
- 例えば、実数\(a,b\)により与えられる平面上の座標\((a,b)\)で生成されるベクトル空間\(\mathbf{R}^2\)において、ベクトル
\[
\boldsymbol{a}_1=\left(
\begin{array}{c}
1 \\
2
\end{array}
\right),\boldsymbol{a}_2=\left(
\begin{array}{c}
2 \\
1
\end{array}
\right)
\]が基底をなすことは次のように示される。
<一次独立性>
実数\(c_1,c_2\)に対して
$$c_1\boldsymbol{a}_1+c_2\boldsymbol{a}_2=\boldsymbol{0}$$
とすると
\[
\begin{cases}
c_1+2c_2=0 \\
2c_1+c_2=0
\end{cases}
\]より、\((c_1,c_2)=(0,0)\)である。ゆえに、\(\boldsymbol{a}_1,\boldsymbol{a}_2\)は一次独立である。
<全域性>
\(\mathbf{R}^2\)の任意の元を\((a,b)\)として
$$r\boldsymbol{a}_1+s\boldsymbol{a}_2=(a,b)$$
を満たす実数\(r,s\)が存在するかどうかを確認する。
\[
\begin{cases}
r+2s=a \\
2r+s=b
\end{cases}
\]を\(r,s\)について解くと
\[
\begin{cases}
\displaystyle r=\frac{2b-a}{3} \\
\displaystyle s=\frac{2a-b}{3}
\end{cases}
\]として与えられるので、全域性が満たされている。
よって、\(\{\boldsymbol{a}_1,\boldsymbol{a}_2\}\)は\(\mathbf{R}^2\)の基底をなす。
正規直交系
ベクトルの組\(\{\boldsymbol{a}_1,\ldots,\boldsymbol{a}_n\}\)が
それぞれの大きさが1に等しく、相異なる二つのベクトルの内積が0に等しい(すなわち直交する)
とき、これらのベクトルを正規直交系という。
さらにこのベクトルの組が基底をなすとき、正規直交基底という。
例えば、\(\{\mathbf{e}_1=(1,0,0),\mathbf{e}_2=(0,1,0),\mathbf{e}_3=(0,0,1)\}\)は\(\mathbf{R}^3\)の正規直交基底である。
グラム・シュミットの直交化法
本題に入ろう。
一次独立なベクトルの組\(\{\boldsymbol{a}_1,\ldots,\boldsymbol{a}_n\}\)が与えられたとき、これらから正規直交系\(\{\boldsymbol{u}_1,\ldots,\boldsymbol{u}_n\}\)を作る方法を考える。
- 手順は次の通りである。(ここをクリック)
- ⅰ)\(\boldsymbol{a}_1\)から正規ベクトル\(\boldsymbol{u}_1\)を作る。
$$\boldsymbol{u}_1=\frac{\boldsymbol{a}_1}{\|\boldsymbol{a}_1\|}$$
ⅱ)\(\boldsymbol{a}_1\)と直交するベクトル\(\boldsymbol{b}_2\)を、\(\boldsymbol{u}_1\)と\(\boldsymbol{a}_2\)から作ることを考える。
$$\boldsymbol{b}_2=\boldsymbol{a}_2-\alpha\boldsymbol{u}_1$$
とおき、\(\boldsymbol{b}_2\)と\(\boldsymbol{u}_1\)が直交、すなわち内積が0になる\(\alpha\)を求める。
$$(\boldsymbol{b}_2,\boldsymbol{u}_1)=(\boldsymbol{a}_2-\alpha\boldsymbol{u}_1,\boldsymbol{u}_1)=(\boldsymbol{a}_2,\boldsymbol{u}_1)-\alpha(\boldsymbol{u}_1,\boldsymbol{u}_1)$$
$$∴\alpha=\frac{(\boldsymbol{a}_2,\boldsymbol{u}_1)}{(\boldsymbol{u}_1,\boldsymbol{u}_1)}=(\boldsymbol{a}_2,\boldsymbol{u}_1)$$
したがって
$$\boldsymbol{b}_2=\boldsymbol{a}_2-(\boldsymbol{a}_2,\boldsymbol{u}_1)\boldsymbol{u}_1$$
これを正規化すれば\(\boldsymbol{u}_2\)を得る。
$$\boldsymbol{u}_2=\frac{\boldsymbol{b}_2}{\|\boldsymbol{b}_2\|}$$
ⅲ)\(\boldsymbol{u}_1\)、\(\boldsymbol{u}_2\)と直交するベクトル\(\boldsymbol{b}_3\)を、\(\boldsymbol{u}_1\)、\(\boldsymbol{u}_2\)、\(\boldsymbol{a}_3\)から作ることを考える。
$$\boldsymbol{b}_3=\boldsymbol{a}_3-\beta\boldsymbol{u}_1-\gamma\boldsymbol{u}_2$$
とおき、\(\boldsymbol{b}_3\)と\(\boldsymbol{u}_1\)、\(\boldsymbol{u}_2\)が直交する\(\beta\)、\(\gamma\)を求める。
$$(\boldsymbol{b}_3,\boldsymbol{u}_1)=(\boldsymbol{a}_3-\beta\boldsymbol{u}_1-\gamma\boldsymbol{u}_2,\boldsymbol{u}_1)=(\boldsymbol{a}_3,\boldsymbol{u}_1)-\beta(\boldsymbol{u}_1,\boldsymbol{u}_1)-\gamma(\boldsymbol{u}_2,\boldsymbol{u}_1)$$
$$(\boldsymbol{b}_3,\boldsymbol{u}_2)=(\boldsymbol{a}_3-\beta\boldsymbol{u}_1-\gamma\boldsymbol{u}_2,\boldsymbol{u}_2)=(\boldsymbol{a}_3,\boldsymbol{u}_2)-\gamma(\boldsymbol{u}_1,\boldsymbol{u}_2)-\gamma(\boldsymbol{u}_2,\boldsymbol{u}_2)$$
\[
∴\begin{cases}
\beta=(\boldsymbol{a}_3,\boldsymbol{u}_1) \\
\gamma=(\boldsymbol{a}_3,\boldsymbol{u}_2)
\end{cases}
\]したがって
$$\boldsymbol{b}_3=\boldsymbol{a}_3-(\boldsymbol{a}_3,\boldsymbol{u}_1)\boldsymbol{u}_1-(\boldsymbol{a}_3,\boldsymbol{u}_2)\boldsymbol{u}_2$$
これを正規化すれば\(\boldsymbol{u}_3\)を得る。
$$\boldsymbol{u}_3=\frac{\boldsymbol{b}_3}{\|\boldsymbol{b}_3\|}$$
ⅳ)これを繰り返すと、\(\boldsymbol{u}_k\)は
$$\boldsymbol{b}_k=\boldsymbol{a}_k-(\boldsymbol{a}_k,\boldsymbol{u}_1)\boldsymbol{u}_1-\cdots-(\boldsymbol{a}_k,\boldsymbol{u}_{k-1})\boldsymbol{u}_{k-1}$$
$$\boldsymbol{u}_k=\frac{\boldsymbol{b}_k}{\|\boldsymbol{b}_k\|}$$
により得る。
このようにして正規直交基底をつくる方法をグラム・シュミットの直交化法という。
まとめると、以下のようになる。
一次独立なベクトルの組\(\{\boldsymbol{a}_1,\ldots,\boldsymbol{a}_n\}\)から正規直交基底\(\{\boldsymbol{u}_1,\ldots,\boldsymbol{u}_n\}\)をつくるには、次の計算をすればよい。
\[
\begin{align*}
\boldsymbol{u}_1&=\frac{\boldsymbol{a}_1}{\|\boldsymbol{a}_1\|}\\
\boldsymbol{u}_k&=\frac{\boldsymbol{a}_k-\displaystyle\sum_{i=1}^{k-1}(\boldsymbol{a}_k,\boldsymbol{u}_i)\boldsymbol{u}_i}{\left\|\boldsymbol{a}_k-\displaystyle\sum_{i=1}^{k-1}(\boldsymbol{a}_k,\boldsymbol{u}_i)\boldsymbol{u}_i\right\|} (2\le k\le n)
\end{align*}
\]
なお、途中で正規化をすると根号により計算がややこしくなる場合も多い。直交ベクトルの組を求めておき、最後にまとめて正規化をする方法もある。
\[
\begin{align*}
\boldsymbol{b}_1&=\boldsymbol{a}_1\\
\boldsymbol{b}_k&=\boldsymbol{a}_k-\displaystyle\sum_{i=1}^{k-1}(\boldsymbol{a}_k,\boldsymbol{u}_i)\boldsymbol{u}_i (2\le k\le n) \\
&\boldsymbol{u}_k=\frac{\boldsymbol{b}_k}{\|\boldsymbol{b}_k\|}
\end{align*}
\]
一般式では計算内容がわかりにくいので、具体的な例題を用いて理解を深めることにしよう。
例題
次のベクトルから、グラム・シュミットの直交化法を用いて正規直交基底をつくれ。
\[
\boldsymbol{a}_1=\left(
\begin{array}{c}
1 \\
1 \\
1
\end{array}
\right),\boldsymbol{a}_2=\left(
\begin{array}{c}
2 \\
0 \\
1
\end{array}
\right),\boldsymbol{a}_3=\left(
\begin{array}{c}
-1 \\
3 \\
0
\end{array}
\right)
\]
(解)
グラム・シュミットの直交化法より
\[
\boldsymbol{u}_1=\frac{\boldsymbol{a}_1}{\|\boldsymbol{u}_1\|}=\frac{1}{\sqrt 3}\left(
\begin{array}{c}
1 \\
1 \\
1
\end{array}
\right)
\]
$$(\boldsymbol{a}_2,\boldsymbol{u}_1)=\frac{1}{\sqrt 3}(2+1)=\sqrt{3}$$
\[\begin{align*}
\boldsymbol{b}_2&=\boldsymbol{a}_2-(\boldsymbol{a}_2,\boldsymbol{u}_1)\boldsymbol{u}_1\\&=\left(
\begin{array}{c}
2 \\
0 \\
1
\end{array}
\right)-\sqrt{3}・\frac{1}{\sqrt 3}\left(
\begin{array}{c}
1 \\
1 \\
1
\end{array}
\right)\\&=\left(
\begin{array}{c}
1 \\
-1 \\
0
\end{array}
\right)
\end{align*}\]
\[
\boldsymbol{u}_2=\frac{\boldsymbol{b}_2}{\|\boldsymbol{b}_2\|}=\frac{1}{\sqrt 2}\left(
\begin{array}{c}
1 \\
-1 \\
0
\end{array}
\right)
\]
$$(\boldsymbol{a}_3,\boldsymbol{u}_1)=\frac{1}{\sqrt 3}(-1+3)=\frac{2}{\sqrt{3}}$$
$$(\boldsymbol{a}_3,\boldsymbol{u}_2)=\frac{1}{\sqrt 2}(-1-3)=-2\sqrt{2}$$
\[\begin{align*}
\boldsymbol{b}_3&=\boldsymbol{a}_3-(\boldsymbol{a}_3,\boldsymbol{u}_1)\boldsymbol{u}_1-(\boldsymbol{a}_3,\boldsymbol{u}_2)\boldsymbol{u}_2\\&=\left(
\begin{array}{c}
-1 \\
3 \\
0
\end{array}
\right)-\frac{2}{\sqrt{3}}・\frac{1}{\sqrt 3}\left(
\begin{array}{c}
1 \\
1 \\
1
\end{array}
\right)-(-2\sqrt{2})・\frac{1}{\sqrt 2}\left(
\begin{array}{c}
1 \\
-1 \\
0
\end{array}
\right)\\&=\left(
\begin{array}{c}
-1-\frac{2}{3}+2 \\
3-\frac{2}{3}-2 \\
-\frac{2}{3}
\end{array}
\right)\\&=\frac{1}{3}\left(
\begin{array}{c}
1 \\
1 \\
-2
\end{array}
\right)
\end{align*}\]
\[
\boldsymbol{u}_3=\frac{\boldsymbol{b}_3}{\|\boldsymbol{b}_3\|}=\frac{1}{\sqrt 6}\left(
\begin{array}{c}
1 \\
1 \\
2
\end{array}
\right)
\]
以上まとめて
\[
\boldsymbol{u}_1=\frac{1}{\sqrt 3}\left(
\begin{array}{c}
1 \\
1 \\
1
\end{array}
\right),\boldsymbol{u}_2=\frac{1}{\sqrt 2}\left(
\begin{array}{c}
1 \\
-1 \\
0
\end{array}
\right),\boldsymbol{u}_3=\frac{1}{\sqrt 6}\left(
\begin{array}{c}
1 \\
1 \\
-2
\end{array}
\right)
\]
計算は単純だが計算量は多いので、ミスに注意すること。
線形代数学 内積の定義と正値性・対称性・線形性について 特別な行列の名前と定義・性質の一覧 対称行列と反対称行列の性質・分解公式 行列のn乗の計算方法ー4つのパターン サラスの公式による行列式の計算方法 余因[…]