線形代数⑬ グラム・シュミットの直交化の方法
内積の定義とグラム・シュミットの直交化の方法
基底とは?基底の変換行列と表現行列の記事で、基底というものを定義しましたが、グラム・シュミットの直交化の方法で正規直交基底を作り上げます。内積とノルムの定義
一般には内積というのは、内積の公理を満たしていればどのようにとっても良いことになってます。 (参考:内積と内積の公理)ただし、$n$成分ベクトル$\boldsymbol{a}$,$\boldsymbol{b}$に対しての内積は、多くの場合、
内積
\begin{align*}
\boldsymbol{a}\cdot\boldsymbol{b}=a_1b_1+a_2b_2+\cdots +a_nb_n=\sum_{i=1}^na_ib_i
\end{align*}
また、ノルムを以下のように定義します。
ノルム
ベクトル$\boldsymbol{a}$のノルムを以下のように定義します。
\begin{align*}
\|\boldsymbol{a}\|=\sqrt{\sum_{i=1}^n a^2_i}
\end{align*}
正規直交基底の定義
「正規」というのはノルムが1ということ、「直交」というのは内積が0ということを示します。つまり、基底$\{\boldsymbol{v}_1,\boldsymbol{v}_2,\cdots, \boldsymbol{v}_n\}$に対して、\begin{align*}
\boldsymbol{v}_i\cdot \boldsymbol{v}_j=\delta_{ij}
\end{align*}
が成り立つことを言います。ただし、右辺はクロネッカーのデルタというもので$i$$=j$のときのみ1、そのほかは0となるような基底のことを正規直交基底といいます。
グラムシュミットの方法
いま、基底$\{\boldsymbol{u}_1,\boldsymbol{u}_2,\cdots,\boldsymbol{u}_n\}$を用意します。ただし、いまはまだ正規化も直交化もされていない状態です。これらのベクトルを$\{\boldsymbol{v}_1,\boldsymbol{v}_2,\cdots,\boldsymbol{v}_n\}$という正規直交基底に変更していきます。まず、$\boldsymbol{u}_1$について、\begin{align*}
\boldsymbol{v}_1=\dfrac{\boldsymbol{u}_1}{\|\boldsymbol{u}_1\|}
\end{align*}
とすればノルムを1にできます。次に、$\boldsymbol{v}^\prime_2$を以下のようにさだめます。
\begin{align*}
\boldsymbol{v}^\prime_2=\boldsymbol{u}_2-(\boldsymbol{v}_1\cdot\boldsymbol{u}_2)\boldsymbol{v}_1
\end{align*}
ちなみに、このベクトル$\boldsymbol{v}^\prime_2$は、$\boldsymbol{v}_1$とは直交します。
実際に計算すると、
\begin{align*}
\boldsymbol{v}_1\cdot\boldsymbol{v}^\prime_2&=\boldsymbol{v}_1\cdot\boldsymbol{u}_2-(\boldsymbol{v}_1\cdot\boldsymbol{u}_2)\boldsymbol{v}_1\cdot\boldsymbol{v}_1 \\
&=\boldsymbol{v}_1\cdot\boldsymbol{u}_2-(\boldsymbol{v}_1\cdot\boldsymbol{u}_2)\|\boldsymbol{v}_1\|^2 \\
&=\boldsymbol{v}_1\cdot\boldsymbol{u}_2-\boldsymbol{v}_1\cdot\boldsymbol{u}_2 \\
&=0
\end{align*}
となります。これで$\boldsymbol{v}^\prime_2$は直交条件は満たしていますが。正規ではないので、
\begin{align*}
\boldsymbol{v}_2= \dfrac{\boldsymbol{v}^\prime_2}{\|\boldsymbol{v}^\prime_2\|}
\end{align*}
として正規化します。これを繰り返していきます。つまり、$n-1$番目のベクトルまで正規直交化が済んでいるとして、
\begin{align*}
\boldsymbol{v}^\prime_{n}&=\boldsymbol{u}_n-\sum_{i=1}^{n-1}(\boldsymbol{v}_i\cdot\boldsymbol{u}_n)\boldsymbol{v}_i \\
\boldsymbol{v}_n&=\dfrac{\boldsymbol{v}^\prime_n}{\|\boldsymbol{v}^\prime_n\|}
\end{align*}